Shell Power pre Windows

Tento skript tiež ilustruje ďalší aspekt spôsobu práce správcov. Môžete manuálne skontrolovať každý priečinok na jednotke C, ale je to pomalé a s 1 500 priečinkami na jeho správu to jednoducho nie je užitočné riešenie. Môžete tiež napísať skript na individuálnu kontrolu požadovaných súborov, ale je to krehké pretože by ste ho museli aktualizovať pri každom vytvorení nového priečinka alebo odstránení existujúceho priečinka alebo premenovaný. Odpoveďou je stráviť trochu viac času písaním všeobecného scenára, ako je znázornené vyššie.

Shell Power pre Windows

Ako sa dostať na .NET

Keď používate PowerShell, buď z príkazového riadka alebo prostredníctvom skriptov, môžete získať prístup k sile .NET tromi spôsobmi: cmdlet, nespracovaný prístup .NET alebo vylepšený prístup .NET. Príkazy PowerShell sú známe ako cmdlety a siahajú do .NET Framework, aby vám poskytli prístup k základným informáciám, ale na abstraktnejšej úrovni. Raw .NET prístup vám umožňuje volať .NET triedy priamo z PowerShell, zatiaľ čo Enhanced .NET Access poskytuje množstvo funkcií, ktoré zjednodušiť prístup k nespracovaným objektom .NET a poskytnúť bohatú sadu funkcií, z ktorých môžete čerpať pri písaní skriptov alebo používaní interaktívnych škrupina.

Môžete použiť raw .NET na získanie prístupu k nejakému surovému objektu, spracovať tento objekt pomocou Enhanced .NET prístupu a potom vytvoriť a naformátovať výstup pomocou cmdlet. Skript, ktorý som vám ukázal vyššie, robí niektoré z týchto vecí v obmedzenej miere – napríklad Vlastnosť PSISCONTAINER, ktorá sa kontroluje prvým riadkom skriptu, je príkladom Enhanced .NET prístup. PowerShell rozširuje základný objekt o pridané atribúty, v tomto prípade o boolovskú vlastnosť, ktorá označuje, či je objekt kontajnerom (t. j. priečinkom) alebo koreňovým prvkom (t. j. súborom). Potom skript používa jednoduché cmdlety ako LS a WRITE-HOST na kontrolu existencie súboru s príznakom kontrolného súčtu a na vytvorenie výstupu.

Rutiny rutiny PowerShell sú malé, atómové príkazy, ktoré môžete zadať do príkazového riadka alebo ich umiestniť do skriptu a vykonať nejakú operáciu. Názvy cmdletov používajú konvenciu pomenovávania sloveso-podstatné meno, ako napríklad GET-CHILDITEM, čo znamená, že základné cmdlety majú zvyčajne dlhé názvy. PowerShell preto poskytuje aliasy ako spôsob písania stručnejších príkazov: vo vyššie uvedenom skripte som použil alias LS ako skratku pre GET-CHILDITEM.

Rutinné rutiny odhaľujú funkčnosť .NET spôsobom, ktorý je pre správcu priateľský a ľahko použiteľný. Napríklad cmdlet GET-PROCESS je postavený nad triedou .NET SYSTEM.DIAGNOSTIC.PROCESS a jej metódou GETPROCESSES, kde nájdete ďalšie informácie o tejto triede .NET). Rutina cmdlet GET-PROCESS vracia nula, jeden alebo viac objektov procesu, ako je určené bohatou množinou vstupných parametrov, s ktorými potom môžete pracovať pomocou cmdlet STOP-PROCESS a zastaviť ich spustenie.

Zatiaľ čo programátori objektov .NET používajú výkonné, rutiny cmdlet PowerShell poskytujú a podporujú pohľad správcu na systému, napríklad dôsledným pomenovaním cmdletov a parametrov, aby ste zachovali čo najviac vašich existujúcich znalostí možné. K dispozícii je bohatá podpora zástupných znakov pre pomenovanie objektov, ktorá umožňuje písať príkazy, ktoré sú zrnité aj stručné. Podporuje tiež kontrolu akcií, ktoré môžu mať nebezpečné vedľajšie účinky, takže môžete použiť parametre -WHATIF a -CONFIRM v cmdletoch, ako je STOP-PROCESS.

Na získanie objektov, na ktorých chcete pracovať, zvyčajne používate cmdlety, ktorých názvy začínajú GET-, takže GET-PROCESS získa aktívne procesy, GET-HELP pomoc, GET-SERVICE služby atď. Keď máte objekt, s ktorým chcete manipulovať, môžete si prečítať alebo aktualizovať jeho vlastnosti a použiť iné cmdlety na vykonanie operácie na ňom – ak máte súbor procesov pomocou GET-PROCESS, môžete jeden alebo viac z nich zastaviť pomocou STOP-PROCESS. PowerShell poskytuje veľkú sadu cmdletov na generovanie výstupu, ktoré zahŕňajú EXPORT-CLIXML, FORMAT-TABLE, FORMAT-LIST, WRITE-LOG, WRITE-HOST.