18 nejužitečnějších příkazů Powershell pro správce Windows

18. prosince 2021 19859 Pohledy Nejužitečnější příkazy Powershell

V této zóně S Victor sdílí svůj konečný seznam nejužitečnějších příkazů PowerShellu pro systémové správce. U každého příkazu vysvětluje syntaxi a parametry. Poté zakončete několika příklady.





V této zóně S budu používat příkazy PowerShell, PS, rutiny PowerShell a rutiny PowerShell, zaměnitelně.

Procházet témata příspěvků



Nejužitečnější příkazy Powershell pro hledání a získání nápovědy s rutinami

Nemůžete mluvit o nejužitečnějších příkazech PowerShellu, aniž byste se naučili, jak je najít. Níže jsou uvedeny příkazy PowerShellu, které vám pomohou najít rutiny.

Get-Command

Rutina Get-Command je první a nejdůležitější PS, kterou by se měl nováček v PowerShellu naučit a umět ji používat. Proč? Pomůže vám najít další rutiny PowerShell. Jaký příkaz může být důležitější než příkaz, který toto umí?



Chcete-li najít všechny příkazy PS ve svém počítači, jednoduše spusťte tento příkaz níže:



|_+_| nejužitečnější příkazy powershell

Porozumění výsledkům rutiny Get-Command

Ve výsledcích výstupu příkazu Get-Command jsou čtyři sloupce

  1. CommandType : Toto vám řekne, zda je příkaz alias, rutina nebo funkce.
  2. název : Název je skutečný příkaz, který provádíte.
  3. Verze : Toto je verze PowerShellu
  4. Zdroj : Modul příkazu PS.

Pomocí těchto informací můžete filtrovat výsledky z Get-Command. Řekněme, že chcete vidět příkazy PowerShellu obsahující slovo EventLog, spuštěním níže uvedeného příkazu bude práce hotová:



|_+_|

Všimněte si, kam jsem přidal hvězdičky. Je to proto, že jsem si toho vědom
EventLog je podstatné jméno součástí rutin. Pokud však ani nevíte, že byste mohli zkusit přidat hvězdičky na začátek, pak zkuste konec.



Níže je výsledek předchozího příkazu.

Parametry Get-Command

A nakonec, než budeme pokračovat, pojďme probrat parametry rutiny Get-Command.

Chcete-li získat všechny parametry a informace o příkazu Get-Command, spusťte tento příkaz níže:

|_+_|

Tím získáte všechny informace týkající se rutiny Get-Command.

Dále budu diskutovat o rutině Get-Help.

Získejte pomoc

Zatímco rutina Get-Command najde rutinu, potřebujete příkaz Get-Help PowerShell, který vám poskytne informace, které ke spuštění příkazu potřebujete.

Nejjednodušší způsob použití rutiny Get-Help je zadat Get-Help následovaný příkazem, o kterém chcete informace. Chcete-li zjistit další informace o rutině Get-EventLog, spusťte níže uvedený příkaz:

|_+_|

To vám poskytne základní informace o Get-EventLog PowerShell Command. Viz výsledek níže:

Některé důležité parametry příkazu Get-Help

Jako každá jiná rutina PowerShell má rutina Get-Help řadu parametrů. Níže jsou uvedeny nejdůležitější parametry, které budete potřebovat.

  1. -Detailní : The Detailní Parametr vám dává příkaz SYNTAX, PARAMTERS, ALIASES a REMARKS.
  2. -Plný : The Full poskytuje podobné informace, které poskytuje Detailní parametr s více informacemi o každém parametru
  3. -Příklady : Uvádí příklady použití rutiny. To může být velmi užitečné, pokud jste rutinu nikdy předtím nepoužili a nevíte, jak postupovat.
  4. -Online : Otevře stránku online nápovědy rutiny.
Chcete-li zobrazit parametry rutiny PS, zadejte rutinu v jazyce PS, stiskněte mezerník, zadejte pomlčku a poté klávesu tabulátoru. Při stisknutí klávesy tab budete procházet dostupné parametry.

Nejužitečnější příkazy Powershell pro správu souborů a složek

Nyní, když víte, jak najít příkazy PowerShellu, pojďme do toho. Další sadou nejužitečnějších příkazů powershell jsou rutiny, které vám pomohou spravovat soubory a složky.

Get-ChildItem

Získá položky na určeném místě. Chcete-li zobrazit seznam složek na mé jednotce C, spustím následující příkaz:

|_+_|

Zobrazí se seznam všech složek nejvyšší úrovně. Chcete-li zobrazit všechny soubory, složky obsahují podsložky, použijte – Rekurze parametr.

Profesionální tip
Můžete zkombinovat let rutiny Get-ChildItem s jinou rutinou a vypočítat velikost každé složky v určeném adresáři.

Kopírovat položku a Přesunout položku

K vypsání položek ve složce můžete použít rutinu Get-ChildItem a výsledek pak přenést do rutiny Copy-Item a zkopírovat položky do nového umístění. Následující příkaz provede tuto práci:

upravit legendu v tabulkách Google
|_+_| Výše uvedený příkaz powershell zkopíruje pouze složky a soubory nejvyšší úrovně – NEBUDE kopírovat podsložky a soubory. Chcete-li zkopírovat všechny soubory a složky včetně podsložek, zahrňte – Rekurze parametr v příkazu Get-ChildItem, jak je znázorněno níže: |_+_|

Zatímco rutina Copy-Item kopíruje položky z jednoho umístění na druhé, rutina Move-Item položku přesune.

Odebrat položku

Tato rutina odstraní zadané položky. Stejně jako rutiny Copy-Item a Move-Item můžete výstup Get-ChildItem převést na Remove-Item.

Rutinu Remove-Item používejte opatrně, protože může odstranit všechny soubory a složky ve vašem počítači, včetně souborů Windows! Profesionální tip
Převedením výstupu Get-ChildItem do Remove-Item můžete vytvořit jednoduchý skript, který bude pravidelně mazat některé soubory protokolu. Pomocí Plánovače systému Windows můžete naplánovat spuštění skriptu PS v určený čas.

Nejužitečnější příkazy Powershell pro vytváření sestav

Existují 3 sady příkazů PowerShellu, které můžete použít k exportu položek do CVS, exportu do textového souboru a do souborů HTML. O těchto 3 budeme diskutovat příště.

Export-Csv

Export-Csv převede sadu řetězců na CSV a uloží do souboru. Tato rutina je velmi důležitá pro vytváření přehledů.

Chcete-li předvést použití Export-CSV, spusťte níže uvedený příkaz:

|_+_|

Zde je výsledek příkazu.

příkazy powershell

Výstup předchozího příkazu můžete převést do Export-CSV a vytvořit CVS zprávu s výsledky zobrazenými na předchozím obrázku.

Zde je příkaz k provedení tohoto úkolu.

|_+_|

Všimněte si, že jsem do cesty musel zahrnout název souboru CSV. Mám i jiný parametr -NoTypeInformation . Chcete-li se dozvědět více o -NoTypeInformation, přečtěte si tento článek PowerShell NoTypeInformation: Aplikace a použití.

V předchozím příkazu je další rutina, Select-Object . Tato rutina byla použita k určení sloupců, které se mají vrátit a exportovat do CSV. Pokud jsem vyloučil Select-Object výstup CSV bude obsahovat spoustu nežádoucích dat. Později v tomto tutoriálu se budu zabývat Select-Object.

Pro vaši informaci níže je výstup souboru CSV.

kořen tmobile note 5
příkazy powershell

I když je tato sestava velmi podobná výstupu zobrazenému na předchozím obrázku, je užitečnější jako sestava. Soubor CSV můžete poslat svému šéfovi!

Out-File

Rutina Out-file odesílá výstup do textového souboru

Níže uvedený příkaz exportuje rutinu Get-Command PowerShell do textového souboru namísto CSV:

|_+_|

Zde je výsledek v textovém souboru: Stejná zpráva, nyní v textovém souboru! Jak dobré to je!

Co když tento přehled spouštíte denně a nechcete obsah z předchozího dne přehnaně upravovat, ale raději přidávat. Tento příkaz udělá práci.

|_+_|

Nejužitečnější příkazy Powershell pro správu procesů

Další sadou nejužitečnějších příkazů PowerShellu pro správce Windows jsou rutiny pro správu procesů Windows. Pojďme se na ně podívat.

Get-Process

Tato rutina prostředí PowerShell obsahuje seznam všech procesů spuštěných v místním počítači. Může také spustit procesy na vzdáleném počítači – pomocí – Název počítače parametr.

Když však spustíte rutinu Get-Process PowerShell bez jakéhokoli parametru, vrátí všechny procesy spuštěné v místním počítači. Chcete-li to vyzkoušet, spusťte příkaz níže. Výsledek je znázorněn na obrázku níže.

|_+_|

Příkazy PowerShell Start-Process a Stop-Process

Příkaz Get-Process PowerShell může spolupracovat s rutinami PowerShell Start-Process a Stop-Process pro spuštění nebo zastavení procesu nebo sady procesů.

Řekněme, že jste provedli příkaz Get-Process PowerShell, ale přejete si zastavit proces s konkrétním ID procesu 10500, tuto úlohu provede příkaz níže.

|_+_| Varování!
Rutinu PowerShell Stop-Process používejte opatrně, protože zastavení nesprávného procesu může způsobit nestabilitu vašeho počítače.

Chcete-li spustit proces, přepojte výstup příkazu Get-Process PowerShell do rutiny Stop-Process PowerShell.

Nejužitečnější příkazy PowerShellu pro správu protokolů událostí

Správa protokolu událostí je jedním z nejdůležitějších úkolů správců systému Windows. Další sada příkazů PowerShellu vám tedy pomůže spravovat protokoly událostí.

Get-EventLog

Rutina Get-EventLog PowerShell získává události v zadaném protokolu událostí. Události můžete získat v místním nebo vzdáleném počítači. Chcete-li získat události ze vzdáleného počítače, použijte – Název počítače parametr k určení vzdáleného počítače. Pamatujte však, že pro přístup ke vzdálenému počítači budete vyžadovat správná oprávnění.

Chcete-li získat posledních 5 událostí zaznamenaných do protokolu událostí systému, proveďte níže uvedený příkaz

|_+_| Profesionální tip
Poslední příkaz lze použít pro účely odstraňování problémů.

Clear-EventLog

Jak byste očekávali, existuje více rutin protokolu událostí, ale v tomto tutoriálu se budeme zabývat těmito 2.

Clear-EventLog vymaže všechny události v zadaném protokolu událostí. Rutina může vymazat protokoly událostí na místních i vzdálených počítačích.

Následující příkaz vymaže všechny události s názvem Windows PowerShell z místního počítače

Fortnite havaruje při startu
|_+_| Chcete-li provést níže uvedený příkaz, musíte otevřít PowherShell jako správce – klikněte pravým tlačítkem a vyberte Spustit jako správce.

Nejužitečnější příkazy PowerShellu pro získání informací o vašem počítači

Pokud potřebujete shromáždit data o počítačích ve vaší síti – název počítače, verzi systému BIOS, velikost paměti RAM, informace o disku atd. – rutina Get-WmiObject POwerShell je váš přítel! pojďme prozkoumat tuto mocnou rutinu, ano.

Get-WmiObject

Get-WmiObject má parametr nazvaný – Třída to vám umožní určit objekt WMI, ke kterému chcete přistupovat. Níže uvedený příkaz získá seznam tříd WMI, |_+_|

Jakmile znáte název třídy WMI, můžete spustit Get-WmiObject a vrátit užitečné informace z místního nebo vzdáleného počítače. Níže je uveden seznam nejdůležitějších tříd WMI, které můžete potřebovat

  • Win32_PhysicalMemory – informace o dostupné paměti
  • Win32_Processor – Informace o procesoru
  • Win32_LogicalDisk – Informace o jednotce logického disku
  • Win32_DiskDrive – Informace o fyzickém disku
  • Win32_OperatingSystem – Informace o operačním systému
  • Win32_BaseBoard – Získejte informace o základní desce

Chcete-li získat informace o operačním systému, spusťte níže uvedený příkaz:

|_+_|

Nejužitečnější příkazy prostředí PowerShell pro připojení ke vzdáleným relacím prostředí PowerShell

Nemůžete diskutovat o příkazech PowerShellu, aniž byste mluvili o vzdálené komunikaci PS. Jako správce systému Windows se budete muset vzdáleně připojit k počítačům pomocí PowerShellu.

Zde jsou příkazy, které budete potřebovat.

Příkazy PowerShell Enter-PSSession a Exit-PSSession

Příkaz Enter-PSSession PowerShell umožňuje interaktivně spustit vzdálenou relaci PS na jednom počítači. Až skončíte se vzdáleným počítačem, ukončete relaci příkazem Exit-PSSession.

Chcete-li otevřít vzdálenou relaci PS pomocí počítače s názvem Počítač1, spusťte příkaz níže:

|_+_|

Invoke-Command

Zatímco rutina Enter-PSSession PowerShell umožňuje spouštět příkazy na jednom vzdáleném počítači, rutina Invoke-Command umožňuje spouštět příkazy na jednom nebo více vzdálených počítačích.

Pokud chcete provést příkaz Get-Process na Počítači1, Počítači2, Počítači3, proveďte tento příkaz:

|_+_|

Nová PSSession

Rutina New-PSSession PowerShell umožňuje otevřít trvalou relaci se vzdáleným počítačem. Protože je relace trvalá, je vhodné přidat vzdálenou relaci do proměnné.

Chcete-li otevřít trvalou vzdálenou relaci PS na počítačích Počítač1, Počítač2, proveďte následující příkaz:

|_+_|

S vytvořenou relací PS a uloženou v proměnné $session můžete na vzdálené relaci spouštět normální příkazy PowerShellu pomocí
Rutina Invoke-Command PowerShell.

Jako poslední příklad ve vzdálených relacích PowerShellu, chcete-li spustit Get-Process na vzdálených počítačích, spusťte příkaz:

|_+_| Výsledky příkazu Get-Process jsem uložil do proměnné s názvem $Processes, protože existuje více počítačů. Uložení výsledku do proměnné usnadňuje manipulaci s daty. K extrakci a organizaci dat můžete použít smyčku aForEach.

Tady to máte – můj konečný seznam nejužitečnějších příkazů PowerShellu! Doufám, že vám tato zóna S pomohla.

Případně můžete položit otázku, zanechat komentář nebo poskytnout zpětnou vazbu pomocí formuláře Zanechat odpověď, který najdete na konci této stránky.

A konečně, pro více zón PowerShell S navštivte naši stránku Windows PowerShell.