Dela via


about_Remote_Troubleshooting

Kort beskrivning

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

Lång beskrivning

Innan du använder PowerShell-fjärrkommunikation kan du läsa about_Remote och about_Remote_Requirements för vägledning om konfiguration och grundläggande användning.

Du måste ha administratörsbehörighet för att visa eller ändra inställningar för den lokala datorn på WSMan: enheten. Detta inkluderar ändringar i sessionskonfiguration, betrodda värdar, portar eller lyssnare.

Du måste köra PowerShell med alternativet Kör som administratör .

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

För fel:

FEL: Åtkomst nekas. Du måste köra den här cmdleten från en upphöjd process.

Om du vill börja Windows PowerShell med alternativet Kör som administratör högerklickar du på PowerShell-ikonen på Start-menyn och väljer Kör som administratör.

Så här aktiverar du fjärrkommunikation

För fel:

  • FEL: ÅTKOMST NEKAS
  • FEL: Anslutningen till fjärrvärden nekades. Kontrollera att WS-Management-tjänsten körs på fjärrvärden och konfigurerat att lyssna efter begäranden på rätt port och HTTP-URL.

För att kunna ta emot fjärrkommandon måste PowerShell-fjärrkommunikation vara aktiverat på datorn. Windows PowerShell fjärrkommunikation är aktiverat som standard på Windows Server 2012 och nyare versioner av Windows Server. Du kan köra Enable-PSRemoting för att återaktivera fjärrkommunikation om det har inaktiverats. Mer information finns i Aktivera PSRemoting.

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

För fel:

  • FEL: ÅTKOMST NEKAS
  • FEL: Anslutningen till fjärrvärden nekades. Kontrollera att WS-Management-tjänsten körs på fjärrvärden och konfigurerat att lyssna efter begäranden på rätt port och HTTP-URL.

Om du vill aktivera en enskild dator för att ta emot powershell-fjärrkommandon och acceptera anslutningar använder du cmdleten Enable-PSRemoting .

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

  • Aktivera grupprincipen Tillåt automatisk konfiguration av lyssnare för att konfigurera lyssnare för fjärrkommunikation.
  • Konfigurera och aktivera Windows-brandväggen: Tillåt lokala port undantag grupprincip.
  • Ange starttypen för WinRM-tjänsten till Automatic och starta tjänsten.

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

För fel:

  • FEL: ÅTKOMST NEKAS
  • FEL: Anslutningen till fjärrvärden nekades. Kontrollera att WS-Management-tjänsten körs på fjärrvärden och konfigurerat att lyssna efter begäranden på rätt port och HTTP-URL.

Aktivera principen Tillåt automatisk konfiguration av lyssnare för att konfigurera lyssnarna för alla datorer i en domän.

Principen finns 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 (*) är tillåtna.

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

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

FEL: Det går inte att kontrollera brandväggens status

På serverversioner av Windows Enable-PSRemoting lyckas på alla nätverksprofiler. Den skapar brandväggsregler som tillåter fjärråtkomst till privata nätverk och domännätverk ("Home" och "Work"). 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 Enable-PSRemotingSkipNetworkProfileCheck lyckas och skapar en brandväggsregel som tillåter trafik från samma lokala undernät.

Anteckning

I Windows PowerShell 2.0, på datorer som kör serverversioner av Windows, Enable-PSRemoting skapas brandväggsregler som tillåter fjärråtkomst i privata, domän- 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.

Om du vill ta bort den lokala undernätsbegränsningen för 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 annorlunda för olika versioner av Windows. Använd Get-NetFirewallRule för att se en lista över regler. Innan du aktiverar brandväggsregeln visar du säkerhetsinställningarna i regeln för att kontrollera att konfigurationen är lämplig för din miljö.

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

För fel:

  • FEL: ÅTKOMST NEKAS
  • FEL: Anslutningen till fjärrvärden nekades. Kontrollera att WS-Management-tjänsten körs på fjärrvärden och konfigurerat att lyssna efter begäranden på rätt port och HTTP-URL.

Använd Windows-brandväggen: Tillåt att principen för lokala portfel aktiverar ett brandväggsfel för på alla datorer i en domän.

Principen finns 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 skapa ett brandväggsfel för WinRM-tjänsten (Windows Remote Management).

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

Klienten kan inte ansluta till målet som anges i begäran. Kontrollera att tjänsten på målet körs och accepterar begäranden.

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.

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           : {}

Så här anger du starttypen för WinRM-tjänsten

För fel:

FEL: ÅTKOMST NEKAS

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

På serverversioner av Windows är AutomaticWinRM-tjänstens starttyp . Men i klientversioner av Windows är WinRM-tjänsten inaktiverad som standard.

Använd följande exempel för att ange starttypen för WinRM-tjänsten till Automatic och starta tjänsten. Parametern ComputerName accepterar flera värden.

$invokeCimMethodSplat = @{
    ComputerName = 'Server01', 'Server02'
    Query = 'Select * From Win32_Service Where Name = "WinRM"'
    MethodName = 'ChangeStartMode'
    Arguments = @{StartMode  = 'Automatic'}
}
Invoke-CimMethod @invokeCimMethodSplat

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

För fel:

FEL: ÅTKOMST NEKAS

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 cmdleten Enable-PSRemoting 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 sessionen och vill återställa de ursprungliga sessionskonfigurationerna kan du ta bort och återskapa konfigurationerna.

Använd cmdleten Unregister-PSSessionConfiguration för att ta bort de ändrade sessionskonfigurationerna. Använd Enable-PSRemoting för att återställa de ursprungliga sessionskonfigurationerna. Enable-PSRemoting ändrar inte befintliga sessionskonfigurationer.

Anteckning

När Enable-PSRemoting standardkonfigurationen för sessionen återställs skapas inga 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 rootSDDL-säkerhetsbeskrivningen skriver du:

Get-Item wsman:\localhost\Service\RootSDDL

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

Mer information om enheten finns i WSMan:about_WSMan_Provider.

Så här anger du administratörsautentiseringsuppgifter

För fel:

FEL: ÅTKOMST NEKAS

Du måste vara medlem i gruppen Administratörer för att ansluta till standardslutpunkterna för fjärrsessioner. Du kan använda parametern Credential för New-PSSessioncmdletarna , Enter-PSSession eller Invoke-Command för att ansluta till fjärrslutpunkter med alternativa autentiseringsuppgifter.

I följande exempel visas hur du anger autentiseringsuppgifterna för en administratörsanvändare.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

Mer information om parametern Credential finns i hjälpen för New-PSSession, Enter-PSSession eller Invoke-Command.

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

För fel:

FEL: ÅTKOMST NEKAS

Som standard har endast medlemmar i gruppen Administratörer på en dator behörighet att använda standardsessionskonfigurationerna. 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örbehörighet till standardsessionskonfigurationerna på den lokala datorn.

I följande exempel öppnas ett egenskapsblad där du kan ändra säkerhetsbeskrivningen för standardkonfigurationen Microsoft.PowerShell för sessioner 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

För fel:

FEL: ÅTKOMST NEKAS

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ändarprivilegier.

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

Varning

Posten LocalAccountTokenFilterPolicy inaktiverar UAC-fjärrbegränsningar (user account control) för alla användare på alla berörda datorer. Tänk noga på konsekvenserna av den här inställningen innan du ändrar principen.

Använd följande kommando för att ange registervärdet LocalAccountTokenFilterPolicy till 1.

$newItemPropertySplat = @{
  Name = 'LocalAccountTokenFilterPolicy'
  Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
  PropertyType = 'DWord'
  Value = 1
}
New-ItemProperty @newItemPropertySplat

Så här använder du en IP-adress i ett fjärrkommando

För fel:

FEL: WinRM-klienten kan inte bearbeta begäran. Om autentiseringsschemat skiljer sig från Kerberos, eller om klientdatorn inte är ansluten till en domän, måste HTTPS-transporten användas eller så måste måldatorn läggas till i TrustedHosts-konfigurationsinställningarna.

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

För att stödja NTLM-autentisering måste du uppfylla följande krav:

  • 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 Credential i alla fjärrkommandon. Detta krävs även när du ansluter som den aktuella användaren.

Fjärransluta från en arbetsgruppsbaserad dator

För fel

FEL: WinRM-klienten kan inte bearbeta begäran. Om autentiseringsschemat skiljer sig från Kerberos, eller om klientdatorn inte är ansluten till en domän, måste HTTPS-transporten användas eller så måste måldatorn läggas till i TrustedHosts-konfigurationsinställningarna.

När den lokala datorn inte finns i en domän måste du uppfylla följande krav:

  • Konfigurera datorn för HTTPS-transport eller lägg till IP-adresserna för fjärrdatorerna i listan TrustedHosts på den lokala datorn.
  • Kontrollera att ett lösenord har angetts på den arbetsgruppsbaserade datorn. Om ett lösenord inte har angetts eller om lösenordsvärdet är tomt kan du inte köra fjärrkommandon.
  • Använd parametern Credential i alla fjärrkommandon. Detta krävs även när du ansluter som 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 över 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. TrustedHost-objektet 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

Värdet som du anger för TrustedHosts-objektet 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

I följande exempel används jokertecknet (*) för att lägga till alla datorer i listan över betrodda värdar.

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.

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

I följande exempel anges listan över betrodda värdar till en enda dator.

$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. Ange sedan värdet till en sträng som innehåller en kommaavgränsad lista som innehåller aktuella och nya värden.

I följande exempel lägger du till Server01 i en befintlig lista över betrodda värdar.

$newServer = 'Server01.Domain01.Fabrikam.com'
$curValue = (Get-Item wsman:\localhost\Client\TrustedHosts).Value
Set-Item wsman:\localhost\Client\TrustedHosts -Value "$curValue, $newServer"

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 Connect-WSMan du för att ansluta för att WSMan: köra fjärrdatorn som används Set-Item för att lägga till datorn.

Mer information om finns i hjälpen för Connect-WSMan.

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

För fel:

FEL: Anslutningen till den angivna fjärrvärden nekades. Kontrollera att WS-Management-tjänsten körs på fjärrvärden och konfigurerat att lyssna efter begäranden på rätt port och HTTP-URL.

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

Använd Set-Item cmdlet 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

För fel:

FEL: Klienten kan inte ansluta till det mål som anges i begäran. Kontrollera att tjänsten på målet körs och accepterar begäranden.

Eftersom PowerShell-fjärrkommunikation använder HTTP-protokollet påverkas det 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.

  • Använd parametrarna ProxyAccessType, ProxyAuthentication och ProxyCredential för cmdleten New-PSSessionOption för att skapa en variabel som innehåller ett PSSessionOption-objekt med proxyinställningarna för ditt företag.
  • Använd variabeln som innehåller PSSessionOption-objektet med parametern SessionOption i kommandot New-PSSession, Enter-PSSessioneller Invoke-Command .
$newPSSessionOptionSplat = @{
    ProxyAccessType = 'IEConfig'
    ProxyAuthentication = 'Negotiate'
    ProxyCredential = 'Domain01\User01'
}
$SessionOption = New-PSSessionOption @newPSSessionOptionSplat

$newPSSessionSplat = @{
    ConnectionUri = 'https://www.fabrikam.com'
    SessionOption = $SessionOption
}
New-PSSession @newPSSessionSplat

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

Om du vill ange dessa alternativ för alla fjärrkommandon i den aktuella sessionen anger du $PSSessionOption inställningsvariabeln till det PSSessionOption-objekt som du skapade. Mer information finns i about_Preference_Variables.

Om du vill ange dessa alternativ för alla fjärrkommandon i 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-bitars dator

För fel:

FEL: Termen <verktygsnamn> identifieras inte som namnet på en cmdlet, funktion, skriptfil eller ett fungerande program. Kontrollera stavningen av namnet eller om en sökväg har inkluderats, kontrollera att sökvägen är korrekt och försök igen.

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

Därför går det inte att hitta verktyg som körs i System32 katalogen som inte har motsvarigheter i SysWow64 katalogen.

Om du vill hitta processorarkitekturen som används i sessionen använder du värdet för miljövariabeln PROCESSOR_ARCHITECTURE .

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

Mer information finns i about_Session_Configurations.

Felsöka problem med principer och inställningar

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

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

För fel:

FEL: Import-Module: Det går inte att läsa in filnamnet <> eftersom körningen av skript är inaktiverad i det här systemet.

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

Om du vill importera modulerna som skapas av dessa cmdletar kan inte körningsprincipen i den aktuella sessionen vara Restricted eller AllSigned. Mer information finns i about_Execution_Policies.

Om du vill importera modulerna utan att ändra körningsprincipen för den lokala datorn använder du parametern Set-ExecutionPolicyOmfång för för att ange en mindre restriktiv körningsprincip för en enda process.

I följande exempel anges till exempel körningsprincipen för RemoteSigned den aktuella processen. Ändringen påverkar bara den aktuella processen.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

Du kan också använda parametern PowerShell.exeExecutionPolicy för för att starta en enda session med en mindre restriktiv körningsprincip.

pwsh.exe -ExecutionPolicy RemoteSigned

Så här ställer du in och ändrar kvoter

Du kan använda kvoter för att skydda den lokala datorn och fjärrdatorn från överdriven resursanvändning, både oavsiktligt och skadligt. När kvoter är i konflikt med ett kommando genererar PowerShell följande fel.

FEL: Det totala antalet data som togs emot från fjärrklienten överskred det tillåtna högsta tillåtna antalet.

WSMan-providern har följande kvotinställningar:

  • Inställningarna MaxEnvelopeSizeKB och MaxProviderRequests i WSMan:<ComputerName> noden och inställningarna MaxConcurrentOperations, MaxConcurrentOperationsPerUser och MaxConnectionsWSMan:<ComputerName>\Service noden.
  • Du kan använda parametrarna MaximumReceivedDataSizePerCommand och MaximumReceivedObjectSize för cmdleten New-PSSessionOption$PSSessionOption och inställningsvariabeln för att skydda den lokala datorn.
  • För att skydda fjärrdatorn lägger du till begränsningar i sessionskonfigurationerna med hjälp av parametrarna MaximumReceivedDataSizePerCommandMB och MaximumReceivedObjectSizeMB för cmdleten Register-PSSessionConfiguration .

Lös felet genom att ändra fjärrkommandot så att det uppfyller kvoten eller ö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.

$setPSSessionConfigurationSplat = @{
    Name = 'Microsoft.PowerShell'
    MaximumReceivedObjectSizeMB = 11
    Force = $true
}
Set-PSSessionConfiguration @setPSSessionConfigurationSplat

Mer information om WS-Management kvoter finns i about_WSMan_Provider.

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

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

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

FEL: WS-Management-tjänsten kan inte slutföra åtgärden inom den tid som anges i OperationTimeout.

WSMan-providern har följande timeout-inställningar.

  • Inställningen MaxTimeoutMs i WSMan:<ComputerName> noden och 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 cmdleten New-PSSessionOption och inställningsvariabeln $PSSessionOption .
  • Du kan också skydda fjärrdatorn genom att ange timeout-värden programmatiskt i sessionskonfigurationen för sessionen.

Lös felet genom att ändra kommandot så att det slutförs inom tidsgränsintervallet eller öka tidsgränsintervallet så att kommandot kan slutföras.

I följande exempel skapas ett sessionsalternativ 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 WS-Management timeouter finns i about_WSMan_Provider.

Så här avbryter du ett kommando som inte svarar

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

När du använder dessa program kan du se ett oväntat beteende, 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. Använd Get-Error i den lokala värden och fjärrsessionen för att visa eventuella fel som kan ha rapporterats.

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

Följande fel returneras när en åtgärd avslutas innan den slutförs.

FEL: I/O-åtgärden har avbrutits på grund av antingen en trådavslutning eller en programbegäran.

Detta 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 försök 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.

Begränsningar för Linux och macOS

PowerShell-fjärrkommunikation är Linux och macOS med fjärrkommunikation via SSH. Mer information finns i PowerShell-fjärrkommunikation via SSH.

Se även