Welcome to Our Website

Uitvoeren van Remote Commando ‘ s

  • 08/21/2020
  • 3 minuten te lezen
    • j
    • s
    • D
    • c

Je kan opdrachten uitvoeren op een of honderden computers met een enkele opdracht. WindowsPowerShell ondersteunt Remote computing met behulp van verschillende technologieën, waaronder WMI, RPC, andWS-Management.

PowerShell Core ondersteunt WMI, WS-beheer en SSH remoting., In PowerShell 6 wordt RPC niet langer ondersteund. In PowerShell 7 en hoger wordt RPC alleen ondersteund in Windows.

voor meer informatie over remoting in PowerShell Core, zie de volgende artikelen:

  • SSH Remoting in PowerShell Core
  • WSMan Remoting in PowerShell Core

Windows PowerShell Remoting zonder configuratie

veel Windows PowerShell-cmdlets hebben de computernaam waarmee u gegevens kunt verzamelen en instellingen kunt wijzigen op een of meer externe computers., Deze cmdlets gebruiken variërende communicatieprotocollen en werken op alle Windows-besturingssystemen zonder speciale configuratie.

Deze cmdlets zijn:

  • Opnieuw opstarten-de Computer
  • Test-Aansluiting
  • Wissen-EventLog
  • Get-EventLog
  • Get-HotFix
  • Get-Proces
  • Get-Service
  • Set Service
  • Get-WinEvent
  • Get-WmiObject

Meestal cmdlets die ondersteuning remoting zonder speciale configuratie hebben de ComputerNameparameter en niet de parameter Session., Om deze cmdlets in uw sessie te vinden, typt u:

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

Windows PowerShell Remoting

met behulp van het WS-Management protocol kunt u Windows PowerShell remoting uitvoeren op een of meer externe computers. U kunt permanente verbindingen tot stand brengen, interactieve sessies starten en scripts uitvoeren op externe computers.

Als u Windows PowerShell remoting wilt gebruiken, moet de externe computer zijn geconfigureerd voor extern beheer.Zie voor meer informatie, inclusief instructies, over Remote Requirements.,

zodra u Windows PowerShell remoting hebt geconfigureerd, zijn er veel remoting-strategieën voor u beschikbaar.Dit artikel noemt slechts een paar van hen. Zie Over Remote voor meer informatie.

Start een interactieve sessie

om een interactieve sessie met een enkele externe computer te starten, gebruikt u de Enter-PSSessioncmdlet. Als u bijvoorbeeld een interactieve sessie met de externe computer Server01 wilt starten, typt u:

Enter-PSSession Server01

de opdrachtprompt verandert om de naam van de externe computer weer te geven., Alle opdrachten die u typt op de prompt worden uitgevoerd op de externe computer en de resultaten worden weergegeven op de lokale computer.

om de interactieve sessie te beëindigen, typt u:

Exit-PSSession

voor meer informatie over de Enter-PSSession en Exit-PSSession cmdlets, zie:

  • Enter-PSSession
  • Exit-PSSession

een opdracht op afstand

uitvoeren om een opdracht op een of meer computers uit te voeren, gebruik de invoke-commandcmdlet., Als u bijvoorbeeld een Get-Uiculturecommando wilt uitvoeren op de remote computers Server01 en Server02, typt u:

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

De uitvoer wordt naar uw computer geretourneerd.

voer een Script uit

om een script op een of meerdere externe computers uit te voeren, gebruikt u de parameter FilePath van de Invoke-Commandcmdlet. Het script moet op of toegankelijk zijn voor uw lokale computer. De resultaten worden teruggestuurd naar uw lokale computer.

bijvoorbeeld, het volgende commando voert het diskcollect.ps1 script uit op de externe computers, Server01 en Server02.,

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

Maak een permanente verbinding

Gebruik de New-PSSession cmdlet om een permanente sessie op een externe computer aan te maken. Het volgende voorbeeld maakt remote sessies op Server01 en Server02. De sessieobjecten worden opgeslagen in de variabele $s.

$s = New-PSSession -ComputerName Server01, Server02

nu de sessies zijn ingesteld, kunt u elk commando in hen uitvoeren. En omdat de sessies persistent zijn, kunt u gegevens van het ene Commando verzamelen en gebruiken in een ander commando.,

bijvoorbeeld, het volgende commando voert een Get-HotFix commando uit in de sessies in de $ s variabele endit slaat de resultaten op in de $h variabele. De $ h variabele wordt aangemaakt in elk van de sessies in $s, maar het bestaat niet in de lokale sessie.

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

nu kunt u de gegevens in de $h gebruiken met andere commando ‘ s in dezelfde sessie. De resultaten worden weergegeven op de lokale computer. Bijvoorbeeld:

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

geavanceerde Remoting

Windows PowerShell remote management begint hier., Door de cmdlets te gebruiken die zijn geïnstalleerd met WindowsPowerShell, kunt u externe sessies instellen en configureren van zowel de lokale als de externe einde,aangepaste en beperkte sessies maken, gebruikers toestaan om commando ‘ s te importeren van een externe sessie die daadwerkelijk impliciet worden uitgevoerd op de externe sessie, de beveiliging van een externe sessie configureren, en muchmore.

Windows PowerShell bevat een WSMan-provider. De provider maakt eenWSMAN: station waarmee younavigate door een hiërarchie van configuratie-instellingen op de lokale computer en externe computers.,

voor meer informatie over de WSMan provider, zie wsman Provider Andover WS-Management Cmdlets,of typ in de Windows PowerShell console Get-Help wsman.

voor meer informatie, zie:

  • over FAQ op afstand
  • Register-PSSessionConfiguration
  • Import-PSSession

voor meer informatie, zie about_Remote_Troubleshooting.,

Zie Ook:

  • about_Remote
  • about_Remote_FAQ
  • about_Remote_Requirements
  • about_Remote_Troubleshooting
  • about_PSSessions
  • about_WS-Management_Cmdlets
  • Beroepen-Commando
  • Importeren-PSSession
  • Nieuw-PSSession
  • Registreren-PSSessionConfiguration
  • WSMan Aanbieder

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *