Megosztás a következőn keresztül:


about_Remote

Rövid leírás

Ismerteti, hogyan futtathat távoli parancsokat a PowerShellben.

Hosszú leírás

Egy vagy több távoli számítógépen futtathat távoli parancsokat ideiglenes vagy állandó kapcsolat használatával. Egy interaktív munkamenetet egyetlen távoli számítógéppel is elindíthat.

Jegyzet

A PowerShell-remoting használatához konfigurálnia kell a helyi és a távoli számítógépeket az újraküldéshez. További információ: about_Remote_Requirements.

Interaktív munkamenet indítása

A távoli parancsok futtatásának legegyszerűbb módja egy interaktív munkamenet indítása egy távoli számítógéppel.

A munkamenet indításakor a beírt parancsok a távoli számítógépen futnak, mintha közvetlenül a távoli számítógépre gépelték be őket. Minden interaktív munkamenetben csak egy számítógéphez csatlakozhat.

Interaktív munkamenet indításához használja a Enter-PSSession parancsmagot. A következő parancs interaktív munkamenetet indít a Server01 számítógéppel:

Enter-PSSession Server01

A PowerShell úgy módosítja a parancssort, hogy tartalmazza a távoli számítógép nevét.

Server01\PS>

Most már beírhatja a parancsokat a Server01 számítógépre.

Az interaktív munkamenet befejezéséhez írja be a következőt:

Exit-PSSession

További információ: Enter-PSSession.

Távoli parancs futtatása

Más parancsok távoli számítógépeken való futtatásához használja a Invoke-Command parancsmagot.

Egyetlen vagy néhány nem kapcsolódó parancs futtatásához használja a Invoke-Command paraméterét a távoli számítógépek megadásához. A parancs megadásához használja a ScriptBlock paramétert.

A következő parancs például egy Get-Culture parancsot futtat a Server01 számítógépen.

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

Állandó kapcsolat létrehozása

Ha a parancsmag Invoke-Command paraméterét használja, a PowerShell ideiglenes kapcsolatot létesít a távoli számítógéppel. A parancs befejeződésekor bezárja a kapcsolatot. Az ideiglenes munkamenetben definiált változók vagy függvények elvesznek.

Ha tartós kapcsolatot szeretne létesíteni egy távoli számítógéppel, használja a New-PSSession parancsmagot. A következő parancs például PSSessions-t hoz létre a Server01 és a Server02 számítógépeken, majd menti a PSSessionst a $s változóban.

$s = New-PSSession -ComputerName Server01, Server02

Parancsok futtatása PSSession-ben

PSSession esetén távoli parancsok sorozatát futtathatja, amelyek adatokat osztanak meg, például függvényeket, aliasokat és változók értékeit. A PSSession parancsainak futtatásához használja a parancsmag Invoke-Command paraméterét.

Az alábbi parancs például a Invoke-Command parancsmaggal futtat egy Get-Process parancsot a PsSessionsban a Server01 és a Server02 számítógépeken. A parancs minden PSSession-ben egy $p változóba menti a folyamatokat.

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

Mivel a PSSession állandó kapcsolatot használ, futtathat egy másik parancsot ugyanabban a PSSession-ben, amely a $p változót használja. Az alábbi parancs megszámolja a $pmentett folyamatok számát.

Invoke-Command -Session $s -ScriptBlock {$p.Count}

Távoli parancs futtatása több számítógépen

Ha több számítógépen szeretne távoli parancsot futtatni, írja be az összes számítógépnevet a ComputerName paraméter értékére Invoke-Command. A neveket vesszővel elválasztja.

A következő parancs például egy Get-Culture parancsot futtat három számítógépen:

Invoke-Command -ComputerName S1, S2, S3 -ScriptBlock {Get-Culture}

Parancsot több PSSessionban is futtathat. Az alábbi parancsok pssessions-t hoznak létre a Server01, Server02 és Server03 számítógépeken, majd futtatnak egy Get-Culture parancsot az egyes PSSessions-ban.

$s = New-PSSession -ComputerName S1, S2, S3
Invoke-Command -Session $s -ScriptBlock {Get-Culture}

A számítógépek helyi számítógéplistájának hozzáadásához írja be a helyi számítógép nevét, írjon be egy pont (.), vagy írja be a localhost.

Invoke-Command -ComputerName S1, S2, S3, localhost -ScriptBlock {Get-Culture}

Szkript futtatása távoli számítógépeken

Helyi szkript távoli számítógépeken való futtatásához használja a Invoke-Command paraméterét. Nem kell fájlokat másolnia. Az alábbi parancs például az S1 és S2 számítógépeken futtatja a Sample.ps1 szkriptet:

Invoke-Command -ComputerName S1, S2 -FilePath C:\Test\Sample.ps1

A PowerShell a szkript eredményeit adja vissza a helyi számítógépnek.

Távoli parancs leállítása

Parancs megszakításához nyomja le a Ctrl+cbillentyűkombinációt. A PowerShell átadja a megszakítási kérelmet annak a távoli számítógépnek, ahol leállítja a távoli parancsot.

További információkért

Lásd még