Slik kjører du PowerShell-kommandoer på eksterne datamaskiner
Med PowerShell Remoting kan du kjøre PowerShell-kommandoer eller få tilgang til full PowerShell-økter på eksterne Windows-systemer. Det ligner på SSH for å få tilgang til eksterne terminaler på andre operativsystemer.
PowerShell er låst ned som standard, så du må aktivere PowerShell Remoting før du bruker den. Denne oppsettprosessen er litt mer kompleks hvis du bruker en arbeidsgruppe i stedet for et domene, for eksempel på et hjemmenettverk, men vi vil gå deg gjennom det.
Aktiver PowerShell Remoting på PCen du vil få tilgang til eksternt
Ditt første skritt er å aktivere PowerShell Remoting på PCen som du vil gjøre eksterne tilkoblinger til. På den PCen må du åpne PowerShell med administrative rettigheter.
I Windows 10 trykker du på Windows + X og velger deretter PowerShell (Admin) fra Power User-menyen.
I Windows 7 eller 8, trykk Start, og skriv deretter "powershell." Høyreklikk resultatet og velg "Kjør som administrator".
I PowerShell-vinduet skriver du inn følgende cmdlet (PowerShells navn for en kommando), og deretter trykker du på Enter:
Aktiver-PSRemoting -Force
Denne kommandoen starter WinRM-tjenesten, setter den i gang automatisk med systemet, og oppretter en brannmurregel som tillater innkommende tilkoblinger. De -Makt
En del av cmdlet forteller PowerShell å utføre disse handlingene uten å be deg om hvert trinn.
Hvis PCene er en del av et domene, er det alt oppsettet du må gjøre. Du kan hoppe over på forhånd for å teste forbindelsen. Hvis datamaskinene dine er en del av en arbeidsgruppe - som de sannsynligvis er på et hjem- eller småbedriftsnettverk - har du litt mer oppsettarbeid å gjøre.
Merk: Din suksess når du konfigurerer fjernelse i et domenemiljø, avhenger helt av nettverksoppsettet. Fjernelse kan være deaktivert - eller aktivert - automatisk etter gruppepolicy konfigurert av en administrator. Du har kanskje ikke de tillatelsene du trenger for å kjøre PowerShell som administrator. Som alltid, sjekk med dine admins før du prøver noe slikt. De kan ha gode grunner til ikke å tillate øvelsen, eller de kan være villige til å sette opp det for deg.
Sett opp arbeidsgruppen din
Hvis datamaskinene dine ikke er på et domene, må du utføre noen få trinn for å få ting opprettet. Du bør allerede ha aktivert Remoting på PCen du vil koble til, som beskrevet i forrige avsnitt.
Merk: For at PowerShell Remoting skal fungere i et arbeidsgruppemiljø, må du konfigurere nettverket ditt som et privat, ikke offentlig nettverk. For mer om forskjellen - og hvordan å bytte til et privat nettverk hvis du allerede har et offentlig nettverk satt opp - sjekk ut vår guide på private vs offentlige nettverk.
Deretter må du konfigurere TrustedHosts-innstillingen på både PCen du vil koble til og PCen (eller PCene) du vil koble fra, slik at datamaskinene vil stole på hverandre. Du kan gjøre dette på en av to måter.
Hvis du er i et hjemmenettverk der du vil fortsette og stoler på hvilken som helst PC som skal kobles eksternt, kan du skrive følgende cmdlet i PowerShell (igjen må du kjøre den som administrator).
Set-Item wsman: \ localhost \ client \ trustedhosts *
Stjernen er et jokertegn for alle PCer. Hvis du i stedet vil begrense datamaskiner som kan koble til, kan du erstatte stjernen med en kommaseparert liste over IP-adresser eller datamaskinnavn for godkjente PCer.
Etter at du har kjørt den kommandoen, må du starte WinRM-tjenesten på nytt slik at de nye innstillingene får virkning. Skriv inn følgende cmdlet og trykk deretter Enter:
Restart-Service WinRM
Og husk, du må løpe de to cmdlets på PCen som du vil koble til, samt på alle PCer du vil koble fra fra.
Test tilkoblingen
Nå som du har satt opp PCene dine for PowerShell Remoting, er det på tide å teste forbindelsen. På PC-en du ønsker å få tilgang til fjernsystemet, skriv inn følgende cmdlet i PowerShell (erstatt "COMPUTER" med navnet eller IP-adressen på den eksterne PCen), og trykk deretter Enter:
Test-WsMan COMPUTER
Denne enkle kommandoen tester om WinRM-tjenesten kjører på den eksterne PCen. Hvis det fullføres vellykket, vil du se informasjon om den eksterne datamaskinens WinRM-tjeneste i vinduet som betyr at WinRM er aktivert og datamaskinen din kan kommunisere. Hvis kommandoen mislykkes, vil du se en feilmelding i stedet.
Utfør en enkelt fjernkommando
For å kjøre en kommando på fjernsystemet, bruk Påkall-Kommando
cmdlet ved hjelp av følgende syntaks:
Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -krevende USERNAME
"COMPUTER" representerer den eksterne PC-navnet eller IP-adressen. "COMMAND" er kommandoen du vil kjøre. "USERNAME" er brukernavnet du vil kjøre kommandoen som på den eksterne datamaskinen. Du blir bedt om å oppgi et passord for brukernavnet.
Her er et eksempel. Jeg vil se innholdet i katalogen C: \ på en ekstern datamaskin med IP-adressen 10.0.0.22. Jeg vil bruke brukernavnet "wjgle", så jeg vil bruke følgende kommando:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -credential wjgle
Start en ekstern sesjon
Hvis du har flere cmdlets du vil kjøre på den eksterne PCen, kan du istedenfor å starte en ekstern økt i stedet for å gjenta CMDlet-kommandoen og den eksterne IP-adressen gjentatte ganger. Skriv bare følgende cmdlet og trykk deretter Enter:
Enter-PSSession -ComputerName COMPUTER -Credential USER
Igjen, erstatt "COMPUTER" med navnet eller IP-adressen på den eksterne PC-en, og erstatt "USER" med navnet på brukerkontoen du vil påkalle.
Du blir bedt om å angi den eksterne datamaskinen du er tilkoblet til, og du kan kjøre et hvilket som helst antall PowerShell cmdlets direkte på fjernsystemet.