about_Remote_Troubleshooting

Kort beskrivning

Beskriver hur du felsöker fjärråtgärder i PowerShell.

Lång beskrivning

I det här avsnittet beskrivs några av de problem som kan uppstå när du använder fjärrkommunikationsfunktionerna i PowerShell som baseras på WS-Management-teknik och föreslår lösningar på dessa problem.

Innan du använder PowerShell-fjärrkommunikation kan du about_Remote och about_Remote_Requirements mer information om konfiguration och grundläggande användning. Dessutom innehåller hjälpavsnitten för varje fjärrkommunikations-cmdlets, särskilt parameterbeskrivningarna, användbar information som är utformad för att hjälpa dig att undvika problem.

Anteckning

Om du vill visa eller ändra inställningarna för den lokala datorn på WSMan:-enheten, inklusive ändringar av sessionskonfigurationer, betrodda värdar, portar eller lyssnare, startar du PowerShell med alternativet Kör som administratör.

Felsöka behörighets- och autentiseringsproblem

I det här avsnittet beskrivs fjärrkommunikationsproblem som är relaterade till användar- och datorbehörigheter och fjärrkommunikationskrav.

Så här kör du som administratör

ERROR: Access is denied. You need to run this cmdlet from an elevated
process.

Om du vill starta en fjärrsession på den lokala datorn eller visa eller ändra inställningarna för den lokala datorn i WSMan:-enheten, inklusive ändringar i sessionskonfigurationer, betrodda värdar, portar eller lyssnare, startar du Windows PowerShell med alternativet Kör som administratör.

Så här Windows PowerShell du med alternativet Kör som administratör:

  • Högerklicka på ikonen Windows PowerShell (eller Windows PowerShell ISE) och klicka sedan på Kör som administratör.

    Om du Windows PowerShell alternativet Kör som administratör i Windows 7 och Windows Server 2008 R2.

  • I aktivitetsfältet i Windows högerklickar du på ikonen Windows PowerShell och klickar sedan på Kör som administratör.

    I Windows Server 2008 R2 Windows PowerShell fästs ikonen i aktivitetsfältet som standard.

Så här aktiverar du fjärrkommunikation

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to
listen for requests on the correct port and HTTP URL.

Ingen konfiguration krävs för att göra det möjligt för en dator att skicka fjärrkommandon. Men om du vill ta emot fjärrkommandon måste PowerShell-fjärrkommunikation vara aktiverat på datorn. Aktiveringen omfattar att starta WinRM-tjänsten, ställa in starttypen för WinRM-tjänsten på Automatisk, skapa lyssnare för HTTP- och HTTPS-anslutningar och skapa standardkonfigurationer för sessioner.

Windows PowerShell fjärrkommunikation är aktiverat på Windows Server 2012 och nyare versioner av Windows Server som standard. På alla andra system kör du Enable-PSRemoting cmdleten för att aktivera fjärrkommunikation. Du kan också köra cmdleten för att återaktivera fjärrkommunikation på Windows Server 2012 och nyare versioner av Windows Server om fjärrkommunikation är Enable-PSRemoting inaktiverat.

Om du vill konfigurera en dator för att ta emot fjärrkommandon använder Enable-PSRemoting du cmdleten . Följande kommando aktiverar alla nödvändiga fjärrinställningar, aktiverar sessionskonfigurationerna och startar om WinRM-tjänsten för att ändringarna ska gälla.

Enable-PSRemoting

Om du vill förhindra alla användaruppfrågade anger du:

Enable-PSRemoting -Force

Mer information finns i Enable-PSRemoting.

Så här aktiverar du fjärrkommunikation i ett företag

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Om du vill göra det möjligt för en enskild dator att ta emot PowerShell-fjärrkommandon och acceptera anslutningar använder Enable-PSRemoting du cmdleten .

Om du vill aktivera fjärrkommunikation för flera datorer i ett företag kan du använda följande skalningsalternativ.

  • Om du vill konfigurera lyssnare för fjärrkommunikation aktiverar du grupprincipen Tillåt automatisk konfiguration av lyssnare.

  • Om du vill ställa in starttypen för Windows Remote Management (WinRM) på Automatisk på flera datorer använder du Set-Service cmdleten .

  • Om du vill aktivera ett brandväggundantag använder du grupprincipen Tillåt lokala portundantag i Windows-brandväggen.

Så här aktiverar du lyssnare med hjälp av en grupprincip

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Om du vill konfigurera lyssnare för alla datorer i en domän aktiverar du principen Tillåt automatisk konfiguration av lyssnare i följande grupprincip sökväg:

Computer Configuration\Administrative Templates\Windows Components
    \Windows Remote Management (WinRM)\WinRM service

Aktivera principen och ange IPv4- och IPv6-filtren. Jokertecken ( * ) tillåts.

Så här aktiverar du fjärrkommunikation i offentliga nätverk

ERROR:  Unable to check the status of the firewall

Cmdleten returnerar det här felet när det lokala nätverket är offentligt och Enable-PSRemoting parametern SkipNetworkProfileCheck inte används i kommandot.

På serverversioner av Enable-PSRemoting Windows, lyckas på alla typer av nätverksplats. Den skapar brandväggsregler som tillåter fjärråtkomst till privata nätverk och domännätverk ("Start" och "Arbete"). För offentliga nätverk skapas brandväggsregler som tillåter fjärråtkomst från samma lokala undernät.

I klientversioner av Windows Enable-PSRemoting lyckas i privata nätverk och domännätverk. Som standard misslyckas den i offentliga nätverk, men om du använder parametern SkipNetworkProfileCheck lyckas och skapar en brandväggsregel som tillåter trafik från samma Enable-PSRemoting lokala undernät.

Om du vill ta bort begränsningen för lokala undernät i offentliga nätverk och tillåta fjärråtkomst från valfri plats kör du följande kommando:

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

Set-NetFirewallRuleCmdleten exporteras av NetSecurity-modulen.

Anteckning

I Windows PowerShell 2.0 skapar på datorer som kör serverversioner av Windows brandväggsregler som tillåter fjärråtkomst i privata nätverk, domännätverk Enable-PSRemoting och offentliga nätverk. På datorer som kör klientversioner av Windows Enable-PSRemoting skapar brandväggsregler som endast tillåter fjärråtkomst i privata nätverk och domännätverk.

Så här aktiverar du ett brandväggsfel med hjälp av en grupprincip

ERROR:  ACCESS IS DENIED

or

ERROR: The connection to the remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

Om du vill aktivera ett brandväggundantag för på alla datorer i en domän aktiverar du principen Windows-brandväggen: Tillåt undantag för lokala portar i följande grupprincip sökväg:

Computer Configuration\Administrative Templates\Network
    \Network Connections\Windows Firewall\Domain Profile

Med den här principen kan medlemmar i gruppen Administratörer på datorn använda Windows-brandväggen i Kontrollpanelen skapa ett brandväggsfel för Windows Remote Management-tjänsten.

Om principkonfigurationen är felaktig kan du få följande fel:

The client cannot connect to the destination specified in the request. Verify
that the service on the destination is running and is accepting requests.

Ett konfigurationsfel i principen resulterar i ett tomt värde för egenskapen ListeningOn. Använd följande kommando för att kontrollera värdet.

PS> Get-WSManInstance winrm/config/listener -Enumerate

cfg                   : http://schemas.microsoft.com/wbem/wsman/1/config/listener
xsi                   : http://www.w3.org/2001/XMLSchema-instance
Source                : GPO
lang                  : en-US
Address               : *
Transport             : HTTP
Port                  : 5985
Hostname              :
Enabled               : true
URLPrefix             : wsman
CertificateThumbprint :
ListeningOn           : {}

Ange starttyp för WinRM-tjänsten

ERROR:  ACCESS IS DENIED

PowerShell-fjärrkommunikationen är beroende av tjänsten Windows Remote Management (WinRM). Tjänsten måste köras för att stödja fjärrkommandon.

På serverversioner av Windows är starttypen för tjänsten Windows Remote Management (WinRM) Automatisk.

I klientversioner av Windows är Dock WinRM-tjänsten inaktiverad som standard.

Om du vill ange starttypen för en tjänst på en fjärrdator använder du Set-Service cmdleten .

Om du vill köra kommandot på flera datorer kan du skapa en textfil eller EN CSV-fil med datornamnen.

Följande kommandon hämtar till exempel en lista med datornamn från filen och anger sedan starttypen för WinRM-tjänsten på alla datorer Servers.txt till Automatisk.

$servers = Get-Content servers.txt
Set-Service WinRM -ComputerName $servers -startuptype Automatic

Om du vill se resultatet använder Get-WMIObject du cmdleten med Win32_Service objekt. Mer information finns i Set-Service.

Så här återskapar du standardkonfigurationerna för sessioner

ERROR:  ACCESS IS DENIED

Om du vill fjärransluta till den lokala datorn och köra kommandon måste den lokala datorn innehålla sessionskonfigurationer för fjärrkommandon.

När du använder Enable-PSRemoting skapas standardkonfigurationer för sessioner på den lokala datorn. Fjärranvändare använder dessa sessionskonfigurationer när ett fjärrkommando inte innehåller parametern ConfigurationName.

Om standardkonfigurationerna på en dator avregistreras eller tas bort använder du Enable-PSRemoting cmdleten för att återskapa dem. Du kan använda denna cmdlet upprepade gånger. Det genererar inte fel om en funktion redan har konfigurerats.

Om du ändrar standardkonfigurationerna för sessioner och vill återställa de ursprungliga standardkonfigurationerna för sessioner använder du cmdleten för att ta bort de ändrade sessionskonfigurationerna och använder Unregister-PSSessionConfiguration sedan cmdleten för att Enable-PSRemoting återställa dem. Enable-PSRemoting ändrar inte befintliga sessionskonfigurationer.

Anteckning

När Enable-PSRemoting återställer standardkonfigurationen för sessionen skapar den inte explicita säkerhetsbeskrivningar för konfigurationerna. Konfigurationerna ärver i stället säkerhetsbeskrivningen för RootSDDL, som är säker som standard.

Om du vill se säkerhetsbeskrivningen för RootSDDL skriver du:

Get-Item wsman:\localhost\Service\RootSDDL

Om du vill ändra RootSDDL använder du Set-Item cmdleten i WSMan:-enheten. Om du vill ändra säkerhetsbeskrivningen för en sessionskonfiguration använder du Set-PSSessionConfiguration cmdleten med parametrarna SecurityDescriptorSDDL eller ShowSecurityDescriptorUI.

Mer information om WSMan:-enheten finns i hjälpavsnittet för WSMan-providern ("Get-Help wsman").

Så här anger du administratörsautentiseringsuppgifter

ERROR:  ACCESS IS DENIED

Om du vill skapa en PSSession eller köra kommandon på en fjärrdator måste den aktuella användaren som standard vara medlem i gruppen Administratörer på fjärrdatorn. Autentiseringsuppgifter krävs ibland även när den aktuella användaren är inloggad på ett konto som är medlem i gruppen Administratörer.

Om den aktuella användaren är medlem i gruppen Administratörer på fjärrdatorn, eller kan ange autentiseringsuppgifterna för en medlem i gruppen Administratörer, använder du parametern Autentiseringsuppgifter i New-PSSession cmdletarna eller för att Enter-PSSession fjärransluta. Invoke-Command

Följande kommando innehåller till exempel autentiseringsuppgifterna för en administratör.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Mer information om parametern Autentiseringsuppgifter finns i New-PSSession, Enter-PSSession eller Invoke-Command.

Så här aktiverar du fjärrkommunikation för icke-administrativa användare

ERROR:  ACCESS IS DENIED

För att kunna upprätta en PSSession eller köra ett kommando på en fjärrdator måste användaren ha behörighet att använda sessionskonfigurationerna på fjärrdatorn.

Som standard har endast medlemmar i gruppen Administratörer på en dator behörighet att använda standardkonfigurationerna för sessioner. Därför kan endast medlemmar i gruppen Administratörer fjärransluta till datorn.

Om du vill tillåta andra användare att ansluta till den lokala datorn ger du användaren Kör-behörigheter till standardkonfigurationerna för sessioner på den lokala datorn.

Följande kommando öppnar en egenskapssida där du kan ändra säkerhetsbeskrivningen för standardkonfigurationen för Microsoft.PowerShell-sessionen på den lokala datorn.

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

Mer information finns i about_Session_Configurations.

Så här aktiverar du fjärrkommunikation för administratörer i andra domäner

ERROR:  ACCESS IS DENIED

När en användare i en annan domän är medlem i gruppen Administratörer på den lokala datorn kan användaren inte fjärransluta till den lokala datorn med administratörsbehörighet. Som standard körs fjärranslutningar från andra domäner med endast standardtoken för användarbehörighet.

Du kan dock använda registerposten LocalAccountTokenFilterPolicy för att ändra standardbeteendet och tillåta fjärranvändare som är medlemmar i gruppen Administratörer att köra med administratörsbehörighet.

Varning

Posten LocalAccountTokenFilterPolicy inaktiverar UAC-fjärrbegränsningar (User Account Control) för alla användare av alla berörda datorer. Överväg konsekvenserna av den här inställningen noggrant innan du ändrar principen.

Om du vill ändra principen använder du följande kommando för att ange värdet för registerposten LocalAccountTokenFilterPolicy till 1.

New-ItemProperty -Name LocalAccountTokenFilterPolicy `
  -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System `
  -PropertyType DWord -Value 1

Använda en IP-adress i ett fjärrkommando

ERROR: The WinRM client cannot process the request. If the authentication
scheme is different from Kerberos, or if the client computer is not joined to a
domain, then HTTPS transport must be used or the destination machine must be
added to the TrustedHosts configuration setting.

Parametern ComputerName för New-PSSession Enter-PSSession Invoke-Command cmdletarna , och accepterar en IP-adress som ett giltigt värde. Men eftersom Kerberos-autentisering inte stöder IP-adresser används NTLM-autentisering som standard när du anger en IP-adress.

När du använder NTLM-autentisering krävs följande procedur för fjärrkommunikation.

  1. Konfigurera datorn för HTTPS-transport eller lägg till IP-adresserna för fjärrdatorerna i listan TrustedHosts på den lokala datorn.

  2. Använd parametern Autentiseringsuppgifter i alla fjärrkommandon.

    Detta krävs även när du skickar autentiseringsuppgifterna för den aktuella användaren.

Fjärransluta från en arbetsgruppsbaserad dator

ERROR: The WinRM client cannot process the request. If the authentication
scheme is different from Kerberos, or if the client computer is not joined to a
domain, then HTTPS transport must be used or the destination machine must be
added to the TrustedHosts configuration setting.

När den lokala datorn inte finns i en domän krävs följande procedur för fjärrkommunikation.

  1. Konfigurera datorn för HTTPS-transport eller lägg till namnen på fjärrdatorerna i listan TrustedHosts på den lokala datorn.

  2. Kontrollera att ett lösenord har angetts på den arbetsgruppsbaserade datorn. Om inget lösenord har angetts eller om lösenordsvärdet är tomt kan du inte köra fjärrkommandon.

    Om du vill ange lösenord för ditt användarkonto använder du Användarkonton i Kontrollpanelen.

  3. Använd parametern Autentiseringsuppgifter i alla fjärrkommandon.

    Detta krävs även när du skickar autentiseringsuppgifterna för den aktuella användaren.

Så här lägger du till en dator i listan över betrodda värdar

Objektet TrustedHosts kan innehålla en kommaavgränsad lista med datornamn, IP-adresser och fullständigt kvalificerade domännamn. Jokertecken tillåts.

Om du vill visa eller ändra listan över betrodda värdar använder du WSMan:-enheten. Objektet TrustedHost finns i WSMan:\localhost\Client noden.

Endast medlemmar i gruppen Administratörer på datorn har behörighet att ändra listan över betrodda värdar på datorn.

Varning: Det värde som du anger för objektet TrustedHosts påverkar alla användare av datorn.

Om du vill visa listan över betrodda värdar använder du följande kommando:

Get-Item wsman:\localhost\Client\TrustedHosts

Du kan också använda Set-Location cmdleten (alias = cd) för att navigera genom WSMan:-enheten till platsen. Exempel:

cd WSMan:\localhost\Client; dir

Om du vill lägga till alla datorer i listan över betrodda värdar använder du följande kommando, som placerar värdet * (alla) i ComputerName

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

Du kan också använda jokertecken ( * ) för att lägga till alla datorer i en viss domän i listan över betrodda värdar. Följande kommando lägger till exempel till alla datorer i Fabrikam-domänen i listan över betrodda värdar.

Set-Item wsman:localhost\client\trustedhosts *.fabrikam.com

Om du vill lägga till namnen på vissa datorer i listan över betrodda värdar använder du följande kommandoformat:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <ComputerName>

där varje <ComputerName> värde måste ha följande format:

<Computer>.<Domain>.<Company>.<top-level-domain>

Exempel:

$server = 'Server01.Domain01.Fabrikam.com'
Set-Item wsman:\localhost\Client\TrustedHosts -Value $server

Om du vill lägga till ett datornamn i en befintlig lista över betrodda värdar sparar du först det aktuella värdet i en variabel och anger sedan värdet till en kommaavgränsad lista som innehåller aktuella och nya värden.

Om du till exempel vill lägga till Server01-datorn i en befintlig lista över betrodda värdar använder du följande kommando

$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).value

Set-Item wsman:\localhost\Client\TrustedHosts -Value `
  "$curValue, Server01.Domain01.Fabrikam.com"

Om du vill lägga till IP-adresserna för vissa datorer i listan över betrodda värdar använder du följande kommandoformat:

Set-Item wsman:\localhost\Client\TrustedHosts -Value <IP Address>

Exempel:

Set-Item wsman:\localhost\Client\TrustedHosts -Value 172.16.0.0

Om du vill lägga till en dator i listan TrustedHosts för en fjärrdator använder du cmdleten för att lägga till en nod för fjärrdatorn till Connect-WSMan WSMan:-enheten på den lokala datorn. Använd sedan kommandot Set-Item för att lägga till datorn.

Mer information om Connect-WSMan cmdleten finns i Connect-WSMan.

Felsöka problem med datorkonfiguration

I det här avsnittet beskrivs fjärrkommunikationsproblem som är relaterade till specifika konfigurationer av en dator, domän eller företag.

Så här konfigurerar du fjärrkommunikation på alternativa portar

ERROR: The connection to the specified remote host was refused. Verify that the
WS-Management service is running on the remote host and configured to listen
for requests on the correct port and HTTP URL.

PowerShell-fjärrkommunikation använder port 80 för HTTP-transport som standard. Standardporten används när användaren inte anger parametrarna ConnectionURI eller Port i ett fjärrkommando.

Om du vill ändra standardporten som PowerShell använder använder du Set-Item cmdleten i WSMan:-enheten för att ändra portvärdet i lyssnarens lövnod.

Följande kommando ändrar till exempel standardporten till 8080.

Set-Item wsman:\localhost\listener\listener*\port -Value 8080

Så här konfigurerar du fjärrkommunikation med en proxyserver

ERROR: The client cannot connect to the destination specified in the request.
Verify that the service on the destination is running and is accepting
requests.

Eftersom PowerShell-fjärrkommunikationen använder HTTP-protokollet påverkas den av HTTP-proxyinställningar. I företag som har proxyservrar kan användarna inte komma åt en PowerShell-fjärrdator direkt.

Lös problemet genom att använda alternativ för proxyinställningar i fjärrkommandot. Följande inställningar är tillgängliga:

  • ProxyAccessType
  • ProxyAuthentication
  • ProxyCredential

Om du vill ange dessa alternativ för ett visst kommando använder du följande procedur:

  1. Använd parametrarna ProxyAccessType, ProxyAuthentication och ProxyCredential för cmdleten för att skapa ett sessionsalternativobjekt med proxyinställningarna för New-PSSessionOption ditt företag. Spara alternativobjektet är en variabel.

  2. Använd variabeln som innehåller alternativobjektet som värde för parametern SessionOption för ett New-PSSession Enter-PSSession -, - eller Invoke-Command -kommando.

Följande kommando skapar till exempel ett sessionsalternativobjekt med alternativ för proxysession och använder sedan -objektet för att skapa en fjärrsession.

$SessionOption = New-PSSessionOption -ProxyAccessType IEConfig `
-ProxyAuthentication Negotiate -ProxyCredential Domain01\User01

New-PSSession -ConnectionURI https://www.fabrikam.com

Mer information om New-PSSessionOption cmdleten finns i New-PSSessionOption.

Om du vill ange dessa alternativ för alla fjärrkommandon i den aktuella sessionen använder du alternativobjektet New-PSSessionOption som skapar i värdet för inställningsvariabeln. $PSSessionOption Mer information finns i about_Preference_Variables.

Om du vill ange dessa alternativ för alla fjärrkommandon för alla PowerShell-sessioner på den lokala datorn lägger du till $PSSessionOption inställningsvariabeln i din PowerShell-profil. Mer information om PowerShell-profiler finns i about_Profiles.

Så här identifierar du en 32-bitars session på en 64-bitarsdator

ERROR: The term "<tool-Name>" is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.

Om fjärrdatorn kör en 64-bitars version av Windows och fjärrkommandot använder en 32-bitars sessionskonfiguration, till exempel Microsoft.PowerShell32, läser Windows Remote Management (WinRM) in en WOW64-process och Windows omdirigerar automatiskt alla referenser till katalogen till $env:Windir\System32 $env:Windir\SysWOW64 katalogen.

Om du försöker använda verktyg i System32-katalogen som inte har motsvarigheter i sysWow64-katalogen, till exempel , går det därför inte att hitta verktygen i Defrag.exe katalogen .

Om du vill hitta processorarkitekturen som används i sessionen använder du värdet för PROCESSOR_ARCHITECTURE miljövariabeln. Följande kommando hittar processorarkitekturen för sessionen i $s variabeln .

$s = New-PSSession -ComputerName Server01 -ConfigurationName CustomShell
Invoke-Command -Session $s {$env:PROCESSOR_ARCHITECTURE}
x86

För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

Felsöka problem med policyer och inställningar

I det här avsnittet beskrivs fjärrkommunikationsproblem som rör principer och inställningar som angetts på lokala datorer och fjärrdatorer.

Ändra körningsprincipen för Import-PSSession och Import-Module

ERROR: Import-Module: File <filename> cannot be loaded because the
execution of scripts is disabled on this system.

Cmdletarna och Import-PSSession skapar moduler som innehåller Export-PSSession osignerade skriptfiler och formateringsfiler.

Om du vill importera modulerna som skapas av dessa cmdlets, antingen med hjälp av eller , kan inte körningsprincipen i den aktuella Import-PSSession sessionen vara Begränsad eller Import-Module AllSigned. Information om PowerShell-körningsprinciper finns i about_Execution_Policies.

Om du vill importera modulerna utan att ändra körningsprincipen för den lokala datorn som har angetts i registret använder du scope-parametern för för att ange en mindre begränsande körningsprincip för Set-ExecutionPolicy en enda process.

Följande kommando startar till exempel en process med RemoteSigned körningsprincipen. Ändringen av körningsprincipen påverkar bara den aktuella processen och ändrar inte registerinställningen PowerShell ExecutionPolicy.

Set-ExecutionPolicy -Scope process -ExecutionPolicy RemoteSigned

Du kan också använda parametern ExecutionPolicy för PowerShell.exe för att starta en enskild session med en mindre begränsande körningsprincip.

PowerShell.exe -ExecutionPolicy RemoteSigned

Mer information om körningsprinciper finns i about_Execution_Policies. För mer information ange PowerShell.exe -?.

Ange och ändra kvoter

ERROR: The total data received from the remote client exceeded allowed
maximum.

Du kan använda kvoter för att skydda den lokala datorn och fjärrdatorn från överdriven resursanvändning, både oavsiktlig och skadlig.

Följande kvoter är tillgängliga i den grundläggande konfigurationen.

  • WSMan-providern (WSMan:) innehåller flera kvotinställningar, till exempel inställningarna MaxEnvelopeSizeKB och MaxProviderRequests i noden och WSMan:<ComputerName> maxConcurrentOperations, MaxConcurrentOperationsPerUser och MaxConnections i WSMan:<ComputerName>\Service noden.

  • Du kan skydda den lokala datorn med parametrarna MaximumReceivedDataSizePerCommand och MaximumReceivedObjectSize för New-PSSessionOption cmdleten och inställningsvariabeln. $PSSessionOption

  • Du kan skydda fjärrdatorn genom att lägga till begränsningar i sessionskonfigurationerna, till exempel genom att använda parametrarna MaximumReceivedDataSizePerCommandMB och MaximumReceivedObjectSizeMB för Register-PSSessionConfiguration cmdleten.

När kvoter står i konflikt med ett kommando genererar PowerShell ett fel.

Lös problemet genom att ändra fjärrkommandot så att det uppfyller kvoten. Du kan också fastställa källan för kvoten och sedan öka kvoten så att kommandot kan slutföras.

Följande kommando ökar till exempel objektstorlekskvoten i Microsoft.PowerShell-sessionskonfigurationen på fjärrdatorn från 10 MB (standardvärdet) till 11 MB.

Set-PSSessionConfiguration -Name microsoft.PowerShell `
  -MaximumReceivedObjectSizeMB 11 -Force

Mer information om New-PSSessionOption cmdleten finns i New-PSSessionOption .

Mer information om WS-Management finns i about_WSMan_Provider.

Så här löser du timeout-fel

ERROR: The WS-Management service cannot complete the operation within
the time specified in OperationTimeout.

Du kan använda tidsgränser för att skydda den lokala datorn och fjärrdatorn från överdriven resursanvändning, både oavsiktlig och skadlig. När tidsgränser anges på både den lokala datorn och fjärrdatorn använder PowerShell de kortaste tidsgränsinställningarna.

Följande tidsgränser är tillgängliga i den grundläggande konfigurationen.

  • WSMan-providern (WSMan:) innehåller flera inställningar för timeout på klientsidan och tjänstsidan, till exempel inställningen MaxTimeoutms i noden och WSMan:<ComputerName> inställningarna EnumerationTimeoutms och MaxPacketRetrievalTimeSeconds i WSMan:<ComputerName>\Service noden.

  • Du kan skydda den lokala datorn med parametrarna CancelTimeout, IdleTimeout, OpenTimeout och OperationTimeout för New-PSSessionOption cmdleten och $PSSessionOption inställningsvariabeln.

  • Du kan också skydda fjärrdatorn genom att ange tidsgränsvärden programmatiskt i sessionskonfigurationen för sessionen.

När ett timeout-värde inte tillåter att en åtgärd slutförs avslutar PowerShell åtgärden och genererar ett fel.

Lös felet genom att ändra kommandot så att det slutförs inom tidsgränsintervallet eller fastställa källan till tidsgränsen och öka tidsgränsintervallet så att kommandot kan slutföras.

Följande kommandon använder till exempel cmdleten för att skapa ett sessionsalternativobjekt med New-PSSessionOption ett OperationTimeout-värde på 4 minuter (i MS) och använder sedan sessionsalternativet för att skapa en fjärrsession.

$pso = New-PSSessionoption -OperationTimeout 240000

New-PSSession -ComputerName Server01 -sessionOption $pso

Mer information om tidsgränser WS-Management finns i hjälpavsnittet för WSMan-providern (typ Get-Help WSMan ).

Mer information om New-PSSessionOption cmdleten finns i New-PSSessionOption.

Felsöka beteende som inte svarar

I det här avsnittet beskrivs fjärrkommunikationsproblem som förhindrar att ett kommando slutförs och förhindrar eller fördröjer returen av PowerShell-prompten.

Så här avbryter du ett kommando

Vissa interna Windows-program, till exempel program med ett användargränssnitt, konsolprogram som frågar efter indata och konsolprogram som använder Win32-konsolens API, fungerar inte korrekt i PowerShell-fjärrvärden.

När du använder dessa program kan du se oväntade beteenden, till exempel inga utdata, partiella utdata eller ett fjärrkommando som inte slutförs.

Om du vill avsluta ett program som inte svarar skriver du CTRL + C. Om du vill visa eventuella fel som kan ha rapporterats skriver $error du in den lokala värden och fjärrsessionen.

Så här återställer du från ett åtgärdsfel

ERROR: The I/O operation has been aborted because of either a thread exit
or an  application request.

Det här felet returneras när en åtgärd avslutas innan den slutförs. Det inträffar vanligtvis när WinRM-tjänsten stoppas eller startas om medan andra WinRM-åtgärder pågår.

Lös problemet genom att kontrollera att WinRM-tjänsten körs och prova kommandot igen.

  1. Starta PowerShell med alternativet Kör som administratör.

  2. Kör följande kommando:

    Start-Service WinRM

  3. Kör kommandot som genererade felet igen.

Linux- och macOS-begränsningar

Autentisering

Endast grundläggande autentisering fungerar på macOS och försök att använda andra autentiseringsscheman kan resultera i att processen kraschar.

Läs instruktionerna för OMI-autentisering.

SE ÄVEN

Import-PSSession

Export-PSSession

Import-Module

about_Remote

about_Remote_Requirements

about_Remote_Variables