about_Remote_Troubleshooting

Kort beskrivning

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

Lång beskrivning

Information om konfiguration och grundläggande användning finns i about_Remote och about_Remote_Requirements innan du använder PowerShell-fjärrkommunikation.

Du måste ha administratörsbehörighet för att kunna visa eller ändra inställningar för den lokala datorn på WSMan: enheten. Detta omfattar ä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 starta 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 konfigurerad för att lyssna efter begäranden på rätt port och HTTP-URL.

Om du vill 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 den 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 konfigurerad för 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 skalbara alternativ.

  • 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 grupprincip för lokala portar .
  • 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 konfigurerad för 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 grupprincipsö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 ("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 det i offentliga nätverk, men om du använder parametern Enable-PSRemoting SkipNetworkProfileCheck lyckas och skapar en brandväggsregel som tillåter trafik från samma lokala undernät.

Kommentar

I Windows PowerShell 2.0 skapar på datorer som kör serverversioner av Windows Enable-PSRemoting 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 .

Kommentar

Namnet på brandväggsregeln kan vara annorlunda för olika versioner av Windows. Använd Get-NetFirewallRule för att se en lista över regler. Innan du aktiverar brandväggsregeln kan du visa säkerhetsinställningarna i regeln för att kontrollera att konfigurationen är lämplig för din miljö.

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 konfigurerad för att lyssna efter begäranden på rätt port och HTTP-URL.

Använd Windows-brandväggen : Tillåt principen för undantag från lokal port för att aktivera ett brandväggsfel för på alla datorer i en domän.

Principen finns i följande grupprincipsö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 beror på WinRM-tjänsten (Windows Remote Management). Tjänsten måste köras för att stödja fjärrkommandon.

På serverversioner av Windows är AutomaticStarttypen för WinRM-tjänsten . Men på 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 standardkonfigurationerna för sessioner

För fel:

FEL: ÅTKOMST NEKAS

När du använder Enable-PSRemotingskapar den 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.

Kommentar

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-Item WSMan: 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 autentiseringsuppgifter för administratör

För fel:

FEL: ÅTKOMST NEKAS

Du måste vara medlem i gruppen Administratörer och ansluta till standardslutpunkterna för fjärrsessioner. Du kan använda parametern Credential för New-PSSessioncmdletarna eller Invoke-Command Enter-PSSession 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 ansluta till datorn via fjärranslutning.

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

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

Du kan använda registerposten LocalAccountTokenFilterPolicy för att ändra standardbeteendet och tillåta fjärranvändare som är medlemmar i gruppen Administratörer att köras 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.

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.

Så här ansluter du via fjärranslutning 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 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

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 anger du 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>

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 du Connect-WSMan 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 konfigurerad för 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 parametrarna ConnectionURI eller Port 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

Konfigurera fjärrkommunikation med en proxyserver

För fel:

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.

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

  • 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 finns i New-PSSessionOption New-PSSessionOption.

Om du vill ange dessa alternativ för alla fjärrkommandon i den aktuella sessionen anger $PSSessionOption du 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 PowerShell-profilen. 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 kontrollera att sökvägen är korrekt och försök igen om en sökväg har inkluderats.

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 $env:Windir\SysWOW64 katalogen.

Därför går det inte att hitta att köra verktyg 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 PROCESSOR_ARCHITECTURE miljövariabeln.

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

Mer information finns i about_Session_Configurations.

Felsöka princip- och inställningsproblem

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

Så här ändrar du körningsprincipen för Import-PSSession och Import-Module

För fel:

FEL: Import-Module: Filfilnamnet <> kan inte läsas in 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-ExecutionPolicy Omfå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 till RemoteSigned för den aktuella processen. Ändringen påverkar bara den aktuella processen.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

Du kan också använda parametern PowerShell.exe ExecutionPolicy för för att starta en enskild 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 oavsiktlig och skadlig. 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 maxvärdet.

WSMan-providern har följande kvotinställningar:

  • Inställningarna MaxEnvelopeSizeKB och MaxProviderRequests i WSMan:<ComputerName> noden och inställningarna MaxConcurrentOperations, MaxConcurrentOperationsPerUser och MaxConnections i WSMan:<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 kvoten för objektstorlek 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-kvoterna finns i about_WSMan_Provider.

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

Du kan använda timeouter 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 timeout-instä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 hjälp av parametrarna CancelTimeout, IdleTimeout, OpenTimeout och OperationTimeout för cmdleten New-PSSessionOption $PSSessionOption och inställningsvariabeln.
  • 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 tidsgränserna för WS-Management 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 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. 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.

Linux- och macOS-begränsningar

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

Se även