Sådan kører du PowerShell-kommandoer på fjerncomputere
PowerShell Remoting giver dig mulighed for at køre PowerShell-kommandoer eller få adgang til fuld PowerShell-sessioner på eksterne Windows-systemer. Det ligner SSH for at få adgang til eksterne terminaler på andre operativsystemer.
PowerShell er som standard lukket, så du skal aktivere PowerShell Remoting før du bruger den. Denne installationsproces er lidt mere kompleks, hvis du bruger en arbejdsgruppe i stedet for et domæne, f.eks. På et hjemmenetværk, men vi går igennem det.
Aktivér PowerShell Remoting på pc'en, du vil få adgang til eksternt
Dit første skridt er at aktivere PowerShell Remoting på pc'en, som du vil foretage fjernforbindelser til. På den pc skal du åbne PowerShell med administrative rettigheder.
I Windows 10 skal du trykke på Windows + X og derefter vælge PowerShell (Admin) fra Power User-menuen.
I Windows 7 eller 8 skal du trykke på Start og derefter skrive "powershell". Højreklik på resultatet og vælg "Kør som administrator".
Indtast følgende cmdlet i PowerShell-vinduet (PowerShell's navn til en kommando), og tryk derefter på Enter:
Aktiver-PSRemoting -Force
Denne kommando starter WinRM-tjenesten, indstiller den til at starte automatisk med dit system og opretter en firewall-regel, der tillader indgående forbindelser. Det -Kraft
En del af cmdlet fortæller PowerShell at udføre disse handlinger uden at anmode dig om hvert trin.
Hvis dine pc'er er en del af et domæne, er det alt det setup du skal gøre. Du kan springe videre for at teste din forbindelse. Hvis dine computere er en del af en arbejdsgruppe, som de sandsynligvis er i et hjem eller en lille virksomhed, har du lidt mere installationsarbejde til at gøre.
Bemærk! Din succes med opsætning af fjernelse i et domæne-miljø afhænger helt af dit netværks opsætning. Fjernelse kan være deaktiveret - eller endda aktiveret - automatisk efter gruppepolitik konfigureret af en administrator. Du har muligvis ikke de tilladelser, du har brug for til at køre PowerShell som administrator. Som altid skal du tjekke med dine admins før du forsøger noget som dette. De kan have gode grunde til ikke at tillade øvelsen, eller de kan være villige til at sætte det op for dig.
Opsæt din arbejdsgruppe
Hvis dine computere ikke er på et domæne, skal du udføre nogle få trin for at få tingene oprettet. Du skulle allerede have aktiveret Remoting på den pc, som du vil tilslutte, som vi beskrevet i det foregående afsnit.
Bemærk! Hvis du vil have PowerShell Remoting til at fungere i et arbejdsmiljø, skal du konfigurere dit netværk som et privat, ikke offentligt netværk. For mere om forskellen - og hvordan man skifter til et privat netværk, hvis du allerede har et offentligt netværk oprettet - se vores vejledning om private vs offentlige netværk.
Dernæst skal du konfigurere TrustedHosts-indstillingen på både den pc, som du vil oprette forbindelse til og den pc (eller pc'er) du vil oprette forbindelse til, så computeren vil stole på hinanden. Det kan du gøre på to måder.
Hvis du er på et hjemmenetværk, hvor du vil fortsætte og stoler på, at en pc skal oprette forbindelse eksternt, kan du skrive følgende cmdlet i PowerShell (igen skal du køre det som administrator).
Set-Item wsman: \ localhost \ client \ trustedhosts *
Stjernen er et jokertegn for alle pc'er. Hvis du i stedet vil begrænse computere, der kan forbinde, kan du erstatte stjerne med en kommasepareret liste over IP-adresser eller computernavne til godkendte pc'er..
Når du har kørt den kommando, skal du genstarte WinRM-tjenesten, så dine nye indstillinger træder i kraft. Indtast følgende cmdlet, og tryk derefter på Enter:
Genstart-service WinRM
Og husk, du skal køre de to cmdlets på pc'en, som du vil tilslutte, samt på alle pc'er, du vil oprette forbindelse fra.
Test forbindelsen
Nu hvor du har fået dine pc'er oprettet til PowerShell Remoting, er det tid til at teste forbindelsen. På pc'en, som du ønsker at få adgang til fjernsystemet, skal du skrive følgende cmdlet i PowerShell (erstatte "COMPUTER" med navnet eller IP-adressen på den eksterne pc), og tryk derefter på Enter:
Test-WsMan COMPUTER
Denne enkle kommando tester om WinRM-tjenesten kører på den eksterne pc. Hvis det fuldføres med succes, kan du se oplysninger om fjerncomputers WinRM-tjeneste i vinduet, hvilket betyder at WinRM er aktiveret, og din pc kan kommunikere. Hvis kommandoen fejler, vil du i stedet se en fejlmeddelelse.
Udfør en enkelt fjernbetjening
For at køre en kommando på fjernsystemet skal du bruge Invoke-Command
cmdlet ved hjælp af følgende syntaks:
Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -kritisk USERNAME
"COMPUTER" repræsenterer fjerncomputerens navn eller IP-adresse. "COMMAND" er den kommando, du vil køre. "USERNAME" er det brugernavn, du vil køre kommandoen som på den eksterne computer. Du bliver bedt om at indtaste en adgangskode til brugernavnet.
Her er et eksempel. Jeg vil se indholdet af C: \ -kataloget på en fjerncomputer med IP-adressen 10.0.0.22. Jeg vil bruge brugernavnet "wjgle", så jeg ville bruge følgende kommando:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -credential wjgle
Start en fjernsession
Hvis du har flere cmdlets, du vil køre på den eksterne pc, i stedet for gentagne gange at skrive kommandoen cmdlet Invoke-Command og den eksterne IP-adresse, kan du starte en ekstern session i stedet. Indtast blot følgende cmdlet, og tryk derefter på Enter:
Enter-PSSession -ComputerName COMPUTER -Credential USER
Igen skal du erstatte "COMPUTER" med navnet på eller den eksterne IP-adresse på den eksterne pc og erstatte "USER" med navnet på den brugerkonto, du vil påberåbe.
Din hurtige ændring for at angive den fjerncomputer, som du er tilsluttet til, og du kan udføre et hvilket som helst antal PowerShell cmdlets direkte på fjernsystemet.