Sdílet prostřednictvím


O vzdálené službě

KRÁTKÝ POPIS

Popisuje spuštění vzdálených příkazů ve Windows PowerShellu.

DLOUHÝ POPIS

Můžete spouštět vzdálené příkazy v jednom počítači nebo na 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.

V tomto tématu najdete řadu příkladů, jak spustit různé typy vzdáleného příkazu. Po vyzkoušení těchto základních příkazů si přečtěte témata nápovědy, která popisují každou rutinu, která se používá v těchto příkazech. Témata obsahují podrobnosti a vysvětlují, jak můžete příkazy upravit tak, aby vyhovovaly vašim potřebám.

Poznámka: Pokud chcete používat vzdálenou komunikaci Windows PowerShellu, musí být místní a vzdálené počítače nakonfigurované pro vzdálenou komunikaci. Další informace najdete 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.

Po spuštění relace se příkazy, které zadáte, spouští na vzdáleném počítači stejně, jako byste je zadali přímo na vzdáleném počítači. Můžete se připojit pouze k jednomu počítači v každé interaktivní relaci.

Pokud chcete spustit interaktivní relaci, použijte rutinu Enter-PSSession. Následující příkaz spustí interaktivní relaci s počítačem s Server01:

Enter-PSSession Server01

Příkazový řádek se změní, aby označoval, že jste připojeni k Server01 počítači.

Server01\PS>

Nyní můžete zadat příkazy do počítače s 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 PRO ZÍSKÁNÍ VZDÁLENÝCH DAT

Několik rutin má 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 Windows PowerShellu založené na službě WS-Management, můžete použít parametr ComputerName těchto rutin na jakémkoli počítači, na kterém běží Windows PowerShell. Počítače nemusí být nakonfigurované pro vzdálenou komunikaci Windows PowerShellu a počítače nemusí splňovat požadavky na systém pro vzdálenou komunikaci.

Parametry ComputerName mají následující rutiny:

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 zvláštní konfigurace, mají obvykle parametr ComputerName a nemají parametr relace . Pokud chcete najít tyto rutiny ve vaší relaci, zadejte:

Get-Command | Where-Object {
    $_.Parameters.Keys -contains 'ComputerName' -and
    $_.Parameters.Keys -notcontains 'Session'
}

SPUŠTĚNÍ VZDÁLENÉHO PŘÍKAZU

Chcete-li spustit další příkazy na vzdálených počítačích, použijte rutinu Invoke-Command.

Chcete-li spustit jeden nebo několik nesouvisejících příkazů, zadejte vzdálené počítače pomocí parametru ComputerName příkazu Invoke-Command. K určení příkazu použijte parametr ScriptBlock.

Například následující příkaz spustí příkaz Get-Culture na počítači s Server01.

Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Culture}

Parametr ComputerName je navržený pro situaci, kdy spouštíte jeden nebo několik nesouvisejících příkazů na jednom nebo mnoha počítačích. K navázání trvalého připojení ke vzdálenému počítači použijte parametr Session.

POSTUP VYTVOŘENÍ TRVALÉHO PŘIPOJENÍ (PSSESSION)

Použijete-li parametr ComputerName rutiny Invoke-Command, prostředí Windows PowerShell vytvoří připojení pouze pro příkaz. Pak po dokončení příkazu ukončí připojení. 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ří PSSessions v počítačích Server01 a Server02 a potom uloží PSSessions do proměnné $s.

$s = New-PSSession -ComputerName Server01, Server02

SPUŠTĚNÍ PŘÍKAZŮ 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. Chcete-li spustit příkazy v PSSession, použijte parametr relace 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 v počítačích s Server01 a Server02. Příkaz uloží procesy do proměnné $p v každém PSSession.

Invoke-Command -Session $s -ScriptBlock {$p = Get-Process}

Vzhledem k tomu, že PSSession používá trvalé připojení, můžete spustit jiný 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}

SPUŠTĚNÍ VZDÁLENÉHO PŘÍKAZU 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 parametr ComputerName příkazu Invoke-Command. Názvy oddělte čárkami.

Například následující příkaz spustí příkaz Get-Culture na 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 vytvářejí PSSessions v počítačích Server01, Server02 a Server03 a pak spouštějí příkaz Get-Culture 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čů do místního počítače, 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}

SPUŠTĚNÍ SKRIPTU 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 na 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.

POSTUP ZASTAVENÍ VZDÁLENÉHO PŘÍKAZU

Chcete-li příkaz přerušit, stiskněte klávesy CTRL + C. Požadavek přerušení se předává do vzdáleného počítače, ve kterém končí vzdáleným příkazem.

DALŠÍ INFORMACE

  • Informace o systémových požadavcích pro vzdálenou komunikaci 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 funguje Vzdálená komunikace, jak spravovat Vzdálená data, speciální konfigurace, problémy se zabezpečením a další Nejčastější dotazy, najdete v tématu about_Remote_FAQ.

  • Nápovědu k řešení chyb vzdálené komunikace najdete v tématu about_Remote_Troubleshooting.

  • Informace o PSSessions a trvalých připojeních najdete v tématu about_PSSessions.

  • Informace o úlohách na pozadí Windows PowerShellu najdete v tématu about_Jobs.

KLÍČOV

about_Remoting

VIZ TAKÉ

about_PSSessions

about_Remote_Disconnected_Sessions

about_Remote_Requirements

about_Remote_FAQ

about_Remote_TroubleShooting

about_Remote_Variables

Zadejte-PSSession

Vyvolat – příkaz

New-PSSession