Windows PowerShell je nový command-line shell, který je silnější a skriptovatelné, než Příkazový Řádek. Ve svých třech letech zkušeností s používáním jsem zjistil, že je to opravdu užitečné, zejména pokud se zabýváte automatizací nebo skriptováním úkolů. Většina z nás však o tom buď neví, nebo ji raději nepoužívá místo starého shellu příkazového řádku.
v tomto příspěvku budu sdílet užitečné, ale jednoduché příkazy (s příklady) Windows PowerShell., Tyto příkazy můžete použít k plnění mnoha úkolů-od získání pomoci k zahájení procesů. Můžeme začít?
Poznámka: Windows PowerShell je postaven s ohledem na zpětnou kompatibilitu, a tak podporuje mnoho příkazů příkazového řádku. To znamená, že můžete pokračovat v používání starých příkazů ve svém novém, barevném rozhraní.
Přečtěte si Také: Tipy a Nástroje pro Automatizaci Opakujících se Úloh na systému Windows 10
Get-Help
Pokud jste nový PowerShell, můžete narazit na problémy, a v takových situacích, Získat-Pomoc se stává svého spasitele., Poskytuje potřebné informace o cmdlets, příkazy, funkce, skripty a pracovní postupy PowerShell.
navíc je to snadné:musíte zadatGet-Help
následovaný příkazem, jehož podrobnosti vyhledáte. Například můžete získat informace o „Get-Process“ pomocí Get-Help Get-Process
.
Get-Command
Windows PowerShell umožňuje objevování jeho příkazy a funkce pomocí Get-Command., Zobrazuje seznam příkazů konkrétní funkce nebo pro konkrétní účel na základě vašeho vyhledávacího parametru.
stačí zadat Get-Command
následovaný vyhledávacím dotazem v PowerShell. Například Get-Command *-service*
zobrazuje příkazy s názvem „- service“. Nezapomeňte použít hvězdičky na obou stranách vašeho dotazu, protože se jedná o divokou kartu, která pomáhá hledat neznámé.,
Invoke-Command
Když chcete spustit příkaz či skript PowerShell — lokálně nebo vzdáleně na jeden nebo více počítače(s) — „Invoke-Command“ je váš přítel. Je snadno použitelný a pomáhá vám dávkově ovládat počítače.
musíte zadat Invoke-Command
následovaný příkazem nebo skriptem s jeho úplnou cestou. Například, můžete spustit příkaz „Get-EventLog“ pomocí Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50}
nebo na vzdáleném počítači „Server01“ pomocí Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01
.,
Invoke-Výraz
Invoke-Výraz se spouští 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é jej spustí, ale funguje také pouze lokálně, na rozdíl od předchozího příkazu.
musíte zadat Invoke-Expression
následovaný příkazem nebo výrazem. Můžete například přiřadit proměnnou “ $ Command „s řetězcem, který říká příkaz“Get-Process“., Když spustíte Invoke-Expression $Command
,“ get-Process “ se spustí jako příkaz v místním počítači.
Invoke-WebRequest
zde Si můžete stáhnout, přihlaste se, a skřípání informace na webových stránek a webových služeb při práci v prostředí Windows PowerShell pomocí Invoke-WebRequest.,
Set-zásady Spouštění
i když vytváření a spouštění skriptů (s příponou „ps1“) v prostředí Windows PowerShell je možné; nicméně, tam jsou omezení pro bezpečnostní účely. Úroveň zabezpečení však můžete přepnout pomocí příkazu Set-ExecutionPolicy.
můžete zadat Set-ExecutionPolicy
následovaný jedním ze čtyř úrovní zabezpečení — omezené, vzdálené podepsané, všechny podepsané nebo neomezené používat příkaz., Například můžete přiřadit stav omezené politiky pomocí Set-ExecutionPolicy -ExecutionPolicy Restricted
.
-Položka
Pokud hledáte informace o položky v daném místě, říkají souboru na pevném disku, Get-Item je nejlepší způsob, jak získat v prostředí Windows PowerShell. Musíte vědět, že nedostává obsah položky, jako jsou soubory a podadresáře v daném adresáři, pokud vás výslovně neuvedete.,
musíte zadat Get-Item
následuje cesta nebo řetězec spolu s jeho parametry, pokud nějaké. Například můžete získat všechny položky (soubory nebo složky) začínající „M“ v aktuálním adresáři pomocí Get-Item M*
. Spolu s obsahem adresářů může také získat obsah klíčů registru.
Kopírovat-Položka
Pokud potřebujete zkopírovat soubory a adresáře na vašem paměťovém disku nebo registru položky a klíče v registru, můžete použít Kopírovat Položky., Funguje podobně jako příkaz „cp“, který máme v příkazovém řádku, ale je mnohem lepší.
můžete použít příkazCopy-Item
pro kopírování a přejmenování položek stejným příkazem-zadejte nový název jako cíl. Můžete například kopírovat a přejmenovat „služby“.htm “ na “ MyServices.txt „pomocí Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt"
.
Remove-Item
Pokud chcete odstranit položky, jako jsou soubory, složky, funkce a klíče registru a proměnné, Remove-Item je příkaz pro vás. Zajímavé je, že poskytuje parametry pro zahrnutí a vyloučení položek.,
můžete použít příkazRemove-Item
k odstranění položek z konkrétních míst pomocí parametrů. Můžete například odstranit soubor “ MyServices.txt „s příkazem Remove-Item "C:\MyData\MyServices.txt"
.
get-Content
když potřebujete zobrazit obsah textového souboru na určitém místě, otevřete jej a přečtěte si jej v editoru kódu/textu, jako je Notepad++. V systému Windows PowerShell můžete použít Get-Content k načtení obsahu bez otevření souboru.,
Set-Content
text Můžete ukládat do souborů pomocí Set-Content, podobně jako příkaz“ echo “ shellu Bash. V kombinaci s obsahem Get můžete také načíst obsah jednoho souboru a zkopírovat jej do jiného souboru pomocí tohoto příkazu.
například můžete zadat Set-Content
pro zápis nebo nahrazení obsahu souboru novým obsahem. Kromě toho můžete klub s příkladem předchozího příkazu Uložit jeho výstup do nového souboru s názvem „vzorek.txt „pomocí Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.,
Get-Proměnná
Pokud hledáte pro použití proměnných v prostředí Windows PowerShell Get-Proměnná, příkaz vám pomůže vizualizovat hodnoty proměnných. Zobrazuje je v tabulkové podobě a umožňuje zahrnout, vyloučit, a pomocí zástupných znaků.
Tento příkaz můžete použít zadáním následované jeho možnostmi 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
pro nastavení proměnné můžete použít příkaz Set-Variable
následovaný jeho parametry. Například můžeme nastavit hodnotu proměnné s názvem „desc“pomocí příkazu Set-Variable -Name "desc" -Value "A Description"
.
Get-Process
obvykle používáme Správce Úloh zjistit spuštěné procesy v počítači. V systému Windows PowerShell může kdokoli použít Get-proces k získání seznamu aktuálně spuštěných procesů, které můžete dále zpracovávat.,
příkaz můžete napsat jako Get-Process
spolu s vyhledávacím dotazem. Například, pokud potřebujete informace o procesech s „prozkoumat“ v jejich názvu, můžete napsat Get-Process *explore*
(viz hvězdičky).
Start-proces
Windows PowerShell usnadňuje spuštění jednoho nebo více procesů v počítači. Zjistil jsem, že tento příkaz je užitečný ve skriptovacích aplikacích, protože je to jeden z příkazů, které budete potřebovat pro automatizaci úkolu.
pro použití příkazu můžete zadat Start-Process
následované jeho parametry., Například můžete spustit Poznámkový blok zadáním Start-Process -FilePath "notepad" -Verb runAs
do Windows PowerShell.
Ukončit Proces
můžete přestat konkrétní nebo všechny instance procesu běží na vašem počítači pomocí jeho názvu nebo PID (Process ID), díky příkaz Stop-Process. To, co je přesvědčivé, je, že můžete zjistit, že proces je zastaven nebo ne, a dokonce můžete zastavit procesy, které nejsou vlastněny nebo spuštěny současným uživatelem.,
můžete zadat příkaz Stop-Process
následovaný jeho parametry pro zastavení daných procesů. Například můžete zastavit všechny procesy programu Poznámkový blok pomocí příkazu Stop-Process -Name "notepad"
.
get-Service
když potřebujete informace o konkrétních službách (spuštěných nebo zastavených) 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 jejich zahrnutí a vyloučení.
Pokud chcete použít tento příkaz, můžete zadat Get-Service
následovaný jeho parametry., Například zadejte následující Get-Service | Where-Object {$_.Status -eq "Running"}
a získejte služby „spuštěné“ ve vašem systému.
Start-Služby
Pokud si přejete spustit službu na vašem počítači, Start-příkaz Služby může pomoci vám udělat to samé od Windows PowerShell. Zjistil jsem, že je dostatečně výkonný pro spuštění služby, i když je tato služba v počítači zakázána.
při použití příkazu Start-Service
musíte zadat název služby., Například Start-Service -Name "WSearch"
spustí službu „Windows Search“ v místním počítači.
Stop-Service
Pokud chcete zastavit služby spuštěné v počítači, příkaz Stop-Service se ukáže jako užitečný. Musíte zadat název služby spolu s Stop-Service
. Například zadejte Stop-Service -Name "WSearch"
pro zastavení služby „Windows Search“ v počítači.
ConvertTo-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 k vytvoření a formátování zprávy k jeho analýze nebo odeslání někomu.
můžete použít ConvertTo-HTML
spolu s výstupem jiného příkazu pomocí potrubí. Například Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm
zobrazí seznam všech služeb a jejich postavení ve formě internetové zprávy, která je uložena v souboru „Services.htm“.