Enable-PSRemoting

Konfigurerar datorn för att ta emot fjärrkommandon.

Syntax

Enable-PSRemoting
      [-Force]
      [-SkipNetworkProfileCheck]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Cmdleten Enable-PSRemoting konfigurerar datorn för att ta emot PowerShell-fjärrkommandon som skickas med hjälp av WS-Management-tekniken.

PowerShell-fjärrkommunikation är aktiverat som standard på Windows Server 2012. Du kan använda Enable-PSRemoting för att aktivera PowerShell-fjärrkommunikation i andra versioner av Windows som stöds och för att återaktivera fjärrkommunikation på Windows Server 2012 om det inaktiveras.

Du behöver bara köra det här kommandot en gång på varje dator som tar emot kommandon. Du behöver inte köra den på datorer som bara skickar kommandon. Eftersom konfigurationen startar lyssnare är det klokt att bara köra den där den behövs.

Från och med PowerShell 3.0 kan cmdleten Enable-PSRemoting aktivera PowerShell-fjärrkommunikation i klientversioner av Windows när datorn finns i ett offentligt nätverk. Mer information finns i beskrivningen av parametern SkipNetworkProfileCheck .

Cmdleten Enable-PSRemoting utför följande åtgärder:

  • Kör cmdleten Set-WSManQuickConfig , som utför följande uppgifter:
    • Startar WinRM-tjänsten.
    • Anger starttypen för WinRM-tjänsten till Automatisk.
    • Skapar en lyssnare för att acceptera begäranden på alla IP-adresser.
    • Aktiverar ett brandväggsfel för WS-Management-kommunikation.
    • Registrerar sessionskonfigurationerna Microsoft.PowerShell och Microsoft.PowerShell.Workflow, om de inte redan är registrerade.
    • Registrerar sessionskonfigurationen Microsoft.PowerShell32 på 64-bitarsdatorer om den inte redan är registrerad.
    • Aktiverar alla sessionskonfigurationer.
    • Ändrar säkerhetsbeskrivningen för alla sessionskonfigurationer så att fjärråtkomst tillåts.
  • Startar om WinRM-tjänsten för att göra de föregående ändringarna gällande.

Om du vill köra den här cmdleten på Windows-plattformen startar du PowerShell med alternativet Kör som administratör. Detta gäller inte för Linux- eller MacOS-versioner av PowerShell.

Varning

På system som har både PowerShell 3.0 och PowerShell 2.0 ska du inte använda PowerShell 2.0 för att köra Enable-PSRemoting cmdletarna och Disable-PSRemoting . Kommandona kan se ut att lyckas, men fjärrkommunikationen är inte korrekt konfigurerad. Fjärrkommandon och senare försök att aktivera och inaktivera fjärrkommunikation kommer sannolikt att misslyckas.

Exempel

Exempel 1: Konfigurera en dator för att ta emot fjärrkommandon

Det här kommandot konfigurerar datorn för att ta emot fjärrkommandon.

Enable-PSRemoting

Exempel 2: Konfigurera en dator för att ta emot fjärrkommandon utan en bekräftelsefråga

Det här kommandot konfigurerar datorn för att ta emot fjärrkommandon. Parametern Force undertrycker användarens uppmaningar.

Enable-PSRemoting -Force

Exempel 3: Tillåt fjärråtkomst på klienter

Det här exemplet visar hur du tillåter fjärråtkomst från offentliga nätverk i klientversioner av Windows-operativsystemet. Namnet på brandväggsregeln kan vara annorlunda för olika versioner av Windows. Använd Get-NetFirewallRule för att se en lista över regler. Innan du aktiverar brandväggsregeln kan du visa säkerhetsinställningarna i regeln för att kontrollera att konfigurationen är lämplig för din miljö.

Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name

Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP

Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any

Som standard Enable-PSRemoting skapar du nätverksregler som tillåter fjärråtkomst från privata nätverk och domännätverk. Kommandot använder parametern SkipNetworkProfileCheck för att tillåta fjärråtkomst från offentliga nätverk i samma lokala undernät. Kommandot anger force-parametern för att undertrycka bekräftelsemeddelanden.

Parametern SkipNetworkProfileCheck påverkar inte serverversionerna av Windows-operativsystemet, som tillåter fjärråtkomst från offentliga nätverk i samma lokala undernät som standard.

Cmdleten Set-NetFirewallRulei NetSecurity-modulen lägger till en brandväggsregel som tillåter fjärråtkomst från offentliga nätverk från valfri fjärrplats. Detta inkluderar platser i olika undernät.

Kommentar

Namnet på brandväggsregeln kan vara olika beroende på vilken version av Windows. Använd cmdleten Get-NetFirewallRule för att lista namnen på reglerna i systemet.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Tvingar kommandot att köras utan att be om användarbekräftelse.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipNetworkProfileCheck

Anger att den här cmdleten möjliggör fjärrkommunikation på klientversioner av Windows-operativsystemet när datorn är i ett offentligt nätverk. Den här parametern aktiverar en brandväggsregel för offentliga nätverk som endast tillåter fjärråtkomst från datorer i samma lokala undernät.

Den här parametern påverkar inte serverversioner av Windows-operativsystemet, som som standard har en brandväggsregel för lokala undernät för offentliga nätverk. Om brandväggsregeln för det lokala undernätet är inaktiverad på en serverversion Enable-PSRemoting aktiverar du den igen, oavsett värdet för den här parametern.

Om du vill ta bort begränsningen för det lokala undernätet och aktivera fjärråtkomst från alla platser i offentliga nätverk använder du cmdleten Set-NetFirewallRulei NetSecurity-modulen .

Den här parametern introducerades i PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

String

Den här cmdleten returnerar strängar som beskriver dess resultat.

Kommentarer

I PowerShell 3.0 Enable-PSRemoting skapar du följande brandväggsfel för WS-Management-kommunikation.

På serverversioner av Windows-operativsystemet Enable-PSRemoting skapar du brandväggsregler för privata nätverk och domännätverk som tillåter fjärråtkomst och skapar en brandväggsregel för offentliga nätverk som endast tillåter fjärråtkomst från datorer i samma lokala undernät.

På klientversioner av Windows-operativsystemet Enable-PSRemoting i PowerShell 3.0 skapas brandväggsregler för privata nätverk och domännätverk som tillåter obegränsad fjärråtkomst. Om du vill skapa en brandväggsregel för offentliga nätverk som tillåter fjärråtkomst från samma lokala undernät använder du parametern SkipNetworkProfileCheck .

På klient- eller serverversioner av Windows-operativsystemet använder du cmdleten Set-NetFirewallRule i NetSecurity-modulen för att köra följande kommando för att skapa en brandväggsregel för offentliga nätverk som tar bort begränsningen för det lokala undernätet och tillåter fjärråtkomst: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

I PowerShell 2.0 Enable-PSRemoting skapar du följande brandväggsfel för WS-Management-kommunikation.

På serverversioner av Windows-operativsystemet skapas brandväggsregler för alla nätverk som tillåter fjärråtkomst.

I Klientversioner av Windows-operativsystemet Enable-PSRemoting skapar PowerShell 2.0 endast ett brandväggsfel för domäner och privata nätverksplatser. För att minimera säkerhetsriskerna Enable-PSRemoting skapar du ingen brandväggsregel för offentliga nätverk i klientversioner av Windows. När den aktuella nätverksplatsen är offentlig Enable-PSRemoting returnerar följande meddelande: Det går inte att kontrollera brandväggens status.

Från och med PowerShell 3.0 Enable-PSRemoting aktiverar du alla sessionskonfigurationer genom att ange värdet för egenskapen Aktiverad för alla sessionskonfigurationer till $True.

I PowerShell 2.0 Enable-PSRemoting tar du bort inställningen Deny_All från säkerhetsbeskrivningen för sessionskonfigurationer. I PowerShell 3.0 Enable-PSRemoting tar du bort inställningarna för Deny_All och Network_Deny_All . Detta ger fjärråtkomst till sessionskonfigurationer som har reserverats för lokal användning.