Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
Popisuje, jak spustit vzdálené příkazy v PowerShellu.
Dlouhý popis
Vzdálené příkazy můžete spouštět v jednom počítači nebo ve více počítačích pomocí dočasného nebo trvalého připojení. Můžete také spustit interaktivní relaci s jedním vzdáleným počítačem.
Toto téma obsahuje řadu příkladů, které vám ukážou, jak spouštět různé typy vzdálených příkazů. Po vyzkoušení těchto základních příkazů si přečtěte témata nápovědy, která popisují jednotlivé rutiny použité v těchto příkazech. Témata poskytují podrobnosti a vysvětlují, jak můžete upravit příkazy tak, aby vyhovovaly vašim potřebám.
Poznámka: Pokud chcete použít vzdálenou komunikaci PowerShellu, musí být místní a vzdálené počítače nakonfigurované pro vzdálenou komunikaci. Další informace naleznete v tématu about_Remote_Requirements.
JAK SPUSTIT INTERAKTIVNÍ RELACI (ENTER-PSSESSION)
Nejjednodušší způsob, jak spustit vzdálené příkazy, je spustit interaktivní relaci se vzdáleným počítačem.
Při spuštění relace se zadané příkazy spustí ve vzdáleném počítači, stejně jako byste je zadali přímo na vzdáleném počítači. V každé interaktivní relaci se můžete připojit jenom k jednomu počítači.
Pokud chcete spustit interaktivní relaci, použijte rutinu Enter-PSSession . Následující příkaz spustí interaktivní relaci s počítačem Server01:
Enter-PSSession Server01
Příkazový řádek se změní a označuje, že jste připojeni k počítači Server01.
Server01\PS>
Teď můžete psát příkazy na počítači Server01.
Chcete-li ukončit interaktivní relaci, zadejte:
Exit-PSSession
Další informace najdete v tématu Enter-PSSession.
JAK POUŽÍVAT RUTINY, KTERÉ MAJÍ PARAMETR COMPUTERNAME K ZÍSKÁNÍ VZDÁLENÝCH DAT
Některé rutiny mají parametr ComputerName, který umožňuje získat objekty ze vzdálených počítačů.
Vzhledem k tomu, že tyto rutiny nepoužívají vzdálenou komunikaci PowerShellu založenou na WS-Management, můžete parametr ComputerName těchto rutin použít na libovolném počítači s PowerShellem. Počítače nemusí být nakonfigurované pro vzdálenou komunikaci PowerShellu a počítače nemusí splňovat systémové požadavky pro vzdálenou komunikaci.
Následující rutiny mají parametr ComputerName:
Clear-EventLog Limit-EventLog
Get-Counter New-EventLog
Get-EventLog Remove-EventLog
Get-HotFix Restart-Computer
Get-Process Show-EventLog
Get-Service Stop-Computer
Get-WinEvent Test-Connection
Get-WmiObject Write-EventLog
Například následující příkaz získá služby na vzdáleném počítači Server01:
Get-Service -ComputerName Server01
Rutiny, které podporují vzdálenou komunikaci bez speciální konfigurace, mají obvykle parametr ComputerName a nemají parametr Session . Pokud chcete ve své relaci najít tyto rutiny, zadejte:
Get-Command | Where-Object {
$_.Parameters.Keys -contains 'ComputerName' -and
$_.Parameters.Keys -notcontains 'Session'
}
JAK SPUSTIT VZDÁLENÝ PŘÍKAZ
Chcete-li na vzdálených počítačích spouštět další příkazy, použijte rutinu Invoke-Command .
Chcete-li spustit jeden příkaz nebo několik nesouvisejících příkazů, použijte parametr Název_počítače v Invoke-Command k určení vzdálených počítačů. K určení příkazu použijte parametr ScriptBlock.
Následující příkaz například spustí v počítači Server01 příkaz Get-Culture.
Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Culture}
Parametr ComputerName je určen pro situaci, kdy spustíte jeden příkaz nebo několik nesouvisejících příkazů na jednom nebo více počítačích. Chcete-li navázat trvalé připojení ke vzdálenému počítači, použijte parametr Session.
JAK VYTVOŘIT TRVALÉ PŘIPOJENÍ (PSSESSION)
Když použijete parametr ComputerName rutiny Invoke-Command, Windows PowerShell naváže připojení jenom pro tento příkaz. Po dokončení příkazu pak připojení ukončí. Všechny proměnné nebo funkce, které jsou definovány v příkazu, budou ztraceny.
Chcete-li vytvořit trvalé připojení ke vzdálenému počítači, použijte rutinu New-PSSession . Například následující příkaz vytvoří psSession na počítačích Server01 a Server02 a pak uloží psSession do proměnné $s.
$s = New-PSSession -ComputerName Server01, Server02
JAK SPOUŠTĚT PŘÍKAZY V PSSESSION
Pomocí psSession můžete spustit řadu vzdálených příkazů, které sdílejí data, jako jsou funkce, aliasy a hodnoty proměnných. Pokud chcete spouštět příkazy v psSession, použijte parametr Session rutiny Invoke-Command .
Například následující příkaz používá rutinu Invoke-Command ke spuštění příkazu Get-Process v pssessions na počítačích Server01 a Server02. Příkaz uloží procesy do proměnné $p v každé relaci PSSession.
Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}
Vzhledem k tomu, že psSessions používá trvalé připojení, můžete spustit další příkaz ve stejném PSSession, který používá proměnnou $p. Následující příkaz spočítá počet procesů uložených v $p.
Invoke-Command -Session $s -ScriptBlock {$p.count}
JAK SPUSTIT VZDÁLENÝ PŘÍKAZ NA VÍCE POČÍTAČÍCH
Chcete-li spustit vzdálený příkaz na více počítačích, zadejte všechny názvy počítačů do hodnoty parametru ComputerName v příkazu Invoke-Command. Názvy oddělte čárkami.
Následující příkaz například spustí příkaz Get-Culture ve třech počítačích:
Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}
Můžete také spustit příkaz ve více psSessions. Následující příkazy vytvoří psSession na počítačích Server01, Server02 a Server03 a poté spustí Get-Culture příkaz v každé z PSSessions.
$s = New-PSSession -ComputerName S1, S2, S3
Invoke-Command -Session $s -ScriptBlock {Get-Culture}
Chcete-li zahrnout seznam počítačů v místním počítači, zadejte název místního počítače, zadejte tečku (.) nebo zadejte "localhost".
Invoke-Command -ComputerName S1, S2, S3, localhost -ScriptBlock {Get-Culture}
JAK SPUSTIT SKRIPT NA VZDÁLENÝCH POČÍTAČÍCH
Chcete-li spustit místní skript na vzdálených počítačích, použijte parametr FilePath příkazu Invoke-Command.
Například následující příkaz spustí skript Sample.ps1 v počítačích S1 a S2:
Invoke-Command -ComputerName S1, S2 -FilePath C:\Test\Sample.ps1
Výsledky skriptu se vrátí do místního počítače. Nemusíte kopírovat žádné soubory.
JAK ZASTAVIT VZDÁLENÝ PŘÍKAZ
Chcete-li příkaz přerušit, stiskněte kombinaci kláves CTRL+C. Požadavek na přerušení je předán vzdálenému počítači, kde ukončí vzdálený příkaz.
DALŠÍ INFORMACE
Informace o požadavcích na systém pro vzdálené komunikace najdete v tématu about_Remote_Requirements.
Nápovědu k formátování vzdáleného výstupu najdete v tématu about_Remote_Output.
Informace o tom, jak vzdálená komunikace funguje, jak spravovat vzdálená data, speciální konfigurace, problémy se zabezpečením a další nejčastější dotazy, najdete v tématu nejčastější dotazy ke vzdálené komunikaci PowerShellu.
Nápovědu k řešení chyb vzdálené komunikace najdete v tématu about_Remote_Troubleshooting.
Informace o instancích PSSession a trvalých připojeních najdete v tématu about_PSSessions.
Informace o úlohách na pozadí PowerShellu najdete v tématu about_Jobs.
KLÍČOVÁ SLOVA
about_Remoting