Trinn 1: Tillat ekstern tilgang
Trinn 2: Test tilkoblingen
Trinn 3: Åpne portene
Trinn 4: Utføre kommandoer
PowerShell er en kraftig kommandokonsoll som følger med moderne versjoner av Windows. En av de mest nyttige funksjonene er muligheten til å kjøre kommandoer på eksterne servere. Dette kan være nyttig for systemadministratorer som administrerer flere Windows-servere.
Trinn 1: Tillat ekstern tilgang
Først må vi tillate ekstern tilgang. På serveren du vil ha ekstern tilgang til, åpne PowerShell med administrative rettigheter (så høyreklikk PowerShell og klikk "Kjør som administrator"). Utfør følgende kommando:
Enable-PSRemoting -Force
Dette starter WinRM-tjenesten, sørger for at den starter automatisk, og konfigurerer brannmuren slik at den tillater innkommende tilkoblinger.
På datamaskinen (som du vil koble til fra), utfør følgende kommando med administrative rettigheter:
Enable-PSRemoting -Force
Vi må sørge for at begge datamaskinene stoler på hverandre. For å gjøre dette må vi konfigurere "TrustedHosts"-innstillingen. Hvis du vil tillate tilkoblinger til datamaskinen/serveren fra alle datamaskiner, kjør:
Set-Item wsman:\localhost\client\trustedhosts *
Hvis du vil begrense dette til enkelte datamaskiner, bruk følgende kommando. Erstatt den kommaseparerte listen med 0.0.0.0, 1.1.1.1, 2.2.2.2 og 3.3.3.3 med IP-adresser som vil få tilgang.
Set-Item wsman:\localhost\client\trustedhosts 0.0.0.0,1.1.1.1,2.2.2.2,3.3.3.3
Start nå WinRM på nytt:
Restart-Service WinRM
Trinn 2: Test tilkoblingen
For å teste tilkoblingen, gå til datamaskinen du vil koble til fra, og kjør:
Test-WsMan ipaddress
Erstatt ipaddressmed IP-adressen til den andre datamaskinen/serveren.
Trinn 3: Åpne portene
Den første kommandoen vi utførte ( Enable-PSRemoting -Force) vil automatisk konfigurere brannmuren slik at den godtar innkommende tilkoblinger for ekstern tilgang. Imidlertid, hvis det er noe foran brannmuren (for eksempel ruteren), kan det hende du må konfigurere portvideresending også. Portene som brukes er:
- 5985 for HTTP
- 5986 for HTTPS
Trinn 4: Utføre kommandoer
Følgende brukes til å utføre kommandoer på en ekstern server:
Invoke-Command -ComputerName ipaddress -ScriptBlock { command } -credential username
Erstatt ipaddressmed IP-adressen til serveren, commandmed kommandoen du vil kjøre på den serveren, og usernamemed brukernavnet til brukeren som skal kjøre kommandoen.
Hvis du ikke vil bruke Invoke-Commandfor hver enkelt kommando, kan du starte en økt i stedet. Hver kommando du skriver vil da bli utført på den eksterne serveren med spesifisert legitimasjon. Syntaksen for å starte en økt er som følger:
Enter-PSSession -ComputerName ipaddress -Credential username
Erstatt ipaddressmed IP-adressen til serveren og usernamemed brukeren som skal kjøre kommandoen. Hver kommando du skriver fremover vil bli utført på den eksterne serveren.