PowerShell vám poskytuje veškerou kontrolu nad počítačem se systémem Windows, kterou potřebujete, a je snadné se ji naučit. Vynechejte tedy Příkazový řádek a použijte příkazy prostředí Windows PowerShell k automatizaci těchto opakujících se administrativních úloh.
Výuka PowerShellu vás také naučí, jak zvládnout většinu Linux administrativních úkolů v prostředí bash. PowerShell je podobný tomu, co najdete ve většině Linux Distros.
Co je PowerShell?
Windows PowerShell je rozhraní příkazového řádku a skriptovací jazyk vyvinutý společností Microsoft pro správce systému. Ale nemusíte být administrátor nebo programátor, abyste jej mohli používat, protože je mnohem jednodušší než jiné programovací jazyky. Je podobná běžné angličtině a každý jí rozumí a může ji používat ke správě svých počítačů.
Příkazy používané v prostředí Windows PowerShell se nazývají „rutiny“. Umožní vám aktivovat konkrétní akci nebo sérii akcí na vašem počítači. Tyto akce mohou být jednoduché, jako je přihlášení do bezdrátové sítě, nebo složitější, jako je automatizace konkrétních opakujících se úloh.
Chcete-li otevřít PowerShell, stiskněte tlačítko Start , do vyhledávacího pole napište „powershell “ a vyberte Windows PowerShell . Otevře se rozhraní příkazového řádku, kde můžete začít psát příkazy.
V tomto článku si projdeme deset nejužitečnějších a nejjednodušších příkazů PowerShellu.
1. Získejte nápovědu
Rutina Get-Help je skvělé místo pro začátek v PowerShellu. Poskytuje přehled o tom, co můžete dělat, a je také skvělý, když potřebujete více informací o konkrétní rutině.
Stačí otevřít okno PowerShellu a napsat Get-Help . Otevře se vám komplexní přehled, který vás naučí, co je PowerShell, a pochopíte jeho funkčnost a strukturu. Přímo přes rozhraní můžete také přistupovat na web pro pokročilejší soubory nápovědy. Tyto soubory si můžete stáhnout pro pozdější použití.
To ale není konec příkazu get-help. Typ:
Získat nápovědu *
PowerShell zobrazí seznam všech rutin, které můžete v daný okamžik použít. Seznam bude pravděpodobně obrovský a nemusíte se učit všechny zobrazené rutiny. Ale klidně si je přečtěte a prozkoumejte všechny možnosti, které máte k dispozici..
Typ:
Získat nápovědu
Závorky nepotřebujete, stačí napsat název příkazu, který vás zajímá, a tato rutina vám o něm poskytne základní informace. Pro ještě podrobnější vysvětlení příkazu napište:
Získat nápovědu
Pokud potřebujete příklad použití určitého typu příkazu:
Získat nápovědu
2. Get-Command
Chcete rychle získat informace o konkrétním příkazu nebo sadě příkazů? Rutina Get-Command to udělá za vás. V Get-Command je tolik možností, ale vy, jako základní uživatel PowerShellu, většinu z nich nepotřebujete. Zde je několik základních rutin, které budou užitečné, zejména při procházení dostupných příkazů.
Pokud chcete seznam konkrétních rutin stejného typu:
Get-Command -
Tato složitá fráze například přikáže vašemu počítači zobrazit seznam všech dostupných příkazů typu cmdlet a seřadit je podle abecedního pořadí podstatného jména v jejich názvu:
Rutina typu Get-Command | Seřadit-Objekt -Vlastnost Podstatné jméno| Formát-tabulka -GroupBy Noun
Toto je vynikající příklad složitějšího příkazu, díky kterému PowerShell provede komplikovanou úlohu. Jakmile pochopíte syntaxi, uvidíte, že pomocí PowerShellu je často nejrychlejší a nejsnadnější provedení některých věcí na vašem počítači.
Pokud chcete vyhledat konkrétní příkaz podle jeho názvu, jednoduše napište:
Get-Command -Jméno
Pokud neznáte přesný název hledaného příkazu, ale znáte část názvu, můžete napsat:
Get-Command -Jméno
Tato rutina zadá vašemu počítači úkol najít příkazy, které se co nejvíce shodují s tím, co jste zadali do pole
3. Získat obsah
Pokud chcete zobrazit obsah souboru, použijte rutinu Get-Content. Budete muset zadat přesné umístění uvedeného souboru, aby jej váš počítač mohl najít..
Ve výše uvedeném příkladu můžete vidět obsah testovacího textového souboru vytvořeného pro tento účel. Toto je jednoduchý příkaz, ale pokud víte, co dělá, můžete jej zkombinovat s dalšími příkazy a provádět opravdu výkonné úkoly prostřednictvím prostředí Windows PowerShell.
4. Get-Process
Rutina Get-Process vám poskytne informace o aktuálně spuštěných procesech ve vašem počítači. Můžete vidět využití paměti, cykly CPU, ID procesu a další atributy.
Pokud do této rutiny přidáte název procesu, zobrazí se informace o konkrétním procesu. Pokud například chcete informace o procesu aplikace Discord, jednoduše zadejteGet-Process Discord .
Procesy můžete spouštět nebo zastavovat prostřednictvím prostředí PowerShell jednoduchým nahrazením předpony „Get“ v syntaxi. Chcete-li zahájit proces, zadejte:
Start-Process
Pro zastavení procesu zadejte:
Zastavit-proces
5. Get-Service
Jako správce systému můžete považovat rutinu Get-Service za velmi užitečnou. Tato jednoduchá rutina zobrazí všechny služby aktuálně spuštěné ve vašem systému a umožní vám je ovládat. To znamená, že můžete vidět všechny programy, které aktuálně pracují na spuštění počítače.
Nyní ji můžete ovládat pomocí názvu služby. Použijte příkazy jako Restart-Service
6. Get-Item
Pokud potřebujete konkrétní položku, může být rychlejší ji najít pomocí prostředí PowerShell než pomocí vyhledávacího pole integrovaného do vašeho operačního systému. Je to zvláště výhodné, pokud znáte umístění souboru, který potřebujete. Jednoduše použijte příkaz takto:
Získat položku C:
Tím se zobrazí seznam souborů na pevném disku „C:“. Můžete být ještě konkrétnější a hledat ve všech adresářích pod uživatelským profilem nebo jít hlouběji do adresářů „dokumenty“ nebo „stahování“. Chcete-li to provést, zadejte:
Get-Tem C:\users\
Pokud potřebujete načíst podřízenou položku z kontejneru, jako je systémový adresář, můžete použít rutinu Get-ChildItem . Tento příkaz vám ukáže všechny soubory a adresáře uvnitř tohoto kontejneru. Stejně jako u rutiny Get-Item budete muset zadat cestu ke kontejneru.
Chcete-li položky odstranit, můžete příponu „Získat“ nahradit „Odstranit“. To vám umožní odstranit vše, od souborů a složek až po klíče registru a funkce. Zadejte Remove-Item
7. ConvertTo-Html
Tento příkaz vám pomůže převést objekt .NET na soubor HTML, který lze zobrazit ve webových prohlížečích. Toto je výstupní rutina, což znamená, že funguje skvěle s ostatními rutinami. Jednoduše jej přidejte na konec ostatních rutin a uveďte konkrétní cestu k souboru.
Pokud například chcete vytvořit soubor HTML, který zobrazuje název, cestu a společnost všech aktuálních procesů v místním počítači, zadejte:
Získejte proces | ConvertTo-Html -Název vlastnosti, Cesta, Společnost -Název “Informace o procesu” | Out-File filename.htm
Nahraďte soubor.htm libovolným názvem souboru.
K otevření vytvořeného souboru použijte rutinu Invoke-Item plus
8. Set-Executionpolicy
Pokud chcete spouštět místní skripty PowerShellu, budete muset změnit zásady provádění samotného PowerShellu. Na počítačích se systémem Windows je zásada provádění vždy omezena a budete ji muset změnit na RemoteSigned nebo Unrestricted. Na počítačích s jiným systémem než Windows, jako je Linux nebo Mac, je obvykle nastaven na Neomezený a nelze jej změnit.
Pokud se chcete dozvědět více o zásadách spouštění prostředí PowerShell, jednoduše zadejte:
nápověda Set-ExecutionPolicy
Prostředí PowerShell zobrazí soubory nápovědy o zásadách provádění na vašem počítači nebo vás upozorní, pokud žádné nejsou. Ale také vám poskytne odkaz, který můžete sledovat a přečíst si o něm online..
Chcete-li nastavit zásadu na RemoteSigned, jednoduše zadejte:
Set-Executionpolicy RemoteSigned
Chcete-li jej nastavit na typ bez omezení:
Set-Executionpolicy Unrestricted
Chcete-li zkontrolovat aktuální nastavení zásad provádění, zadejte:
Zásady Get-Execution
Protože zásady provádění jsou součástí bezpečnostních strategií PowerShellu, požádá vás o potvrzení změny. Zadejte Y , pouze pokud jste si jisti, že chcete pokračovat.
9. Select-Object
Tento příkaz se používá k výběru objektů a sad objektů, jedinečných objektů a objektů na určité pozici v poli. Existují různé parametry, které můžete použít k určení objektů, které chcete vybrat. Mezi nimi jsou vlastnosti, číselné hodnoty a konkrétní vstupní objekty.
Chcete-li vybrat objekty podle atributu vlastnosti, budete muset zadat atributy, jako je název, ID nebo CPU. Atributy můžete dokonce seskupit, ale při psaní příkazu je musíte oddělit čárkami. Chcete-li zobrazit rutinu Select-Object v akci, typ akce:
Získejte proces | Select-Object -Property ProcessName, Id, CPU
PowerShell zobrazí seznam všech aktuálních procesů a jejich atributů, jak je uvedeno níže.
Nyní můžete pomocí příkazu -EpandProperty získat podrobné informace o konkrétním atributu. Pokud chcete podrobnosti o vlastnosti Modules typu atributu ProcessName:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list
Výstup příkazu „Format-list“ slouží k tomu, aby byly výsledky formátované a čitelné.
10. Export-CSV
Někdy vedou příkazy PowerShellu k dlouhým seznamům, jak jsme viděli u rutiny Get-Command. Dlouhé seznamy a spousta informací je obtížné číst a budete to chtít organizovanějším způsobem. Chcete-li to provést, exportujte všechna data do souboru CSV. Můžete to provést přímo v prostředí PowerShell pomocí funkce Export-CSV.
Například jsme viděli, že rutina Get-Command nám poskytuje dlouhý seznam všech dostupných rutin, které můžeme v dané chvíli použít v prostředí PowerShell. Můžete kombinovat příkazy Get-Command a Export-CSV a vytvořit tak podrobný seznam s hodnotami oddělenými čárkami, jako je název, zdroj a verze, které aplikace jako Excel dokážou rozpoznat..
Chcete-li to provést, zadejte do příkazového řádku prostředí PowerShell následující příkaz, ale nezapomeňte, že můžete nastavit libovolnou cestu a soubor můžete pojmenovat jinak:
Get-Command | Vyberte Název, Zdroj, Verze | export-csv D:\AllCommands.csv
Nyní můžete otevřít seznam v Excelu a měli byste vidět něco podobného jako na následujícím obrázku.
.