Startpagina » hoe » PowerShell-opdrachten uitvoeren op externe computers

    PowerShell-opdrachten uitvoeren op externe computers

    Met PowerShell Remoting kunt u PowerShell-opdrachten uitvoeren of toegang krijgen tot volledige PowerShell-sessies op externe Windows-systemen. Het is vergelijkbaar met SSH voor toegang tot externe terminals op andere besturingssystemen.

    PowerShell is standaard vergrendeld, dus u moet PowerShell Remoting inschakelen voordat u het gebruikt. Dit instellingsproces is een beetje ingewikkelder als u een werkgroep gebruikt in plaats van een domein, bijvoorbeeld op een thuisnetwerk, maar we helpen u er wel doorheen.

    Schakel PowerShell Remoting in op de pc die u op afstand wilt openen

    De eerste stap is om PowerShell Remoting in te schakelen op de pc waarmee u externe verbindingen tot stand wilt brengen. Op die pc moet u PowerShell openen met beheerdersbevoegdheden.

    Druk in Windows 10 op Windows + X en kies PowerShell (Beheerder) in het menu Power User.

    Druk in Windows 7 of 8 op Start en typ 'powershell'. Klik met de rechtermuisknop op het resultaat en kies 'Uitvoeren als beheerder'.

    Typ in het PowerShell-venster de volgende cmdlet (PowerShell-naam voor een opdracht) en druk op Enter:

    Activeren - PSRemoting -Force

    Met deze opdracht wordt de WinRM-service gestart, wordt deze ingesteld om automatisch met uw systeem te starten en wordt een firewallregel gemaakt die inkomende verbindingen toestaat. De -Dwingen een deel van de cmdlet vertelt PowerShell om deze acties uit te voeren zonder u voor elke stap te vragen.

    Als uw pc deel uitmaakt van een domein, is dat alles wat u moet doen. U kunt doorgaan om uw verbinding te testen. Als uw computers deel uitmaken van een werkgroep - die ze waarschijnlijk op een thuisnetwerk of in een klein bedrijfsnetwerk hebben - hebt u wat meer installatiewerk nodig.

    Opmerking: uw succes bij het instellen van remoting in een domeinomgeving hangt geheel af van de instellingen van uw netwerk. Remoting kan automatisch worden uitgeschakeld - of zelfs ingeschakeld - volgens het groepsbeleid dat is geconfigureerd door een beheerder. Mogelijk hebt u ook niet de rechten die u nodig hebt om PowerShell als beheerder uit te voeren. Zoals altijd, vraag het aan je admins voordat je iets als dit probeert. Ze kunnen goede redenen hebben om de oefening niet toe te staan, of ze zijn misschien bereid om het voor je in te stellen.

    Stel uw werkgroep in

    Als uw computers zich niet in een domein bevinden, moet u nog een paar stappen uitvoeren om alles op te zetten. U had Remoting al moeten activeren op de pc waarmee u verbinding wilt maken, zoals beschreven in het vorige gedeelte.

    Opmerking: Om PowerShell Remoting in een werkgroepomgeving te laten werken, moet u uw netwerk configureren als een privé, niet openbaar netwerk. Voor meer informatie over het verschil - en hoe u naar een privé-netwerk kunt gaan als u al een openbaar netwerk hebt ingesteld - raadpleegt u onze gids over privé- of openbare netwerken..

    Vervolgens moet u de TrustedHosts-instelling configureren op zowel de pc waarmee u verbinding wilt maken en de pc (of pc's) waarmee u verbinding wilt maken, zodat de computers elkaar zullen vertrouwen. U kunt dit op twee manieren doen.

    Als u zich op een thuisnetwerk bevindt waar u verder wilt gaan en erop kunt vertrouwen dat een pc op afstand verbinding maakt, typt u de volgende cmdlet in PowerShell (u moet het opnieuw uitvoeren als beheerder).

    Set-Item wsman: \ localhost \ client \ trustedhosts *

    Het sterretje is een jokerteken voor alle pc's. Als u in plaats daarvan de computers wilt beperken die verbinding kunnen maken, kunt u de asterisk vervangen door een door komma's gescheiden lijst met IP-adressen of computernamen voor goedgekeurde pc's.

    Nadat u die opdracht hebt uitgevoerd, moet u de WinRM-service opnieuw starten zodat uw nieuwe instellingen van kracht worden. Typ de volgende cmdlet en druk op Enter:

    Restart-Service WinRM

    En vergeet niet dat je deze twee cmdlets op de pc moet gebruiken waarmee je verbinding wilt maken, en op elke pc waarmee je verbinding wilt maken.

    Test de verbinding

    Nu uw pc's zijn ingesteld voor PowerShell Remoting, is het tijd om de verbinding te testen. Op de pc waar u het externe systeem wilt openen, typt u de volgende cmdlet in PowerShell (vervangt "COMPUTER" door de naam of het IP-adres van de externe pc) en drukt u vervolgens op Enter:

    Test-WsMan COMPUTER

    Deze eenvoudige opdracht test of de WinRM-service op de externe pc wordt uitgevoerd. Als het met succes is voltooid, ziet u informatie over de WinRM-service van de externe computer in het venster. Dit betekent dat WinRM is ingeschakeld en dat uw pc kan communiceren. Als de opdracht mislukt, ziet u in plaats daarvan een foutmelding.

    Voer een enkelvoudig extern commando uit

    Als u een opdracht op het externe systeem wilt uitvoeren, gebruikt u de Roep-Command cmdlet met behulp van de volgende syntaxis:

    Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -credential USERNAME

    "COMPUTER" staat voor de naam of het IP-adres van de externe pc. "COMMAND" is de opdracht die u wilt uitvoeren. "USERNAME" is de gebruikersnaam waarmee u de opdracht wilt uitvoeren zoals op de externe computer. U wordt gevraagd om een ​​wachtwoord in te voeren voor de gebruikersnaam.

    Hier is een voorbeeld. Ik wil de inhoud van de map C: \ bekijken op een externe computer met het IP-adres 10.0.0.22. Ik wil de gebruikersnaam "wjgle" gebruiken, dus ik zou de volgende opdracht gebruiken:

    Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -credential wjgle

    Start een Remote Session

    Als u meerdere cmdlets hebt die u op de externe pc wilt uitvoeren in plaats van herhaaldelijk de cmdlet Invoke-Command en het externe IP-adres te typen, kunt u in plaats daarvan een externe sessie starten. Typ gewoon de volgende cmdlet en druk op Enter:

    Enter-PSSession -ComputerName COMPUTER -Credential USER

    Nogmaals, vervang "COMPUTER" door de naam of het IP-adres van de externe pc en vervang "USER" door de naam van het gebruikersaccount dat u wilt oproepen.

    Uw prompt wordt gewijzigd om de externe computer aan te geven waarmee u bent verbonden en u kunt elk gewenst aantal PowerShell-cmdlets direct op het externe systeem uitvoeren.