20 Příkazy Windows PowerShell, které musíte znát
Windows PowerShell je nový shell příkazového řádku, který je silnější a skriptovatelnější než příkazový řádek. V mých třech letech zkušeností s používáním jsem zjistil, že je to opravdu užitečné, zvláště pokud jste do toho automatizační nebo skriptovací úkoly. Většina z nás o tom však ani nevědí, nebo ji raději nepoužívá namísto starého shellu příkazového řádku.
V tomto příspěvku budu sdílet užitečných, ale přímočarých příkazů (s příklady) Windows PowerShell. Tyto příkazy můžete použít k dosažení mnoha úkolů - od získání pomoci při spouštění procesů. Můžeme začít?
Poznámka: Systém Windows PowerShell je vytvořen zpětná kompatibilita a tak podporuje mnoho příkazů příkazového řádku. To znamená, že můžete používat staré příkazy v novém barevném rozhraní.
Nápověda nápovědy [nápověda]
Pokud jste novým PowerShell, můžete narazit na problémy; a v takových situacích se Get-Help stává vaším spasitelem. Poskytuje informace o cmdletech, příkazech, funkce, skripty a pracovní postupy PowerShell.
Navíc je to snadné: musíte psát Získejte pomoc
následovaný příkazem, z něhož hledáte podrobnosti. Můžete například získat informace “Získat proces” použitím Získat proces nápovědy
.
Získat příkaz [gcm]
Windows PowerShell umožňuje objevovat jeho příkazy a funkce pomocí Get-Command. Zobrazí seznam příkazy specifické funkce nebo pro konkrétní účel založený na parametru vyhledávání.
Stačí jen napsat Command-Command
následovaný vyhledávacím dotazem v PowerShell. Například, Get-Command * -service *
zobrazí příkazy “-služba” v jeho názvu. Pamatujte, prosím použijte hvězdičky na obou stranách dotazu protože je to divoká karta, která pomáhá hledat neznámé.
Invoke-Command [icm]
Až budete chtít spustit příkaz nebo skript PowerShell - lokálně nebo vzdáleně na jednom nebo více počítačích - “Invoke-Command” je tvůj přítel. To je snadno použitelný a pomáhá vám dávkové řízení počítačů.
Musíte zadat Invoke-Command
následuje příkaz nebo skript s úplnou cestou. Můžete například spusťte příkaz “Get-EventLog” použitím Invoke-Command -ScriptBlock Get-EventLog system -Newest 50
nebo na vzdáleném počítači “Server01” použitím Invoke-Command -ScriptBlock Get-EventLog system -Newest 50 -ComputerName Server01
.
Invoke-Expression [iex]
Invoke-Expression spustí jiný příkaz nebo výraz. Pokud zadáváte výraz nebo řetězec jako jeho vstup, tento příkaz jej nejprve vyhodnotí, poté spustí, ale také funguje pouze lokálně, na rozdíl od předchozího příkazu.
Musíte zadat Invoke-Expression
následuje příkaz nebo výraz. Můžete například přiřadit proměnnou “$ Příkaz” s řetězcem, který říká příkaz “Získat proces”. Když běžíš Příkaz Invoke-Expression $ Command
, “Získat proces” se spustí jako příkaz v místním počítači.
Invoke-WebRequest [iwr]
Můžeš ke stažení, přihlášení a vymazání informací na webových stránkách a webových službách při práci na prostředí Windows PowerShell pomocí funkce Invoke-WebRequest.
Musíte ho použít jako Vyvolat-WebRequest
následují jeho parametry. Můžete například získat odkazy na dané webové stránce pomocí příkazu as (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Ačkoli vytvářet a provádět skripty (s příponou “ps1”) v prostředí Windows PowerShell je možné; existují však omezení z bezpečnostních důvodů. Ale můžete úroveň zabezpečení pomocí příkazu Set-ExecutionPolicy.
Můžete zadat Set-ExecutionPolicy
následuje jedna ze čtyř úrovní bezpečnosti - Omezené, vzdálené podepsané, všechny podepsané nebo neomezené použít příkaz. Můžete například přiřadit stav omezených zásad Set-ExecutionPolicy -ExecutionPolicy Omezeno
.
Get-Item [gi]
Pokud hledáte informace o položce v libovolném místě řekněte soubor na pevném disku, Get-Item je nejlepším způsobem, jak jej získat v prostředí Windows PowerShell. Musíte to vědět nedostane obsah položky, soubory a podadresáře v daném adresáři, pokud není výslovně zadáno.
Musíte zadat Get-Item
následuje cesta nebo řetězec spolu s parametry, pokud existují. Například můžete získat všechny položky (soubory nebo složky) začínající na “M” pomocí aktuálního adresáře Získat položku M *
. Spolu s obsahem adresářů může také získat obsah klíčů registru.
Kopírovat položku [kopie]
Pokud potřebuješ kopírovat soubory a adresáře na paměťovém disku nebo v položkách registru a klíčech v registru můžete použít položku Kopírovat položku. Funguje podobně jako “cp” příkaz, který máme v Příkazovém řádku, ale je mnohem lepší.
Můžete využít Kopírovat položku
příkaz kopírovat a přejmenovat položky ve stejném příkazu také - zadejte jako cíl nový název. Můžete například kopírovat a přejmenovat “Services.htm” na “MyServices.txt” použitím Kopírovat položku "C: Services.htm" -Destination "C: MyData MyServices.txt"
.
Odstranit položku [del]
Pokud si budete přát odstranit položky jako jsou soubory, složky, funkce a klíče registru a proměnné, příkaz Remove-Item je příkazem pro vás. Zajímavé je, že poskytuje parametry pro zahrnutí a vyloučení položek.
Můžete využít Odstranit položku
příkaz smazat položky z určitých míst pomocí parametrů. Soubor můžete například odstranit “MyServices.txt” příkazem Odstranit položku "C: MyData MyServices.txt"
.
Získat obsah [kočka]
Pokud potřebujete zobrazit obsah textového souboru v určitém místě, otevřete jej a přečtěte si jej v textovém / textovém editoru, jako je Notepad ++. V prostředí Windows PowerShell můžete použít funkci Get-Content to načíst obsah bez otevření souboru.
Můžete například načíst 50 řádků obsahu “Services.htm”, pak můžete použít Get-Content "C: Services.htm" -Telkový počet 50
.
Nastavit obsah [sc]
Text můžete ukládat do souborů pomocí Set-Content, podobně jako je tomu u “echo” velení Bash Shell. V kombinaci s Get-Content můžete také načíst obsah jednoho souboru a zkopírovat jej do jiného souboru pomocí tohoto příkazu.
Můžete například zadat Set-Content
na psát nebo nahrazovat obsah souboru s novým obsahem. Kromě toho můžete klub s předchozím příkladem příkazu uložit jeho výstup do nového souboru s názvem “Sample.txt” použitím Get-Content "C: Services.htm" -Celkový počet 50 | Set-Content "Sample.txt"
.
Získat proměnnou [gv]
Pokud chcete použít proměnné v prostředí Windows PowerShell, příkaz Get-Variable vám pomůže vizualizovat hodnoty proměnných. Zobrazuje je v tabulkové formě a umožňuje zahrnutí, vyloučení a použití zástupných znaků.
Tento příkaz můžete použít zadáním Získat proměnnou
následuje jeho možnosti a parametry. Můžete například načíst hodnotu proměnné s názvem “desc” pomocí následujícího kódu: Get-Variable -Name "desc"
.
Set-Variable [set]
Můžeš přiřadit nebo změnit / resetovat hodnotu proměnné pomocí příkazu Set-Variable. Jako zástupce můžete také nastavit jednoduchou proměnnou ve formátu $ $ VarName = VarValue $, jako $ desc = "Popis"
.
Příkaz můžete použít Nastavitelná proměnná
následuje jeho parametry pro nastavení proměnné. Můžeme například nastavit hodnotu proměnné s názvem “desc” pomocí příkazu Set-Variable -Name "desc" -Value "A Description"
.
Proces Get [gps]
Obvykle používáme Správce úloh najít běžící procesy na našem počítači. Ve Windows PowerShell může kdokoli použít Get-Process, aby získal seznam aktuálně běžících procesů, které můžete dále zpracovávat.
Příkaz můžete napsat jako Získat proces
spolu s vyhledávacím dotazem. Například, pokud potřebujete informace o procesech s “prozkoumat” v jejich jménu můžete zadat Získat proces * prozkoumat *
(poznamenejte si hvězdičky).
Start-proces [saps]
Windows PowerShell usnadňuje jeden nebo více procesů na tvém počítači. Zjistil jsem, že tento příkaz je užitečný v aplikacích skriptování, protože je to jeden z příkazů, které musíte mít pro automatizaci úlohy..
Můžete zadat Spuštění procesu
následované jeho parametry pro použití příkazu. Například můžete spustit Poznámkový blok zadáním Start-Process -FilePath "notepad" -Verb runAs
v prostředí Windows PowerShell.
Stop-proces [zabít]
Můžeš zastavit specifické nebo všechny instance procesu spuštěného pomocí svého názvu nebo PID (Process ID), díky příkazu Stop-Process. To, co ho činí přesvědčivým, je, že můžete proces zastavit nebo zastavit, a dokonce můžete zastavit procesy, které současný uživatel nevlastní ani nezahájil..
Příkaz můžete zadat Proces zastavení
následované parametry pro zastavení daných procesů. Pomocí příkazu můžete například zastavit všechny procesy programu Poznámkový blok Stop-Process -Name "notepad"
.
Get-Service [gsv]
Kdy potřebujete informace o konkrétních službách (běh nebo zastavení) v počítači, můžete použít službu Get-Service. Zobrazuje služby nainstalované ve vašem systému a poskytuje možnosti filtrování a zahrnutí a vyloučení.
Pokud chcete použít tento příkaz, můžete zadat Get-Service
následují jeho parametry. Zadejte například následující Get-Service | Kde-objekt $ _. Stav -eq "Spuštění"
získat služby “běh” ve vašem systému.
Start-Service [sasv]
Pokud chcete spuštění služby V počítači může příkaz Start-Service pomoci provést totéž z prostředí Windows PowerShell. Zjistil jsem, že je dostatečně silný, aby mohl spustit službu, i když je tato služba ve vašem počítači zakázána.
Při použití příkazu musíte zadat název služby Start-Service
. Například, Název služby Start-Service-Name "WSearch"
spustí službu “Vyhledávání v systému Windows” místním počítači.
Zastavení služby [spsv]
Pokud chcete zastavení provozu na vašem počítači bude užitečný příkaz Stop-Service. Musíte zadat název služby spolu s Stop-Service
. Zadejte například Stop-Service -Name "WSearch"
službu zastavit “Vyhledávání v systému Windows” na tvém počítači.
PřevéstTo-HTML
PowerShell může poskytnout úžasné informace o vašem systému. Většinou je však prezentován v nestravitelném formátu, ale můžete použít ConvertTo-HTML to vytvořit a formátovat sestavu analyzovat nebo poslat někomu.
Můžeš použít PřevéstTo-HTML
spolu s výstupem jiného příkazu pomocí potrubí. Například Get-Service | ConvertTo-HTML -Property Name, Status> C: Služby.htm
zobrazí seznam všech služeb a jejich stav ve formě webového reportu, který je uložen v souboru “Services.htm”.
To je vše o základních příkazech .