5 Cmdlets na začiatok s PowerShell
PowerShell sa rýchlo stáva preferovaným skriptovacím jazykom a CLI Power Users a IT Pros. Stojí za to, aby ste sa naučili niekoľko príkazov, aby ste mohli začať, takže máme 5 užitočných rutín, ktoré sa dnes môžete naučiť.
Get-Command
Get-Command je jedným z najužitočnejších cmdletov v celom PowerShell, pretože vám pomôže zoznámiť sa s PowerShell tým, že vám umožní vyhľadať určité cmdlety. Použitie nástroja Get-Command samo osebe nie je príliš užitočné, pretože len vyčnieva každý príkaz, ktorý má PowerShell.
Z tohto však môžeme vidieť, že objekty, ktoré majú výstupy PowerShell, majú vlastnosť Name a ModuleName. Pomocou týchto informácií môžeme jemne zjemniť naše vyhľadávanie vyhľadávaním rutín, ktoré obsahujú určité termíny. Napríklad, ak by som chcel nájsť všetky rutiny obsahujúce slovo "IP", mohol by som to urobiť:
Get-príkaz -Mame * IP *
Ako môžete vidieť, stále máme dostatok výsledkov, našou ďalšou možnosťou je vyhľadávanie v rámci konkrétneho modulu. V našom prípade vyberiem modul NetTCPIP.
Get-Command -Module NetTCPIP -Name * IP *
Get-Help
Akonáhle ste našli cmdlet hľadáte pomocou Get-Command, budete chcieť poznať syntax a ako môžete použiť tento špecifický cmdlet. Toto je miesto, kde prichádza služba Get-Help, ak ste niekedy používali príkazový riadok v systéme Windows, ste pravdepodobne urobili niečo také:
ipconfig /?
No to nefunguje v PowerShell, je to preto, že v PowerShell sa priestor oddeľuje príkaz od jeho parametrov. Takže namiesto toho používame Get-Help a odovzdáme názov rutín na Get-Help ako parameter.
Get-Help Get-Process
Get-Člen
Get-Member nám umožňuje získať informácie o objektoch, ktoré sa vracajú v rutinách. Úlovok s get-členom je, že sa spolieha na funkciu potrubia PowerShell, aby to preukázal, že môžeme použiť Get-Process cmdlet.
Ako vidíte, výstup PowerShell nám ukazuje niektoré vlastnosti, ktoré môžete vidieť v hornej časti každého stĺpca. Prvým problémom je, že aj keď sú to vlastnosti, ktoré by ste väčšinu času hľadali, je ich ešte stále viac. Druhým problémom je, že nevykazuje žiadne metódy, ktoré môžeme na objekt zavolať. Ak chcete vidieť metódy a vlastnosti, môžeme našu produkciu dostať na stránku Get-Member, a to takto:
Get-Process Get-Člen
Aj keď to môže znamenať niečo pre vás práve teraz, skôr alebo neskôr budete musieť použiť Get-Member, a čím skôr sa naučíte ho používať, tým lepšie. Napríklad pomocou informácií z výstupu sme mohli urobiť niečo ako:
Štart-Process notepad.exe
$ NotepadProc = Get-Process -Name notepad
$ NotepadProc.WaitForExit ()
Spustiť proces Calc.exe
Tento skript spustí poznámkový blok, potom priradí výstup k "premennej NotepadProc" na "Get-Process-name notepad", potom voláme metódu WaitForExit na $ NotepadProc, čo spôsobí, že skript sa pozastaví, kým nezatvoríte poznámkový blok, potom sa spustí kalkulačka.
$ _ (Súčasný objekt potrubia)
Aj keď nie je to presne cmdlet, je to jedna z najpoužívanejších špeciálnych premenných v PowerShell. Oficiálny názov pre $ _ je "aktuálny objekt potrubia". Používa sa v blokoch skriptov, filtroch, procesných klauzulách funkcií, kde-objektu, foreach-objektu a prepínače. Je však ľahšie vysvetliť s príkladom, ktorý nás privádza k nášmu ďalšiemu a poslednému cmdletu Kde-Object.
Kde-Object
Kde objekt robí presne to, čo znie, vyberá objekt podľa toho, či spĺňa určité kritériá. Spojí to $ _ a vlastnosti, ktoré môžeme vidieť pomocou nástroja Get-Member. Aby sme to preukázali, budeme odovzdávať výstup Get-Process do cmdletu Kde-Object.
Get-Process Kde-Object $ _. Názov -eq "iexplore"
Takže čo sa tu deje? Prvá vec, ktorú robíme, je získanie zoznamu procesov v našom počítači a odoslanie výstupu (pomocou znaku |) do nášho cmdletu Kde-Object, ktorý berie blok bloku ako parameter. Blok skriptov (definovaný skrútenými zátvorkami) poukazuje na to, kde sa objektové rutiny vyberú iba v objektoch, v ktorých sa ich parameter menovite rovná "iexplore", takže dostaneme len zoznam spúšťaných inštancií IE. To je všetko, čo je k tomu, bavte sa!