Kombini Powershell, ki bodo izboljšali vaše skrbniške sposobnosti sistema Windows

Kombini Powershell, ki bodo izboljšali vaše skrbniške sposobnosti sistema Windows

Powershell je odličen način za nov kodirnik za začetek delovanja v sistemu Windows. Powershell je orodje ukazne vrstice in skriptni jezik v enakih delih. Omogoča vam avtomatizacijo računalnika prek istih ukazov, ki jih uporabljate za upravljanje . Če imate sodoben sistem Windows, že imate Powershell. Večina njegovih uporab je osredotočenih na Windows, vendar lahko Powershell namestite tudi na računalnik Mac ali Linux.





Delo s Powershell -om

Powershell lahko uporabljate na dva načina. Obstaja osnovno okno ukazne vrstice, ki se uporablja za izvajanje ukazov ali priklic vnaprej napisanih skriptov. Potem je tu še ISE, ki združuje okno CLI z osnovnim razvojnim okoljem. S tem lahko napišete in preizkusite svoje skripte.





ISE ima seznam ukazov za iskanje in lahko uporabite njegovo terminalsko okno brez odprte datoteke. Seznam ukazov vam omogoča, da sestavite ukaz in ga vstavite. Če se ukvarjate z naprednejšim razvojem, namestite Microsoftovo kodo Visual Studio. Koda vključuje podporo za nadzor različic Git in druge jezike.





Powershell je edinstven po tem, da je v celoti sestavljen iz ukazov, Microsoft jih imenuje Cmdlets. Ti ukazi so enaki, če delate prek ukazne vrstice ali pišete zapletene skripte. Ko uporabljate te ukaze, lahko razmišljate, kako jih zložiti skupaj, da ustvarite svoje prve skripte.

Osnove: Get-Command, Get-Help, Get-Member

Vsi ukazi Powershell imajo obliko glagola-samostalnika. Glagoli so običajno: Pridobite, nastavite in novo .



Get-Command omogoča ogled vseh razpoložljivih ukazov. Ko zaženete Get-Command, vidite, da je na voljo ogromno ukazov.

Če se poglobimo samo v imena ukazov, začneš videti, da imajo vsi podobno strukturo. Pokličete jih po imenu, tako kot pri Get-Command. Z uporabo parametrov se spremenijo informacije, ki jih dobite. Če pa ste kdaj uporabili ukaz s privzetimi možnostmi, kako ugotovite, kako uporabljati napredne parametre?





Uporabljati Poišči pomoč cmdlet z Get-Command prikaže več informacij o cmdletu. Cmdlet uporabljamo z naslednjo skladnjo:

Get-Help Get-Command

Nato boste videli osnovne podatke o parametrih. Če želite videti podrobnosti parametrov in nekaj primerov uporabe, dodajte parameter -Full.





Če si želite ogledati samo primere, lahko zaženete:

Get-Help Get-Command -Examples

Ta cmdlet vrne samo primere iz datoteke za pomoč. Ti primeri so zelo koristni, saj vsebujejo opise. To besedilo pomoči razlaga, kaj cmdlet in parametri počnejo med izvajanjem.

Če želite datoteko pomoči prikazati v ločenem oknu, jo lahko uporabite -ShowWindow . Če torej zaženete:

Get-Help Get-Command -ShowWindow

Powershell prikaže okno s celotno datoteko pomoči. Parametra Full tukaj ni treba uporabiti, saj okno povleče celoten članek.

Ko boste napredovali s Powershell-om, boste ugotovili, da Get-Member uporabljate pogosteje. To je preprost način, da vidite, katera polja so na voljo iz vrnjenih podatkov, pa tudi druge metode, ki jih lahko zaženete. Pogosto imajo cmdleti datoteko -Lastnina parameter, ki vam omogoča, da jih pokličete.

Delo z datotekami: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Zdaj, ko imate predstavo o tem, kako delujejo cmdleti in kako poiskati pomoč, naredimo spremembe. Vsebino katere koli mape lahko dobite z Get-ChildItem ukaz. Na primer, s črko pogona lahko dobite datoteke celotnega pogona. Vnesite:

Get-ChildItem E:

Kar je okrajšava za:

Get-ChildItem -Path E:

Ko zaženete ta ukaz, dobite seznam datotek z zadnjim časom pisanja, velikostjo pod lastnostjo Dolžina, Ime in način. Način je atribut datoteke ali mape. Možni vnosi so:

  • Le za branje
  • Skrita
  • Sistem
  • Imenik
  • Arhiv
  • Naprava
  • Normalno
  • Začasno
  • SparseFile
  • ReparsePoint
  • Stisnjen
  • Brez povezave
  • NotContentIndexed
  • Šifrirano

Če želite pridobiti vsebino vseh podimenikov na poti, uporabite datoteko -Ponovi parameter. Torej zaženite:

Get-ChildItem -Path E: -Recurse

Vaše datoteke se nato prikažejo kot ločeni seznami za vsako mapo na poti.

Za omejitev vrnjenih podatkov lahko uporabite nekaj različnih parametrov: -Mapa , -Skriti , in -Le za branje . Če želite filtrirati imena datotek, lahko v parametru Path uporabite nadomestne znake. Če želite vrniti vse datoteke .doc v imenik, vnesite:

Get-ChildItem -Path E:*.doc

Še enkrat dodaj -preklic če bi želeli vse tudi iz podmap.

Če želite izbrisati datoteko, uporabite:

Remove-Item -Path E:OldFile.txt

Če želite preskočiti potrditev vsake datoteke, dodajte parameter -Potrdite $ false (Powershell ima za logične vrednosti dve konstanti: $ true in $ false). Če želite prisilno odstraniti datoteke samo za branje ali skrite datoteke, uporabite -Sila parameter.

Premikanje datotek je prav tako enostavno. Če želite premakniti vse iz bliskovnega pogona na lokalni pogon v mapi, uporabite:

Move-Item -Path E:* -Destination C:FlashDriveArchive

Posamezno datoteko lahko poimenujete tudi v -Path, če želite samo premakniti to datoteko. Če želite datoteko kopirati, namesto da bi jo premaknili, uporabite isto sintakso z datoteko Kopiraj-element cmdlet.

Spremljanje in delo s procesi in storitvami

Vsak Uporabnik sistema Windows pozna upravitelja opravil . Obstaja pa hitrejši način za ogled trenutno izvajanih procesov iz Powershella, Get-Process . Če želite vedeti, kaj pomenijo vsi vnosi v tej tabeli, prenesite ukaz v Get-Member . Vnesite cmdlet:

Get-Process | Get-Member

Get-member prikaže seznam metod in lastnosti, povezanih z Get-Process. Podatki na vrhu vas zanimajo. Vidite, da imajo različne vrste pomnilnika vzdevke.

Iz tega izida lahko vidimo tudi, da lahko dobimo Izdelek lastnost, da pridobijo prijaznejše ime za procese. Spremenite izhod, tako da bo imel boljše informacije za delo:

povezan, vendar brez dostopa do interneta Windows 10
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Več informacij o Select-Object in Sort-Object je v naslednjem razdelku.)

Zdaj, ko imate ID iz ukaza Get-Process, ga lahko ustavite z ukazno kodo Stop-Process. Če torej ugotovite, da postopek Chrome žre vse vaše vire, poiščite ID v prejšnjem ukazu. Nato zaženite:

Stop-Process -ID 45960

Zamenjati 49560 z ID -jem vašega vira.

S potjo datoteke lahko začnete postopek z uporabo Powershell. Če želite zagnati Chrome, zaženite naslednji ukaz:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(Navedbe okoli poti do datoteke morajo biti zaradi presledkov.) -ArgumentList parameter vam omogoča, da aplikaciji posredujete možnosti ukazne vrstice. V primeru Chroma ga lahko prisilite, da se zažene v načinu brez beleženja zgodovine z uporabo -brez beleženja zgodovine zastavo. Celotna ukazna vrstica je:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

Večino teh stvari lahko storite s storitvami. Pridobite storitev prikaže seznam vseh storitev, ki se izvajajo v vašem računalniku. Enako lahko uporabite pri zagonu in ustavitvi storitev Start-Service in Stop-storitev .

Delo s podatki: Sort-Object, Select-Object, Where-Object

Ko delate s podatki iz cmdlet -a, morda ni vedno želeno naročilo. V teh primerih želite uporabiti Razvrsti-Objekt . Sort-Object lahko pokličete na spremenljivko, ki ste jo ustvarili, vendar se predvsem uporablja s prenosom druge cmdlet. Tako kot v zgornjem primeru, prenesemo izhod enega predmeta v drugega in ga razvrstimo. Ustvarimo niz treh naključnih števil in ga prenesite v Sort-Object.

Karkoli v oklepajih teče najprej. Ustvarite preprosto matriko z:

$(Get-Random), $(Get-Random), $(Get-Random)

Upoštevajte vejice, ki ločujejo vrednosti. Če si želite ogledati razvrščanje naključnih števil:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

Cmdlet prikaže številke od najmanjšega do največjega, če ga želite obrniti, dodajte -padajoče .

Ko posredujete cmdlete v Get-Member, je več lastnosti kot privzeti izhod. Izberete posebne lastnosti z uporabo Izberi objekt .

Tako kot Sort-Object uporabljate Select-Object prek vmesne ukazne enote. Če želite na primer ustvariti tabelo storitev in njihov status, uporabite:

Get-Service | Select-Object DisplayName, Status

Medtem ko je izpis vseh teh podatkov lep, kaj pa, če želite videti le določene podatke? Get-ChildItem ima vgrajeno filtriranje, večina ukazov pa ne. V teh primerih uporabite Kje-Objekt .

Če se spet vrnemo k storitvam, boste tokrat dobili samo tekoče storitve. Vnesite cmdlet:

Get-Service | Where-Object Status -eq 'Running'

To -ekv v primerjavi je Powershell za = . V Powershellu primerjate s črkovnimi kombinacijami:

  • eq: enako
  • ne: ni enako
  • lt: manj kot
  • gt: več kot
  • ge: večje ali enako
  • le: manjše ali enako
  • kot: uporabite kot pri primerjavah z nadomestnimi znaki

Pomoč pri oblikovanju: Format-Table in Format-List.

Za te različne cmdlete je bila večina izhodnih podatkov v obliki tabel. To prikaže podatke v vrsticah in stolpcih z glavami. Če želite posamezne vnose navesti z njihovimi lastnostmi, posredujte cmdlet v Format-List .

Včasih imate izhod, ki je preširok za okno Powershell. Ko se to zgodi, ga Powershell prisili v izhod seznama. Da se prepričate, da ga hranite v obliki zapisa tabele, v katerega se prikaže vaš izhod Oblika-tabela .

Od ukazne vrstice do skriptiranja: naslednji koraki

Ko vam je udobno, morate pri pisanju skriptov vnesti cmdlet v besedilno datoteko in jo shraniti. Če ste nervozni pri poskusu skriptiranja, naj vam ne bo. Microsoft ima ogromno dokumentacije za vsak cmdlet. To je poleg tiste že obsežne dokumentacije pomoči, zato si oglejte Technet [Ni več na voljo].

Če se učite Powershell -a, nam v komentarjih sporočite, kaj ste najbolj navdušeni. Če imate malo več izkušenj, bi radi slišali o naprednejših temah, ki bi jih radi videli.

Deliti Deliti Cvrkutati E-naslov Izbrišite te datoteke in mape Windows, da sprostite prostor na disku

Ali morate v računalniku s sistemom Windows počistiti prostor na disku? Tu so datoteke in mape Windows, ki jih je mogoče varno izbrisati, da sprostite prostor na disku.

Preberite Naprej
Sorodne teme
  • Windows
  • Programiranje
  • PowerShell
  • Skriptiranje
O avtorju Michael McConnell(44 objavljenih člankov)

Michael ni bil uporabljen Mac, ko sta bila obsojena, vendar lahko kodira v Applescriptu. Diplomiral je iz računalništva in angleščine; že nekaj časa piše o Mac, iOS in video igrah; in že več kot desetletje je dnevni opica IT, specializiran za skriptiranje in virtualizacijo.

Več od Michaela McConnella

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti