- 08/21/2020
- 3 minutter på å lese
-
- j
- s
- D
- c
Du kan kjøre kommandoer på en eller hundrevis av datamaskiner med en enkelt PowerShell-kommando. WindowsPowerShell støtter ekstern databehandling ved hjelp av ulike teknologier, inkludert WMI, RPC, andWS-Ledelse.
PowerShell-Kjernen støtter WMI, WS-Management, og SSH remoting., I PowerShell 6, RPC er ingen longersupported. I PowerShell 7 og høyere, RPC støttes bare i Windows.
For mer informasjon om remoting i PowerShell Core, kan du se følgende artikler:
- SSH Remoting i PowerShell Core
- WSMan Remoting i PowerShell Core
Windows PowerShell Remoting Uten Konfigurasjon
Mange Windows PowerShell-cmdleter har Datamaskinnavn parameter som gjør det mulig for deg å samle inn data andchange innstillinger på en eller flere eksterne datamaskiner., Bruk disse cmdletene varierende kommunikasjon protocolsand fungere på alle Windows-operativsystemer uten noen spesiell konfigurering.
Disse cmdletene inkluderer:
- Start på nytt-Datamaskinen
- Test-Tilkobling
- Fjern-EventLog
- Get-EventLog
- Komme-Hurtigreparasjonen
- Get-Process
- Get-Service
- Set-Service
- Komme-WinEvent
- Get-WmiObject
Vanligvis, cmdlets som støtter remoting, uten spesiell konfigurering, har ComputerNameparameter og ikke har Økt parameter., For å finne disse cmdletene i økten din, skriv:
Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}
Windows PowerShell Remoting
ved Hjelp av WS-Management protocol, Windows PowerShell remoting lar deg kjøre alle Windows-PowerShellcommand på en eller flere eksterne datamaskiner. Du kan opprette faste tilkoblinger, start interactivesessions, og kjøre skript på eksterne datamaskiner.
for Å bruke Windows PowerShell remoting, den eksterne datamaskinen må være konfigurert for remote management.For mer informasjon, inkludert instruksjoner, se Om Eksterne Krav.,
Når du har konfigurert Windows PowerShell remoting, mange remoting strategier som er tilgjengelige for deg.Denne artikkelen viser bare noen av dem. For mer informasjon, se Om Fjernkontrollen.
Start en Interaktiv Sesjon
for Å starte en interaktiv sesjon med en enkelt ekstern datamaskin, kan du bruke Enter-PSSessioncmdlet. For eksempel, for å starte en interaktiv sesjon med Server01 eksterne datamaskinen, skriv:
Enter-PSSession Server01
– ledeteksten endringer for å vise navnet på den eksterne datamaskinen., Alle kommandoer som du skriver atthe be kjører på den eksterne datamaskinen, og resultatene blir vist på den lokale datamaskinen.
for Å avslutte interaktiv sesjon, skriv:
Exit-PSSession
For mer informasjon om Enter-PSSession og Exit-PSSession cmdlets, se:
- Enter-PSSession
- Avslutt-PSSession
Kjør en Ekstern Kommando
for Å kjøre en kommando på én eller flere datamaskiner, bruk av Invoke-Commandcmdlet., For eksempel til å kjøre en Get-UICulturecommand på Server01 og Server02 eksterne datamaskiner, skriv:
Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {Get-UICulture}
output er tilbakeført til din datamaskin.
Kjør et Skript
Å kjøre et skript på en eller mange eksterne datamaskiner, bruk FilePath av parameteren Invoke-Command
cmdleten. Skriptet må være på eller tilgjengelig til den lokale datamaskinen. Resultatene returneres til yourlocal maskin.
For eksempel, følgende kommando kjører DiskCollect.ps1-skript på eksterne datamaskiner, Server01and Server02.,
Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\DiskCollect.ps1
Etablere en Varig Forbindelse
for New-PSSession
cmdlet for å skape en vedvarende økt på en ekstern datamaskin. Den followingexample skaper eksterne økter på Server01 og Server02. Session objekter som er lagret i $s
variabel.
$s = New-PSSession -ComputerName Server01, Server02
Nå at øktene er etablert, kan du kjøre en kommando i dem. Og fordi økter arepersistent, kan du samle inn data fra en kommando og bruke den i en annen kommando.,
For eksempel, følgende kommando kjører en Hurtigreparasjon kommando i økter i $s variabel andit lagrer resultater i $h-variabelen. Den $h-variabelen er opprettet i hver av øktene i $s,men det eksisterer ikke i lokal sesjon.
Invoke-Command -Session $s {$h = Get-HotFix}
Nå kan du bruke dataene i $h
variabel med andre kommandoer i samme økt. Den resultsare vises på den lokale datamaskinen. For eksempel:
Invoke-Command -Session $s {$h | where {$_.InstalledBy -ne "NTAUTHORITY\SYSTEM"}}
Avansert Fjernstyring
Windows PowerShell remote management begynner bare her., Ved hjelp av cmdletene installert med WindowsPowerShell, kan du opprette og konfigurere eksterne økter, både fra lokale og eksterne ender,lage tilpassede og begrenset økter, tillater brukere å importere kommandoer fra en ekstern økt thatactually kjøre implisitt på den eksterne økten, konfigurere sikkerhet i en ekstern økt, og muchmore.
Windows PowerShell inneholder en WSMan leverandør. Leverandøren skaper en WSMAN:
stasjon som lar younavigate gjennom et hierarki av konfigureringsinnstillinger på den lokale datamaskinen og eksterne datamaskiner.,
For mer informasjon om WSMan leverandør, seeWSMan Leverandør andAbout WS-Management-Cmdlets,eller i Windows PowerShell-konsollen, skriver du inn Get-Help wsman
.
For mer informasjon, se:
- Om Ekstern FAQ
- Registrer-PSSessionConfiguration
- Import-PSSession
For å få hjelp med remoting feil, se about_Remote_Troubleshooting.,
Se Også:
- about_Remote
- about_Remote_FAQ
- about_Remote_Requirements
- about_Remote_Troubleshooting
- about_PSSessions
- about_WS-Management_Cmdlets
- Invoke-Command
- Import-PSSession
- Ny-PSSession
- Register-PSSessionConfiguration
- WSMan Leverandør