Rutiny Powershell, které zlepší vaše dovednosti správce systému Windows

Rutiny Powershell, které zlepší vaše dovednosti správce systému Windows

Powershell je perfektní způsob, jak nový kodér začít používat ve Windows. Powershell je nástroj příkazového řádku a skriptovací jazyk se stejnými částmi. To vám dává možnost automatizovat váš počítač pomocí stejných příkazů, které používáte k jeho správě . Pokud máte moderní systém Windows, Powershell již máte. Většina jeho použití je zaměřena na Windows, ale Powershell můžete nainstalovat i na počítač Mac nebo Linux.





Práce s Powershell

Powershell lze použít dvěma způsoby. K dispozici je základní okno příkazového řádku, které slouží ke spouštění příkazů nebo vyvolání předem napsaných skriptů. Pak je tu ISE, který kombinuje okno CLI se základním vývojovým prostředím. Pomocí toho můžete psát a testovat skripty.





ISE má prohledávatelný seznam příkazů a jeho Terminálové okno můžete používat bez otevření souboru. Seznam příkazů vám umožňuje sestavit příkaz a vložit jej. Pokud provádíte pokročilejší vývoj, nainstalujte si Microsoft Visual Studio Code. Kód obsahuje podporu pro správu verzí Git a další jazyky.





Powershell je jedinečný v tom, že je postaven výhradně z příkazů, Microsoft jim říká Cmdlets. Tyto příkazy jsou stejné, pokud pracujete pomocí příkazového řádku nebo píšete složité skripty. Při používání těchto příkazů tedy můžete přemýšlet o tom, jak je spojit dohromady a vytvořit tak své první skripty.

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

Všechny příkazy Powershell mají podobu slovesa. Slovesa jsou obvykle: Získat, nastavit a nové .



Get-Command umožňuje zobrazit všechny dostupné příkazy. Při spuštění Get-Command uvidíte, že existuje spousta příkazů, které začínají na tyto.

Když se podíváte dále jen na názvy rutin, začnete vidět, že všechny mají podobnou strukturu. Vyvoláváte je jménem, ​​stejně jako u Get-Command. Pomocí parametrů se mění, jaké informace získáte. Pokud jste však někdy použili pouze příkaz s výchozími možnostmi, jak zjistíte, jak používat pokročilé parametry?





Za použití Získejte pomoc cmdlet s příkazem Get-Command zobrazuje více informací o rutině. Rutinu používáme s následující syntaxí:

Get-Help Get-Command

Poté uvidíte základní informace o parametrech. Pokud chcete zobrazit podrobnosti o parametrech a některé příklady použití, přidejte parametr -Full.





Pokud chcete vidět pouze Příklady, můžete spustit:

Get-Help Get-Command -Examples

Tato rutina vrací pouze příklady ze souboru nápovědy. Tyto příklady jsou velmi užitečné, protože obsahují popisy. Tento text nápovědy vysvětluje, co rutina a parametry dělají při spuštění.

Pokud chcete vysunout soubor nápovědy do samostatného okna, můžete použít -Ukaž okno . Pokud tedy spustíte:

Get-Help Get-Command -ShowWindow

Powershell vyskočí z okna se souborem úplné nápovědy. Zde nemusíte používat parametr Full, protože okno stáhne celý článek.

Jak budete s Powershellem pokročilejší, zjistíte, že Get-Member používáte častěji. Je to snadný způsob, jak zjistit, která pole jsou k dispozici z vrácených dat, a také další metody, které můžete spustit. Rutiny často budou mít příponu -Vlastnictví parametr, který vám umožní je volat.

Práce se soubory: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Nyní, když máte nějakou představu o tom, jak rutiny fungují a jak získat pomoc, pojďme provést změny. Obsah libovolné složky můžete získat pomocí Get-ChildItem příkaz. Například můžete získat soubory celé jednotky pomocí písmene jednotky. Zadejte:

Get-ChildItem E:

Což je zkratka pro:

Get-ChildItem -Path E:

Když spustíte tento příkaz, získáte seznam souborů s časem posledního zápisu, velikostí pod vlastností Length, názvem a režimem. Režim je atributy souboru nebo složky. Možné položky jsou:

  • Pouze ke čtení
  • Skrytý
  • Systém
  • Adresář
  • Archiv
  • přístroj
  • Normální
  • Dočasný
  • ŘídkýSoubor
  • ReparsePoint
  • Stlačený
  • Offline
  • NotContentIndexed
  • Šifrováno

Pokud chcete dostat obsah všech podadresářů do cesty, chcete použít -Recurse parametr. Takže spusťte:

Get-ChildItem -Path E: -Recurse

Vaše soubory pak vyjdou jako samostatné seznamy pro každou složku v cestě.

Chcete -li omezit vrácená data, můžete použít několik různých parametrů: -Soubor , -Skrytý , a -Pouze ke čtení . Pokud chcete filtrovat názvy souborů, můžete v parametru Path použít zástupné znaky. Chcete -li vrátit všechny soubory .doc v adresáři, zadejte:

Get-ChildItem -Path E:*.doc

Opět přidat -rekurz pokud byste také chtěli všechno z podsložek.

Pokud chcete soubor odstranit, použijte:

Remove-Item -Path E:OldFile.txt

Chcete -li přeskočit potvrzení každého souboru, přidejte parametr -Potvrďte $ false (Powershell má pro booleovské hodnoty dvě konstanty: $ true a $ false). Chcete-li vynutit odebrání souborů jen pro čtení nebo skrytých souborů, použijte -Platnost parametr.

Přesouvání souborů je stejně snadné. Chcete -li přesunout vše z jednotky Flash na místní disk ve složce, použijte:

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

Můžete také pojmenovat jeden soubor v -Path a přesunout pouze tento soubor. Chcete -li soubor zkopírovat, nikoli jej přesunout, použijte stejnou syntaxi jako soubor Kopírovat položku cmdlet.

Monitorování a práce s procesy a službami

Každý Uživatel Windows zná Správce úloh . Existuje však rychlejší způsob, jak zobrazit aktuálně spuštěné procesy z Powershell, Získat-zpracovat . Pokud chcete vědět, co všechny položky v této tabulce znamenají, vložte příkaz do Získat člena . Zadejte rutinu:

Get-Process | Get-Member

Get-member výstupy seznamu metod a vlastností spojených s Get-Process. Informace nahoře jsou to, co vás zajímá. Vidíte, že různé typy paměti mají aliasy.

Z tohoto výstupu také vidíme, že můžeme získat Produkt vlastnost, aby procesy získaly přívětivější název. Pojďme změnit výstup, aby měl lepší informace, se kterými můžeme pracovat:

kolik stojí youtube red
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Více informací o Select-Object a Sort-Object je v další části.)

Nyní, když máte ID z příkazu Get-Process, můžete ho zastavit pomocí rutiny Stop-Process. Pokud tedy zjistíte, že proces Chrome žvýká všechny vaše zdroje, najděte ID v předchozím příkazu. Poté spusťte:

Stop-Process -ID 45960

Nahradit 49560 s ID vašeho prase zdrojů.

Pomocí cesty k souboru můžete spustit proces pomocí Powershell. Chrome spustíte spuštěním následujícího příkazu:

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

(Kvůli mezerám musíte mít uvozovky kolem cesty k souboru.) The -ArgumentList parametr umožňuje předat aplikaci možnosti příkazového řádku. V případě prohlížeče Chrome můžete vynutit jeho spuštění v anonymním režimu pomocí --inkognito vlajka. Celá rutina je:

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

Většinu těchto stejných věcí můžete dělat se službami. Get-Service zobrazí seznam všech služeb běžících na vašem počítači. Stejně jako služby Spuštění a Zastavení můžete použít Start-servis a Stop-servis .

Práce s daty: Sort-Object, Select-Object, Where-Object

Když pracujete s daty z rutiny, nemusí to vždy být požadované pořadí. V takových případech chcete použít Třídit objekt . Můžete volat Sort-Object na proměnnou, kterou jste vytvořili, ale primárně se používá propojením jiné rutiny. Stejně jako ve výše uvedeném příkladu propojíme výstup jednoho objektu s druhým a seřadíme ho. Pojďme vytvořit pole tří náhodných čísel a propojit je se Sort-Object.

Cokoli v závorkách běží jako první. Vytvořte jednoduché pole pomocí:

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

Nezapomeňte si všimnout čárky oddělující hodnoty. Abychom viděli běh náhodných čísel:

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

Rutina vydává čísla od nejmenšího po největší, pokud ji chcete obrátit, přidejte -Klesající .

Když propojíte rutiny do Get-Member, existuje více vlastností než výchozí výstup. Specifické vlastnosti vyberete pomocí Select-Object .

Stejně jako Sort-Object používáte Select-Object prostřednictvím piped cmdlet. Chcete -li například vygenerovat tabulku služeb a jejich stav, použijte:

Get-Service | Select-Object DisplayName, Status

Když je výstup všech těchto dat pěkný, co když chcete vidět pouze konkrétní data? Get-ChildItem má integrované filtrování, ale většina příkazů nikoli. V těchto případech používáte Kde-Objekt .

Vrátíme -li se znovu ke službám, tentokrát se chystáme získat pouze spuštěné služby. Zadejte rutinu:

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

Že -ekv ve srovnání je Powershell pro = . V Powershell provádíte srovnání s kombinacemi písmen:

  • rovnice: rovná se
  • ne: nerovný
  • lt: méně než
  • gt: větší než
  • ge: větší nebo rovno
  • le: menší nebo rovno
  • jako: použít jako při porovnávání zástupných znaků

Formátování nápovědy: Formát-tabulka a Formát-seznam.

U těchto různých rutin byla většina výstupu v tabulkových formátech. To zobrazuje data v řádcích a sloupcích se záhlavími. Chcete -li jednotlivě zobrazit položky uvedené s jejich vlastnostmi, přesuňte rutinu do Seznam formátů .

Někdy máte výstup, který je pro okno Powershell příliš široký. Když k tomu dojde, Powershell jej vynutí do výstupu seznamu. Abyste se ujistili, že ho ponecháte v kanálu formátu tabulky, do kterého je váš výstup Formátovací tabulka .

Od příkazového řádku ke skriptování: Další kroky

Jakmile budete v pohodě, skriptování je otázkou zadání rutin do textového souboru a jeho uložení. Pokud jste nervózní ze zkoušení skriptů, nemusíte. Microsoft má obrovské množství dokumentace ke každé rutině. To je nad rámec již zdlouhavé dokumentace nápovědy, takže se nezapomeňte podívat na Technet [již není k dispozici].

Pokud se učíte Powershell, dejte nám vědět v komentářích, co vás nejvíce těší. Pokud máte trochu více zkušeností, rádi bychom se dozvěděli o pokročilejších tématech, která byste chtěli vidět probrána.

Podíl Podíl tweet E-mailem Vymažte tyto soubory a složky systému Windows, abyste uvolnili místo na disku

Potřebujete uvolnit místo na disku v počítači se systémem Windows? Zde jsou soubory a složky systému Windows, které lze bezpečně odstranit, aby se uvolnilo místo na disku.

Číst dále
Související témata
  • Okna
  • Programování
  • Prostředí PowerShell
  • Skriptování
O autorovi Michael McConnell(44 článků zveřejněno)

Michael nepoužíval Mac, když byli odsouzeni k zániku, ale umí kódovat v Applescriptu. Vystudoval počítačovou vědu a angličtinu; už nějakou dobu píše o počítačích Mac, iOS a videohrách; a je to denní IT opice více než deset let, specializující se na skriptování a virtualizaci.

Více od Michaela McConnella

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru