Om fjär kravAbout Remote Requirements

KORT BESKRIVNINGSHORT DESCRIPTION

Beskriver system krav och konfigurations krav för att köra fjärrkommandon i PowerShell.Describes the system requirements and configuration requirements for running remote commands in PowerShell.

LÅNG BESKRIVNINGLONG DESCRIPTION

I det här avsnittet beskrivs system kraven, användar kraven och resurs kraven för att upprätta fjärr anslutningar och köra fjärrkommandon i PowerShell.This topic describes the system requirements, user requirements, and resource requirements for establishing remote connections and running remote commands in PowerShell. Den innehåller också instruktioner för att konfigurera fjärråtgärder.It also provides instructions for configuring remote operations.

Obs! många cmdletar (inklusive get-service, get-process, get-WMIObject, get-EventLog och Get-WinEvent cmdlets) hämtar objekt från fjärrdatorer genom att använda Microsoft .NET Ramverks metoder för att hämta objekten.Note: Many cmdlets (including the Get-Service, Get-Process, Get-WMIObject, Get-EventLog, and Get-WinEvent cmdlets) get objects from remote computers by using Microsoft .NET Framework methods to retrieve the objects. De använder inte PowerShell-infrastrukturen för fjärr kommunikation.They do not use the PowerShell remoting infrastructure. Kraven i det här dokumentet gäller inte för dessa cmdletar.The requirements in this document do not apply to these cmdlets.

Om du vill hitta de cmdlet: ar som har en ComputerName-parameter men inte använda PowerShell-fjärrkommunikation läser du beskrivningen av ComputerName-parametern för cmdletarna.To find the cmdlets that have a ComputerName parameter but do not use PowerShell remoting, read the description of the ComputerName parameter of the cmdlets.

SYSTEM KRAVSYSTEM REQUIREMENTS

Om du vill köra fjärrsessioner på Windows PowerShell 3,0 måste lokala och fjärranslutna datorer ha följande:To run remote sessions on Windows PowerShell 3.0, the local and remote computers must have the following:

  • Windows PowerShell 3,0 eller senareWindows PowerShell 3.0 or later
  • Microsoft .NET Framework 4 eller senareThe Microsoft .NET Framework 4 or later
  • Windows Remote Management 3,0Windows Remote Management 3.0

Om du vill köra fjärrsessioner på Windows PowerShell 2,0 måste lokala och fjärranslutna datorer ha följande:To run remote sessions on Windows PowerShell 2.0, the local and remote computers must have the following:

  • Windows PowerShell 2,0 eller senareWindows PowerShell 2.0 or later
  • Microsoft .NET Framework 2,0 eller senareThe Microsoft .NET Framework 2.0 or later
  • Windows Remote Management 2,0Windows Remote Management 2.0

Du kan skapa fjärrsessioner mellan datorer som kör Windows PowerShell 2,0 och Windows PowerShell 3,0.You can create remote sessions between computers running Windows PowerShell 2.0 and Windows PowerShell 3.0. Funktioner som bara körs på Windows PowerShell 3,0, till exempel möjligheten att koppla från och återansluta till sessioner, är bara tillgängliga när båda datorerna kör Windows PowerShell 3,0.However, features that run only on Windows PowerShell 3.0, such as the ability to disconnect and reconnect to sessions, are available only when both computers are running Windows PowerShell 3.0.

Du hittar versions numret för en installerad version av PowerShell med hjälp av den automatiska variabeln $PSVersionTable.To find the version number of an installed version of PowerShell, use the $PSVersionTable automatic variable.

Windows Remote Management (WinRM) 3,0 och Microsoft .NET Framework 4 ingår i Windows 8, Windows Server 2012 och senare versioner av Windows operativ system.Windows Remote Management (WinRM) 3.0 and Microsoft .NET Framework 4 are included in Windows 8, Windows Server 2012, and newer releases of the Windows operating system. WinRM 3,0 ingår i Windows Management Framework 3,0 för äldre operativ system.WinRM 3.0 is included in Windows Management Framework 3.0 for older operating systems. Installationen Miss lyckas om datorn inte har den version av WinRM eller Microsoft .NET Framework som krävs.If the computer does not have the required version of WinRM or the Microsoft .NET Framework, the installation fails.

ANVÄNDARBEHÖRIGHETERUSER PERMISSIONS

Om du vill skapa fjärrsessioner och köra fjärrkommandon måste den aktuella användaren som standard vara medlem i gruppen Administratörer på fjärrdatorn eller ange autentiseringsuppgifter för en administratör.To create remote sessions and run remote commands, by default, the current user must be a member of the Administrators group on the remote computer or provide the credentials of an administrator. Annars Miss lyckas kommandot.Otherwise, the command fails.

De behörigheter som krävs för att skapa sessioner och köra kommandon på en fjärrdator (eller i en fjärran sluten session på den lokala datorn) upprättas av konfigurationen av sessionen (även kallat "slut punkt") på den fjärrdator som sessionen ansluter till.The permissions required to create sessions and run commands on a remote computer (or in a remote session on the local computer) are established by the session configuration (also known as an "endpoint") on the remote computer to which the session connects. Mer specifikt bestämmer säkerhets beskrivningen i konfigurationen vem som har åtkomst till sessionen och vem som kan använda den för att ansluta.Specifically, the security descriptor on the session configuration determines who has access to the session configuration and who can use it to connect.

Säkerhets beskrivarna på standardkonfigurationerna för sessioner, Microsoft. PowerShell, Microsoft. PowerShell32 och Microsoft. PowerShell. workflow, tillåter endast åtkomst till medlemmar i gruppen Administratörer.The security descriptors on the default session configurations, Microsoft.PowerShell, Microsoft.PowerShell32, and Microsoft.PowerShell.Workflow, allow access only to members of the Administrators group.

Om den aktuella användaren inte har behörighet att använda-sessionen, kan kommandot för att köra ett kommando (som använder en tillfällig session) eller skapa en beständig session på fjärrdatorn Miss lyckas.If the current user doesn't have permission to use the session configuration, the command to run a command (which uses a temporary session) or create a persistent session on the remote computer fails. Användaren kan använda parametern ConfigurationName för cmdletar som skapar sessioner för att välja en annan sessionsinformation, om en sådan finns tillgänglig.The user can use the ConfigurationName parameter of cmdlets that create sessions to select a different session configuration, if one is available.

Medlemmar i gruppen Administratörer på en dator kan bestämma vem som har behörighet att fjärrans luta till datorn genom att ändra säkerhets beskrivarna på standardkonfigurationerna för sessioner och genom att skapa nya sessionsinställningar med olika säkerhets beskrivningar.Members of the Administrators group on a computer can determine who has permission to connect to the computer remotely by changing the security descriptors on the default session configurations and by creating new session configurations with different security descriptors.

För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.For more information about session configurations, see about_Session_Configurations.

WINDOWS NÄTVERKS PLATSERWINDOWS NETWORK LOCATIONS

Från och med Windows PowerShell 3,0 kan Enable-PSRemoting cmdlet aktivera fjärr kommunikation på klient-och Server versioner av Windows i privata, domän och offentliga nätverk.Beginning in Windows PowerShell 3.0, the Enable-PSRemoting cmdlet can enable remoting on client and server versions of Windows on private, domain, and public networks.

I Server versioner av Windows med privata nätverk och domän nätverk skapar cmdleten Enable-PSRemoting brand Väggs regler som tillåter obegränsad fjärråtkomst.On server versions of Windows with private and domain networks, the Enable-PSRemoting cmdlet creates firewall rules that allow unrestricted remote access. Det skapar också en brand Väggs regel för offentliga nätverk som endast tillåter fjärråtkomst från datorer i samma lokala undernät.It also creates a firewall rule for public networks that allows remote access only from computers in the same local subnet. Den här brand Väggs regeln för lokalt undernät är aktive rad som standard på Server versioner av Windows i offentliga nätverk, men Enable-PSRemoting tillämpar regeln på om den har ändrats eller tagits bort.This local subnet firewall rule is enabled by default on server versions of Windows on public networks, but Enable-PSRemoting reapplies the rule in case it was changed or deleted.

I klient versioner av Windows med privata nätverk och domän nätverk, skapar Enable-PSRemoting-cmdlet som standard brand Väggs regler som tillåter obegränsad fjärråtkomst.On client versions of Windows with private and domain networks, by default, the Enable-PSRemoting cmdlet creates firewall rules that allow unrestricted remote access.

Om du vill aktivera fjärr kommunikation på klient versioner av Windows med offentliga nätverk använder du parametern SkipNetworkProfileCheck i Enable-PSRemoting-cmdleten.To enable remoting on client versions of Windows with public networks, use the SkipNetworkProfileCheck parameter of the Enable-PSRemoting cmdlet. Den skapar en brand Väggs regel som endast tillåter fjärråtkomst från datorer i samma lokala undernät.It creates a firewall rule that allows remote access only from computers in the same local subnet.

Om du vill ta bort begränsningen för lokal undernät i offentliga nätverk och tillåta fjärråtkomst från alla platser på klient-och Server versioner av Windows, använder du Set-NetFirewallRule cmdlet i modulen netsecurity.To remove the local subnet restriction on public networks and allow remote access from all locations on client and server versions of Windows, use the Set-NetFirewallRule cmdlet in the NetSecurity module. Kör följande kommando:Run the following command:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

I Windows PowerShell 2,0, i Server versioner av Windows, skapar Enable-PSRemoting brand Väggs regler som tillåter fjärråtkomst i alla nätverk.In Windows PowerShell 2.0, on server versions of Windows, Enable-PSRemoting creates firewall rules that permit remote access on all networks.

I Windows PowerShell 2,0 skapar Enable-PSRemoting brand Väggs regler endast för privata nätverk och domän nätverk på klient versioner av Windows.In Windows PowerShell 2.0, on client versions of Windows, Enable-PSRemoting creates firewall rules only on private and domain networks. Om nätverks platsen är offentlig Enable-PSRemoting Miss lyckas.If the network location is public, Enable-PSRemoting fails.

KÖR SOM ADMINISTRATÖRRUN AS ADMINISTRATOR

Administratörs behörighet krävs för följande fjärr kommunikations åtgärder:Administrator privileges are required for the following remoting operations:

  • Upprätta en fjärr anslutning till den lokala datorn.Establishing a remote connection to the local computer. Detta kallas ofta "loopback"-scenario.This is commonly known as a "loopback" scenario.

  • Hantera sessionsinställningar på den lokala datorn.Managing session configurations on the local computer.

  • Visa och ändra WS-Management inställningar på den lokala datorn.Viewing and changing WS-Management settings on the local computer. Detta är inställningarna i noden LocalHost för kommandot WSMAN: Drive.These are the settings in the LocalHost node of the WSMAN: drive.

Om du vill utföra dessa uppgifter måste du starta PowerShell med alternativet "kör som administratör" även om du är medlem i gruppen Administratörer på den lokala datorn.To perform these tasks, you must start PowerShell with the "Run as administrator" option even if you are a member of the Administrators group on the local computer.

Starta Windows PowerShell med alternativet "kör som administratör" i Windows 7 och Windows Server 2008 R2:In Windows 7 and in Windows Server 2008 R2, to start Windows PowerShell with the "Run as administrator" option:

  1. Klicka på Start, klicka på alla program, klicka på tillbehör och klicka sedan på Windows PowerShell-mappen.Click Start, click All Programs, click Accessories, and then click the Windows PowerShell folder.
  2. Högerklicka på Windows PowerShell och klicka sedan på Kör som administratör.Right-click Windows PowerShell, and then click "Run as administrator".

Starta Windows PowerShell med alternativet "kör som administratör":To start Windows PowerShell with the "Run as administrator" option:

  1. Klicka på Start, klicka på alla program och klicka sedan på Windows PowerShell-mappen.Click Start, click All Programs, and then click the Windows PowerShell folder.
  2. Högerklicka på Windows PowerShell och klicka sedan på Kör som administratör.Right-click Windows PowerShell, and then click "Run as administrator".

Alternativet "kör som administratör" är också tillgängligt i andra Windows Explorer-poster för Windows PowerShell, inklusive genvägar.The "Run as administrator" option is also available in other Windows Explorer entries for Windows PowerShell, including shortcuts. Högerklicka bara på objektet och klicka sedan på Kör som administratör.Just right-click the item, and then click "Run as administrator".

När du startar Windows PowerShell från ett annat program, till exempel Cmd.exe, använder du alternativet "kör som administratör" för att starta programmet.When you start Windows PowerShell from another program such as Cmd.exe, use the "Run as administrator" option to start the program.

SÅ HÄR KONFIGURERAR DU DIN DATOR FÖR FJÄRR KOMMUNIKATIONHOW TO CONFIGURE YOUR COMPUTER FOR REMOTING

Datorer som kör alla Windows-versioner som stöds kan upprätta fjärr anslutningar till och köra fjärrkommandon i PowerShell utan någon konfiguration.Computers running all supported versions of Windows can establish remote connections to and run remote commands in PowerShell without any configuration. Men om du vill ta emot anslutningar och tillåta användare att skapa lokala och fjärranslutna användar hanterade PowerShell-sessioner ("PSSessions") och köra kommandon på den lokala datorn måste du aktivera PowerShell-fjärrkommunikation på datorn.However, to receive connections, and allow users to create local and remote user-managed PowerShell sessions ("PSSessions") and run commands on the local computer, you must enable PowerShell remoting on the computer.

Windows Server 2012 och nyare versioner av Windows Server är aktiverade för PowerShell-fjärrkommunikation som standard.Windows Server 2012 and newer releases of Windows Server are enabled for PowerShell remoting by default. Om inställningarna har ändrats kan du återställa standardinställningarna genom att köra cmdleten Enable-PSRemoting.If the settings are changed, you can restore the default settings by running the Enable-PSRemoting cmdlet.

I alla andra versioner av Windows som stöds måste du köra cmdleten Enable-PSRemoting för att aktivera PowerShell-fjärrkommunikation.On all other supported versions of Windows, you need to run the Enable-PSRemoting cmdlet to enable PowerShell remoting.

Funktionerna för fjärr kommunikation i PowerShell stöds av WinRM-tjänsten, som är Microsofts implementering av protokollet webb tjänster för hantering (WS-Management).The remoting features of PowerShell are supported by the WinRM service, which is the Microsoft implementation of the Web Services for Management (WS-Management) protocol. När du aktiverar PowerShell-fjärrkommunikation ändrar du standard konfigurationen för WS-Management och lägger till system konfiguration som tillåter användare att ansluta till WS-Management.When you enable PowerShell remoting, you change the default configuration of WS-Management and add system configuration that allow users to connect to WS-Management.

Så här konfigurerar du PowerShell för att ta emot fjärrkommandon:To configure PowerShell to receive remote commands:

  1. Starta PowerShell med alternativet "kör som administratör".Start PowerShell with the "Run as administrator" option.
  2. Skriv Enable-PSRemoting i kommandotolkenAt the command prompt, type: Enable-PSRemoting

Kontrol lera att fjärr kommunikation är korrekt konfigurerad genom att köra ett test kommando, till exempel följande kommando, som skapar en fjärrsession på den lokala datorn.To verify that remoting is configured correctly, run a test command such as the following command, which creates a remote session on the local computer.

New-PSSession

Om fjärr kommunikation har kon figurer ATS korrekt skapar kommandot en session på den lokala datorn och returnerar ett objekt som representerar sessionen.If remoting is configured correctly, the command will create a session on the local computer and return an object that represents the session. Utdata bör likna följande exempel på utdata:The output should resemble the following sample output:

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Om kommandot Miss lyckas finns mer information i about_Remote_Troubleshooting.If the command fails, for assistance, see about_Remote_Troubleshooting.

FÖRSTÅ PRINCIPERUNDERSTAND POLICIES

När du arbetar på distans använder du två instanser av PowerShell, en på den lokala datorn och en på fjärrdatorn.When you work remotely, you use two instances of PowerShell, one on the local computer and one on the remote computer. Resultatet blir att ditt arbete påverkas av Windows-principerna och PowerShell-principerna på lokala datorer och fjärrdatorer.As a result, your work is affected by the Windows policies and the PowerShell policies on the local and remote computers.

I allmänhet gäller att innan du ansluter och när du upprättar anslutningen, gäller principerna på den lokala datorn.In general, before you connect and as you are establishing the connection, the policies on the local computer are in effect. När du använder anslutningen gäller principerna på fjärrdatorn.When you are using the connection, the policies on the remote computer are in effect.

Grundläggande begränsningar för autentisering på Linux och macOSBasic Authentication Limitations on Linux and macOS

Vid anslutning från ett Linux-eller macOS-system till Windows stöds inte grundläggande autentisering över HTTP.When connecting from a Linux or macOS system to Windows, Basic Authentication over HTTP is not supported. Grundläggande autentisering kan användas över HTTPS genom att installera ett certifikat på mål servern.Basic Authentication can be used over HTTPS by installing a certificate on the target server. Certifikatet måste ha ett CN-namn som matchar värd namnet, har inte gått ut eller återkallats.The certificate must have a CN name that matches the hostname, is not expired or revoked. Ett självsignerat certifikat kan användas i test syfte.A self-signed certificate may be used for testing purposes.

Mer information finns i så här gör du: Konfigurera WINRM för https .See How To: Configure WINRM for HTTPS for additional details.

Följande kommando, som körs från en upphöjd kommando tolk, konfigurerar HTTPS-lyssnaren på Windows med det installerade certifikatet.The following command, run from an elevated command prompt, will configure the HTTPS listener on Windows with the installed certificate.

$hostinfo = '@{Hostname="<DNS_NAME>"; CertificateThumbprint="<THUMBPRINT>"}'
winrm create winrm/config/Listener?Address=*+Transport=HTTPS $hostinfo

På Linux-eller macOS-sidan väljer du Basic för autentisering och-UseSSl.On the Linux or macOS side, select Basic for authentication and -UseSSl.

Obs! grundläggande autentisering kan inte användas med domän konton. ett lokalt konto krävs och kontot måste vara i gruppen Administratörer.NOTE: Basic authentication cannot be used with domain accounts; a local account is required and the account must be in the Administrators group.

# The specified local user must have administrator rights on the target machine.
# Specify the unqualified username.
$cred = Get-Credential username
$session = New-PSSession -Computer <hostname> -Credential $cred `
  -Authentication Basic -UseSSL

Ett alternativ till grundläggande autentisering över HTTPS är Negotiate.An alternative to Basic Authentication over HTTPS is Negotiate. Detta resulterar i att NTLM-autentisering mellan klienten och servern och nytto lasten krypteras över HTTP.This results in NTLM authentication between the client and server and payload is encrypted over HTTP.

Följande exempel visar hur du använder Negotiate med New-PSSession:The following illustrates using Negotiate with New-PSSession:

# The specified user must have administrator rights on the target machine.
$cred = Get-Credential username@hostname
$session = New-PSSession -Computer <hostname> -Credential $cred `
  -Authentication Negotiate

Anteckning

Windows Server kräver ytterligare en register inställning för att göra det möjligt för administratörer, förutom den inbyggda administratören, att ansluta med hjälp av NTLM.Windows Server requires an additional registry setting to enable administrators, other than the built in administrator, to connect using NTLM. Läs register inställningen LocalAccountTokenFilterPolicy under förhandla autentisering i autentisering för fjärr anslutningarRefer to the LocalAccountTokenFilterPolicy registry setting under Negotiate Authentication in Authentication for Remote Connections

SE ÄVENSEE ALSO

about_Remoteabout_Remote

about_Remote_Variablesabout_Remote_Variables

about_PSSessionsabout_PSSessions

Invoke-kommandoInvoke-Command

Retur-PSSessionEnter-PSSession

New-PSSessionNew-PSSession