Rutiny Powershell, ktoré zlepšia vaše zručnosti správcu systému Windows

Rutiny Powershell, ktoré zlepšia vaše zručnosti správcu systému Windows

Powershell je perfektný spôsob, ako nový kodér začať v systéme Windows. Powershell je nástroj príkazového riadka a skriptovací jazyk. To vám dáva možnosť automatizovať váš počítač pomocou rovnakých príkazov, aké používate na jeho správu . Ak máte moderný systém Windows, Powershell už máte. Väčšina jeho použití je zameraná na Windows, ale Powershell môžete nainštalovať aj na počítač Mac alebo Linux.





Práca s Powershell

Powershell môžete použiť dvoma spôsobmi. K dispozícii je základné okno príkazového riadka, ktoré sa používa na spúšťanie príkazov alebo vyvolávanie vopred napísaných skriptov. Potom je tu ISE, ktorý kombinuje okno CLI so základným vývojovým prostredím. Pomocou toho môžete písať a testovať svoje skripty.





ISE má prehľadávateľný zoznam príkazov a jeho terminálne okno môžete používať bez otvorenia súboru. Zoznam príkazov vám umožňuje zostaviť príkaz a vložiť ho. Ak robíte pokročilejší vývoj, nainštalujte si kód Visual Studio od spoločnosti Microsoft. Kód obsahuje podporu pre správu verzií Git a ďalšie jazyky.





Powershell je jedinečný v tom, že je postavený výlučne na príkazoch, Microsoft ich nazýva Cmdlets. Tieto príkazy sú rovnaké, ak pracujete pomocou príkazového riadka alebo píšete zložité skripty. Pri používaní týchto príkazov teda môžete premýšľať o tom, ako ich spojiť a vytvoriť prvé skripty.

Základ: Get-Command, Get-Help, Get-Member

Všetky príkazy Powershell majú formu slovesa. Slovesá sú zvyčajne: Získať, nastaviť a nové .



Získajte príkaz umožňuje zobraziť všetky dostupné príkazy. Pri spustení príkazu Get-Command vidíte, že existuje veľa príkazov, ktoré začínajú týmito príkazmi.

Keď sa pozrieme ďalej len na názvy rutín, začnete vidieť, že všetky majú podobnú štruktúru. Vyvoláte ich menom, rovnako ako v prípade príkazu Get-Command. Použitím parametrov sa zmení, aké informácie získate. Ak ste však niekedy použili príkaz iba s predvolenými možnosťami, ako zistíte, ako používať rozšírené parametre?





Pomocou Získať pomoc cmdlet s príkazom Get-Command zobrazuje ďalšie informácie o rutine cmdlet. Rutinu používame s nasledujúcou syntaxou:

Get-Help Get-Command

Potom uvidíte základné informácie o parametroch. Ak chcete vidieť podrobnosti o parametroch a niektoré príklady použitia, pridajte parameter -Úplný.





Ak chcete vidieť iba príklady, môžete spustiť:

Get-Help Get-Command -Examples

Táto rutina cmdlet vracia iba príklady zo súboru pomocníka. Tieto príklady sú veľmi užitočné, pretože obsahujú popisy. Tento text pomocníka vysvetľuje, čo robí rutina cmdlet a parametre pri spustení.

Ak chcete vysunúť súbor pomocníka do samostatného okna, môžete použiť -ShowWindow . Ak teda spustíte:

Get-Help Get-Command -ShowWindow

Powershell vyskočí z okna so súborom úplnej pomoci. Tu nemusíte používať parameter Full, pretože okno stiahne celý článok.

Ako budete s Powershellem pokročilejší, zistíte, že Get-Member používate častejšie. Je to jednoduchý spôsob, ako zistiť, ktoré polia sú k dispozícii z vrátených údajov, ako aj ďalšie metódy, ktoré môžete spustiť. Rutiny často budú mať a -Nehnuteľnosť parameter, ktorý vám umožní tieto volať.

Práca so súbormi: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Teraz, keď máte predstavu o tom, ako rutiny fungujú a ako získať pomoc, urobme zmeny. Obsah ľubovoľného priečinka môžete získať pomocou súboru Get-ChildItem príkaz. Pomocou písmena jednotky môžete napríklad získať súbory z celej jednotky. Zadajte:

Get-ChildItem E:

Čo je skratka pre:

Get-ChildItem -Path E:

Po spustení tohto príkazu získate zoznam súborov s časom posledného zápisu, veľkosťou pod vlastnosťou Dĺžka, názvom a režimom. Režim sú atribúty súboru alebo priečinka. Možné položky sú:

  • Iba na čítanie
  • Skryté
  • Systém
  • Adresár
  • Archív
  • Zariadenie
  • Normálne
  • Dočasné
  • Riedky súbor
  • ReparsePoint
  • Stlačené
  • Offline
  • NotContentIndexed
  • Šifrované

Ak chcete dostať obsah všetkých podadresárov na cestu, chcete použiť príponu -Recurse parameter. Potom spustite:

Get-ChildItem -Path E: -Recurse

Vaše súbory potom vyjdú ako samostatné zoznamy pre každý priečinok na ceste.

Na obmedzenie vrátených údajov môžete použiť niekoľko rôznych parametrov: -Súbor , -Skrytý a -Iba na čítanie . Ak chcete filtrovať názvy súborov, v parametri Cesta môžete použiť zástupné znaky. Ak chcete vrátiť všetky súbory .doc v adresári, zadajte:

Get-ChildItem -Path E:*.doc

Opäť pridať -rekurz keby ste chceli všetko aj z podpriečinkov.

Ak chcete súbor odstrániť, použite:

Remove-Item -Path E:OldFile.txt

Ak chcete preskočiť potvrdzovanie každého súboru, pridajte parameter -Potvrďte $ false (Powershell má pre booleovské hodnoty dve konštanty: $ true a $ false). Ak chcete vynútiť odstránenie súborov iba na čítanie alebo skrytých súborov, použite príponu -Sila parameter.

Presúvanie súborov je rovnako jednoduché. Na presunutie všetkého z disku Flash na miestny disk v priečinku použite:

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

Môžete tiež pomenovať jeden súbor v aplikácii -Path, aby sa tento súbor iba presunul. Ak chcete súbor skopírovať, a nie ho presunúť, použite rovnakú syntax ako Kopírovať položku cmdlet.

Monitorovanie a práca s procesmi a službami

Každý Užívateľ systému Windows pozná Správcu úloh . Existuje však rýchlejší spôsob, ako vidieť aktuálne spustené procesy z Powershell, Get-Process . Ak chcete vedieť, čo znamenajú všetky položky v tejto tabuľke, zadajte príkaz do Get-Member . Zadajte rutinu:

Get-Process | Get-Member

Get-member vypíše zoznam metód a vlastností spojených s Get-Process. Informácie v hornej časti sú to, čo vás zaujíma. Vidíte, že rôzne typy pamäte majú aliasy.

Z tohto výstupu tiež vidíme, že môžeme získať súbor Výrobok majetok, aby ste získali príjemnejšie pomenovanie procesov. Zmeňme výstup, aby mal lepšie informácie, s ktorými môžeme pracovať:

ako odstrániť zlom stránky vo Worde
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Viac informácií o Select-Object a Sort-Object nájdete v ďalšej časti.)

Teraz, keď máte ID z príkazu Get-Process, môžete ho zastaviť pomocou rutiny cmdlet Stop-Process. Ak teda zistíte, že proces Chrome žerie všetky vaše zdroje, vyhľadajte ID v predchádzajúcom príkaze. Potom spustite:

Stop-Process -ID 45960

Vymeňte 49560 s ID vášho prasa zdrojov.

Pomocou cesty k súboru môžete začať proces pomocou Powershell. Na spustenie prehliadača Chrome spustite nasledujúci príkaz:

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

(Kvôli medzerám musíte mať úvodzovky okolo cesty k súboru.) -ArgumentList parameter vám umožňuje odovzdať aplikácii možnosti príkazového riadka. V prípade prehliadača Chrome ho môžete prinútiť spustiť v režime inkognito pomocou -inkognito vlajka. Celá rutina je:

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

Väčšinu z týchto istých vecí môžete vykonávať pomocou služieb. Získať servis vám zobrazí zoznam všetkých služieb bežiacich na vašom počítači. To isté platí pre služby Spúšťanie a zastavovanie, ktoré môžete použiť Štart-servis a Stop-servis .

Práca s údajmi: Zoradiť-Objekt, Vybrať-Objekt, Kde-Objekt

Pri práci s údajmi z rutiny cmdlet nemusí byť vždy požadované poradie. V týchto prípadoch chcete použiť Zoradiť objekt . Sort-Object môžete zavolať na premennú, ktorú ste vytvorili, ale primárne sa používa prepojením ďalšej rutiny cmdlet. Rovnako ako vo vyššie uvedenom príklade, prepájame výstup jedného objektu do druhého a triedime ho. Vytvoríme pole troch náhodných čísel a vložíme ho do triediaceho objektu.

Čokoľvek v zátvorke beží ako prvé. Vytvorte jednoduché pole pomocou:

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

Nezabudnite si všimnúť čiarky oddeľujúce hodnoty. Ak chcete vidieť beh náhodných čísel:

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

Rutina zobrazí čísla od najmenšieho po najväčšie, ak ho chcete obrátiť, pridajte -Zostupne .

Keď presúvate rutiny cmdlet do Get-Member, existuje viac vlastností ako predvolený výstup. Špecifické vlastnosti vyberiete pomocou Select-Object .

Rovnako ako Sort-Object, aj Select-Object používate cez piped cmdlet. Napríklad na vygenerovanie tabuľky služieb a ich stavu použite:

Get-Service | Select-Object DisplayName, Status

Aj keď je výstup všetkých týchto údajov príjemný, čo keď chcete vidieť iba konkrétne údaje? Get-ChildItem má v sebe zabudované filtrovanie, ale väčšina príkazov nie. V týchto prípadoch používate Kde-objekt .

Vrátime sa opäť k službám, tentoraz sa chystáte iba k spusteniu služieb. Zadajte rutinu:

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

To -ekv v porovnaní je Powershell pre = . V Powershell vykonávate porovnania s kombináciami písmen:

  • rovnica: rovná sa
  • ne: nerovný
  • lt: menej ako
  • gt: väčší ako
  • ge: väčšie alebo rovné
  • le: menšie alebo rovné
  • ako: použiť ako pri porovnávaní zástupných znakov

Pomocník pri formátovaní: Tabuľka formátov a Zoznam formátov.

Pre tieto rôzne rutiny cmdlet bola väčšina výstupu vo forme tabuliek. Údaje sa zobrazujú v riadkoch a stĺpcoch s hlavičkami. Ak chcete položky uvedené jednotlivo s ich vlastnosťami zobraziť jednotlivo, presuňte rutinu rutiny do Zoznam formátov .

Niekedy máte výstup, ktorý je pre okno Powershell príliš široký. Keď sa to stane, Powershell ho vynúti do výstupu zoznamu. Aby ste sa uistili, že ho ponecháte v kanáli formátu tabuľky, do ktorého je váš výstup Tabuľka formátov .

Od príkazového riadka k skriptovaniu: ďalšie kroky

Akonáhle vám to bude príjemné, skriptovanie je záležitosťou zadania rutín cmdlet do textového súboru a ich uloženia. Ak ste nervózni zo skriptovania, nemusí. Microsoft má obrovské množstvo dokumentácie o každej rutine cmdlet. Toto je nad rámec už aj tak zdĺhavej dokumentácie pomocníka, preto sa pozrite na Technet [Už nie je k dispozícii].

Ak sa učíte Powershell, dajte nám vedieť v komentároch, z čoho sa najviac tešíte. Ak máte trochu viac skúseností, radi by sme sa dozvedeli o pokročilejších témach, ktoré by ste chceli pokryť.

zdieľam zdieľam Tweet E -mail Odstráňte tieto súbory a priečinky systému Windows, aby ste uvoľnili miesto na disku

Potrebujete uvoľniť miesto na disku v počítači so systémom Windows? Tu sú súbory a priečinky Windows, ktoré je možné bezpečne odstrániť, aby sa uvoľnilo miesto na disku.

Čítajte ďalej
Súvisiace témy
  • Windows
  • Programovanie
  • PowerShell
  • Skriptovanie
O autorovi Michael McConnell(44 publikovaných článkov)

Michael nepoužil Mac, keď boli odsúdení na zánik, ale vie kódovať v Applescripte. Vyštudoval počítačovú vedu a angličtinu; už nejaký čas píše o počítačoch Mac, iOS a videohrách; a viac ako desať rokov je dennou opicou v oblasti IT a špecializuje sa na skriptovanie a virtualizáciu.

Viac od Michaela McConnella

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber