Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
Az újraegyezés rendszerkövetelményeiről további információt about_Remote_Requirements.
A távoli kimenet formázásához a about_Remote_Outputcímű témakörben talál segítséget.
Az újraegyezés működésével, a távoli adatok kezelésével, a speciális konfigurációkkal, a biztonsági problémákkal és egyéb gyakori kérdésekkel kapcsolatos további információkért tekintse meg PowerShell-újraegyesítéssel kapcsolatos gyakori kérdéseket.
Ha segítségre van szüksége az újraegyeztetési hibák elhárításához, olvassa el a about_Remote_Troubleshooting.
A PSSessions-ról és az állandó kapcsolatokról további információt a about_PSSessions.
További információ a PowerShell háttérfeladatairól: about_Jobs.