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 vägledning 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 i sessionskonfigurationerna, 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ör 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 på WSMan:-enheten, inklusive ändringar i sessionskonfigurationerna, betrodda värdar, portar eller lyssnare, börjar 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å en ikon Windows PowerShell (eller Windows PowerShell ISE) och klicka sedan på Kör som administratör.
Börja med Windows PowerShell alternativet Kör som administratör i Windows 7 och Windows Server 2008 R2.
I Windows högerklickar du på ikonen Windows PowerShell och klickar sedan på Kör som administratör.
I Windows Server 2008 R2 fästs Windows PowerShell 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 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 Enable-PSRemoting cmdleten för att återaktivera fjärrkommunikation på Windows Server 2012 och nyare versioner av Windows Server om fjärrkommunikation är inaktiverat.
Om du vill konfigurera en dator för att ta emot fjärrkommandon använder du Enable-PSRemoting 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ändarupp prompter skriver 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 du Enable-PSRemoting 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 ange starttypen för Windows Remote Management (WinRM) till Automatisk på flera datorer använder du
Set-Servicecmdleten .Om du vill aktivera ett brandväggsundantag använder Windows: Tillåt lokala portundantag grupprincipen.
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 Enable-PSRemoting returnerar det här felet när det lokala nätverket är offentligt och parametern SkipNetworkProfileCheck inte används i kommandot.
På serverversioner av Windows lyckas Enable-PSRemoting 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.
På klientversioner av Windows lyckas Enable-PSRemoting i privata nätverk och domännätverk. Som standard misslyckas det i offentliga nätverk, men om du använder parametern SkipNetworkProfileCheck lyckas Enable-PSRemoting och skapar en brandväggsregel som tillåter trafik från samma 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
Cmdleten Set-NetFirewallRule exporteras av NetSecurity-modulen.
Anteckning
Namnet på brandväggsregeln kan vara olika för olika versioner av Windows. Använd Get-NetFirewallRule för att se en lista över regler. Innan du aktiverar brandväggsregeln bör du visa säkerhetsinställningarna i regeln för att kontrollera att konfigurationen är lämplig för din miljö.
Anteckning
I Windows PowerShell 2.0 skapar på datorer som kör serverversioner av Windows brandväggsregler Enable-PSRemoting som tillåter fjärråtkomst i privata, domän- och offentliga nätverk. På datorer som kör klientversioner av Windows skapar Enable-PSRemoting 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äggsundantag för i alla datorer i en domän aktiverar du principen Windows: Tillåt lokala portundantag 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 Firewall i Kontrollpanelen för att 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 Windows tjänsten För fjärrhantering (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.
Men i klientversioner av Windows är 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 CSV-fil med datornamnen.
Följande kommandon hämtar Servers.txt till exempel en lista över datornamn från filen och anger sedan starttypen för WinRM-tjänsten på alla datorer till Automatisk.
$servers = Get-Content servers.txt
Set-Service WinRM -ComputerName $servers -startuptype Automatic
Om du vill se resultatet använder du Get-WMIObject cmdleten med Win32_Service-objektet . 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-PSRemotingskapas 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 den här cmdleten 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 Unregister-PSSessionConfiguration du cmdleten Enable-PSRemoting för att ta bort de ändrade sessionskonfigurationerna och sedan använda cmdleten för att å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 Set-PSSessionConfiguration använder du 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 New-PSSessionAutentiseringsuppgifter i cmdletarna eller Enter-PSSession Invoke-Command för att fjärransluta.
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
Så här använder du 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-PSSessioncmdletarna Invoke-Command , Enter-PSSession 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.
Konfigurera datorn för HTTPS-transport eller lägg till IP-adresserna för fjärrdatorerna i listan TrustedHosts på den lokala datorn.
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 fjärransluter du 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.
Konfigurera datorn för HTTPS-transport eller lägg till namnen på fjärrdatorerna i listan TrustedHosts på den lokala datorn.
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.
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 noden WSMan:\localhost\Client .
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. Till 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>
Till 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>
Till 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 Connect-WSMan du cmdleten för att lägga till en nod för fjärrdatorn till WSMan:-enheten på den lokala datorn. Använd sedan ett Set-Item kommando för att lägga till datorn.
Mer information om Connect-WSMan cmdleten finns i Anslut-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 Set-Item använder använder du 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ällningarna. 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:
Använd parametrarna ProxyAccessType, ProxyAuthentication och ProxyCredential
New-PSSessionOptionför cmdleten för att skapa ett sessionsalternativobjekt med proxyinställningarna för ditt företag. Spara alternativobjektet är en variabel.Använd variabeln som innehåller alternativobjektet som värde för parametern SessionOption för ett
New-PSSession-,Enter-PSSession- eller -Invoke-Commandkommando.
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 New-PSSessionOption använder du alternativobjektet 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 $PSSessionOption du till 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 $env:Windir\System32 $env:Windir\SysWOW64 sessionskonfiguration, till exempel Microsoft.PowerShell32, läser Windows Remote Management (WinRM) in en WOW64-process och Windows omdirigerar automatiskt alla referenser till katalogen till katalogen.
Om du försöker använda verktyg i System32-katalogen som inte har motsvarigheter i sysWow64-katalogen, Defrag.exetill exempel , går det därför inte att hitta verktygen i 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 variabeln $s .
$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 Import-PSSession Export-PSSession och skapar moduler som innehåller osignerade skriptfiler och formateringsfiler.
Om du vill importera modulerna som skapas av dessa cmdlets, Import-PSSession Import-Moduleantingen med hjälp av eller , kan inte körningsprincipen i den aktuella sessionen vara Begränsad eller 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 anges i registret använder du scope-parametern för Set-ExecutionPolicy för att ange en mindre begränsande körningsprincip för en enda process.
Följande kommando startar till exempel en process med körningsprincipen RemoteSigned . Ä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 för PowerShell.exe 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 -?.
Så här ställer du in och ändrar 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
WSMan:<ComputerName>i noden och inställningarna MaxConcurrentOperations, MaxConcurrentOperationsPerUser och MaxConnectionsWSMan:<ComputerName>\Servicei noden.Du kan skydda den lokala datorn med hjälp av parametrarna MaximumReceivedDataSizePerCommand och MaximumReceivedObjectSize
New-PSSessionOptionför cmdleten$PSSessionOptionoch inställningsvariabeln.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-PSSessionConfigurationcmdleten.
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 timeout-inställningar på klientsidan och på tjänstsidan, till exempel inställningen MaxTimeoutms
WSMan:<ComputerName>i noden och inställningarna EnumerationTimeoutms och MaxPacketRetrievalTimeSecondsWSMan:<ComputerName>\Servicei noden.Du kan skydda den lokala datorn med parametrarna CancelTimeout, IdleTimeout, OpenTimeout och OperationTimeout
New-PSSessionOptionför cmdleten$PSSessionOptionoch inställningsvariabeln.Du kan också skydda fjärrdatorn genom att ställa in timeout-vä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 New-PSSessionOption använder till exempel cmdleten för att skapa ett sessionsalternativobjekt med 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ärrstyrningsproblem som förhindrar att ett kommando slutförs och förhindrar eller fördröjer returen av PowerShell-prompten.
Avbryta 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-konsol-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 CTRLC+. Om du vill visa eventuella fel som kan ha rapporterats skriver du $error 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. Normalt inträffar det 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 försök köra kommandot igen.
Starta PowerShell med alternativet Kör som administratör.
Kör följande kommando:
Start-Service WinRMKö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
Feedback
Skicka och visa feedback för