Welcome to Our Website

kör fjärrkommandon

  • 08/21/2020
  • 3 minuter att läsa
    • j
    • s
    • d d
    • c

Du kan köra kommandon på en eller hundratals datorer med ett enda PowerShell-kommando. WindowsPowerShell stöder fjärrdatoranvändning med hjälp av olika tekniker, inklusive WMI, RPC, andWS-Management.

PowerShell Kärna stöder WMI, WS-Management, och en SSH-remoting., I PowerShell 6 är RPC ingen längrestödd. I PowerShell 7 och senare stöds RPC endast i Windows.

För mer information om remoting in PowerShell Core, se följande artiklar:

  • SSH Remoting in PowerShell Core
  • Wsman Remoting in PowerShell Core

Windows PowerShell Remoting Without Configuration

många Windows PowerShell cmdlets har ComputerName parametern som gör att du kan samla in data ochändra inställningar på en eller flera fjärrdatorer., Dessa cmdlets använder varierande kommunikationsprotokolloch arbetar på alla Windows-operativsystem utan någon speciell konfiguration.

dessa cmdlets inkluderar:

  • Restart-dator
  • Test-anslutning
  • Clear-EventLog
  • Get-EventLog
  • Get-HotFix
  • Get-Process
  • Get-Service
  • Set-Service
  • Get-WinEvent
  • Get-WmiObject

vanligtvis cmdlets som stöder Remoting utan speciell konfiguration har Computernameparameter och har inte Sessionsparametern., För att hitta dessa cmdlets i din session skriver du:

Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}

Windows PowerShell Remoting

med Hjälp av WS-Management-protokollet, Windows PowerShell remoting kan du köra alla Windows-PowerShellcommand på en eller flera fjärrdatorer. Du kan upprätta ihållande anslutningar, starta interaktivesessions och köra skript på fjärrdatorer.

för att använda Windows PowerShell remoting måste fjärrdatorn konfigureras för fjärrhantering.Mer information, inklusive instruktioner, finns i Om Fjärrkrav.,

När du har konfigurerat Windows PowerShell remoting, många remoting strategier är tillgängliga för dig.Denna artikel listar bara några av dem. Mer information finns i Om Remote.

starta en interaktiv Session

för att starta en interaktiv session med en enda fjärrdator, använd Enter-pssessioncmdlet. Till exempel, för att starta en interaktiv session med Server01-fjärrdatorn, skriv:

Enter-PSSession Server01

kommandotolken ändras för att visa namnet på fjärrdatorn., Alla kommandon som du skriver påprompten körs på fjärrdatorn och resultaten visas på den lokala datorn.

för att avsluta den interaktiva sessionen, skriv:

Exit-PSSession

För mer information om Enter-pssession och Exit-pssession cmdlets, Se:

  • Enter-PSSession
  • Exit-Pssession

kör ett fjärrkommando

för att köra ett kommando på en eller flera datorer, använd Invoke-kommandot

– commandcmdlet., Till exempel, för att köra en Get-UICulturecommand på Server01 och Server02 fjärrdatorer, skriver du:

Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {Get-UICulture}

produktionen tillbaka till din dator.

kör ett skript

för att köra ett skript på en eller flera fjärrdatorer, använd filepath-parametern för Invoke-Command cmdlet. Skriptet måste vara på eller tillgängligt för din lokala dator. Resultaten returneras till dinlokaldator.

till exempel körs följande kommando DiskCollect. ps1-skriptet på fjärrdatorerna, Server01och Server02.,

Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\DiskCollect.ps1

upprätta en beständig anslutning

användNew-PSSession cmdlet för att skapa en beständig session på en fjärrdator. Followingexample skapar fjärrsessioner på Server01 och Server02. Sessionsobjekten lagras i variabeln$s.

$s = New-PSSession -ComputerName Server01, Server02

nu när sessionerna är etablerade kan du köra vilket kommando som helst i dem. Och eftersom sessionerna ärpersistent kan du samla in data från ett kommando och använda det i ett annat kommando.,

till exempel kör följande kommando ett Get-HotFix-kommando i sessionerna i $s-variabeln ochDet sparar resultaten i $h-variabeln. Variabeln $h skapas i var och en av sessionerna i $s,men den finns inte i den lokala sessionen.

Invoke-Command -Session $s {$h = Get-HotFix}

Nu kan du använda data i variabeln$h med andra kommandon i samma session. Resultatenvisas på den lokala datorn. Till exempel:

Invoke-Command -Session $s {$h | where {$_.InstalledBy -ne "NTAUTHORITY\SYSTEM"}}

avancerad Remoting

Windows PowerShell fjärrhantering börjar bara här., Genom att använda cmdlets installerade med WindowsPowerShell kan du skapa och konfigurera fjärrsessioner både från de lokala och avlägsna ändarna, skapa anpassade och begränsade sessioner, tillåta användare att importera kommandon från en fjärrsession somkan köras implicit på fjärrsessionen, konfigurera säkerheten för en fjärrsession och mycketmer.

Windows PowerShell innehåller en wsman-leverantör. Leverantören skapar enWSMAN: enhet som låter younavigate genom en hierarki av konfigurationsinställningar på den lokala datorn och fjärrdatorer.,

För mer information om wsman-leverantör, seeWSMan Leverantör andAbout WS-Management-Cmdlets eller i Windows PowerShell-konsol, typ Get-Help wsman.

För mer information, se:

  • om fjärr FAQ
  • registrera-PSSESSIONCONFIGURATION
  • Import-pssession

för hjälp med remoting fel, se about_Remote_Troubleshooting.,

Se även

  • about_Remote
  • about_Remote_FAQ
  • about_Remote_Requirements
  • about_Remote_Troubleshooting
  • about_PSSessions
  • about_WS-Management_Cmdlets
  • Invoke-Command
  • Import-PSSession
  • new-pssession
  • registrera-pssessionconfiguration
  • wsman provider

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *