Hemsida » hur » Så här kör du PowerShell-kommandon på fjärrdatorer

    Så här kör du PowerShell-kommandon på fjärrdatorer

    Med PowerShell Remoting kan du köra PowerShell-kommandon eller få tillgång till full PowerShell-sessioner på fjärranslutna Windows-system. Det liknar SSH för åtkomst till fjärrterminaler på andra operativsystem.

    PowerShell är normalt låst, så du måste aktivera PowerShell Remoting innan du använder den. Denna installationsprocess är lite mer komplex om du använder en arbetsgrupp istället för en domän, till exempel på ett hemnätverk, men vi går igenom dig.

    Aktivera PowerShell Remoting på datorn Du vill komma åt fjärråtkomst

    Ditt första steg är att aktivera PowerShell Remoting på datorn som du vill göra fjärranslutningar till. På den datorn måste du öppna PowerShell med administrativa behörigheter.

    I Windows 10 trycker du på Windows + X och väljer sedan PowerShell (Admin) från Power User-menyn.

    I Windows 7 eller 8, klicka på Start och skriv sedan "powershell". Högerklicka på resultatet och välj "Kör som administratör".

    Skriv in följande cmdlet i PowerShell-fönstret (PowerShells namn för ett kommando) och tryck sedan på Enter:

    Aktivera-PSRemoting -Force

    Kommandot startar WinRM-tjänsten, ställer in det för att starta automatiskt med ditt system och skapar en brandväggsregel som tillåter inkommande anslutningar. De -Tvinga En del av cmdlet berättar för PowerShell att utföra dessa åtgärder utan att fråga dig om varje steg.

    Om dina datorer är en del av en domän är det all installation du behöver göra. Du kan hoppa över för att testa din anslutning. Om dina datorer är en del av en arbetsgrupp, som de förmodligen är i ett hem- eller småföretagsnätverk, har du lite mer installationsarbete att göra.

    Obs! Din framgång när du installerar fjärrkontroll i en domänmiljö beror helt och hållet på ditt nätverk. Remoting kan vara inaktiverad - eller till och med aktiverad - automatiskt av grupppolicy som konfigurerats av en admin. Du kanske inte har behörigheterna du behöver för att köra PowerShell som administratör. Kontrollera alltid med dina administratörer innan du försöker göra något så här. De kan ha goda skäl att inte tillåta övningen, eller de kan vara villiga att ställa upp det för dig.

    Ställ in din arbetsgrupp

    Om dina datorer inte finns på en domän måste du utföra några steg för att få saker att ställa in. Du bör redan ha aktiverat Remoting på datorn som du vill ansluta till, som vi beskrivit i föregående avsnitt.

    Obs! För att PowerShell Remoting ska fungera i en arbetsgruppsmiljö måste du konfigurera ditt nätverk som ett privat, inte offentligt nätverk. För mer om skillnaden och hur du byter till ett privat nätverk om du redan har ett offentligt nätverk inrättat, kolla in vår guide på privata och offentliga nätverk.

    Därefter måste du konfigurera inställningen TrustedHosts på både den dator som du vill ansluta till och den dator (eller datorer) du vill ansluta till, så datorerna kommer att lita på varandra. Du kan göra detta på ett av två sätt.

    Om du är i ett hemnätverk där du vill fortsätta och lita på vilken dator som helst som ska anslutas, kan du skriva följande cmdlet i PowerShell (igen måste du köra den som administratör).

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

    Asterisken är en jokertecken för alla datorer. Om du istället vill begränsa datorer som kan anslutas kan du ersätta asterisken med en kommaseparerad lista över IP-adresser eller datornamn för godkända datorer.

    När du har kört det här kommandot måste du starta om WinRM-tjänsten så att dina nya inställningar träder i kraft. Skriv följande cmdlet och tryck sedan på Enter:

    Starta om WinRM

    Och kom ihåg att du måste köra de två cmdlets på datorn som du vill ansluta till, liksom på alla datorer du vill ansluta från.

    Testa anslutningen

    Nu när du har installerat dina datorer för PowerShell Remoting, är det dags att testa anslutningen. På datorn som du vill komma åt fjärrsystemet från, skriv följande cmdlet i PowerShell (byt ut "COMPUTER" med namnet eller IP-adressen för fjärr-datorn) och tryck sedan på Enter:

    Test-WsMan COMPUTER

    Det här enkla kommandot testa om WinRM-tjänsten körs på den fjärranslutna datorn. Om det slutförs framgångsrikt ser du information om fjärrdatorns WinRM-tjänst i fönstret, vilket betyder att WinRM är aktiverat och din dator kan kommunicera. Om kommandot misslyckas visas ett felmeddelande istället.

    Utför en enkel fjärrkommando

    För att köra ett kommando på fjärrsystemet, använd Invoke-kommando cmdlet med följande syntax:

    Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -kritiskt användarnamn

    "COMPUTER" representerar fjärrdatorns namn eller IP-adress. "COMMAND" är det kommando du vill köra. "USERNAME" är det användarnamn som du vill köra kommandot som på fjärrdatorn. Du uppmanas att ange ett lösenord för användarnamnet.

    Här är ett exempel. Jag vill se innehållet i katalogen C: \ på en fjärrdator med IP-adressen 10.0.0.22. Jag vill använda användarnamnet "wjgle", så jag skulle använda följande kommando:

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

    Starta en fjärrsession

    Om du har flera cmdlets som du vill köra på fjärrdatorn, kan du istället för att starta en fjärr-session istället för att skriva cmdlet-kommandot och fjärr-IP-adressen upprepade gånger. Skriv bara följande cmdlet och tryck sedan på Enter:

    Enter-PSSession -ComputerName COMPUTER -Credential USER

    Åter ersätt "COMPUTER" med fjärrdatorns namn eller IP-adress och ersätt "USER" med namnet på det användarkonto du vill åberopa.

    Din snabba ändring ändras för att indikera fjärrdatorn som du är ansluten till, och du kan utföra ett antal PowerShell-cmdlets direkt på fjärrsystemet.