about_Remote_Troubleshooting

Rövid leírás

Leírja, hogyan háríthatja el a távoli műveleteket a PowerShellben.

Hosszú leírás

Ez a szakasz ismerteti azokat a problémákat, amelyekkel a PowerShell WS-Management technológián alapuló távelérési funkcióinak használatakor találkozhat, és megoldásokat javasol ezekre a problémákra.

A PowerShell-távelérés használata előtt tekintse meg about_Remote és about_Remote_Requirements a konfigurációval és az alapszintű használattal kapcsolatos útmutatásért. Emellett az egyes távelérési parancsmagok súgótémakörök, különösen a paraméterleírások hasznos információkkal szolgálnak, amelyek segítenek elkerülni a problémákat.

Megjegyzés

Ha meg szeretné tekinteni vagy módosítani szeretné a helyi számítógép beállításait a WSMan: meghajtón, beleértve a munkamenet-konfigurációk, a megbízható gazdagépek, portok vagy figyelők módosításait, indítsa el a PowerShellt a Futtatás rendszergazdaként beállítással.

Engedélyekkel és hitelesítéssel kapcsolatos problémák elhárítása

Ez a szakasz a felhasználói és számítógép-engedélyekkel és a távelérési követelményekkel kapcsolatos problémákat ismerteti.

Futtatás rendszergazdaként

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

Ha távoli munkamenetet szeretne indítani a helyi számítógépen, vagy meg szeretné tekinteni vagy módosítani szeretné a helyi számítógép beállításait a WSManben: meghajtón, beleértve a munkamenet-konfigurációk, megbízható gazdagépek, portok vagy figyelők módosításait, indítsa el a Windows PowerShell a Futtatás rendszergazdaként beállítással.

A Windows PowerShell indítása a Futtatás rendszergazdaként beállítással:

  • Kattintson a jobb gombbal egy Windows PowerShell (vagy Windows PowerShell ISE) ikonra, majd kattintson a Futtatás rendszergazdaként parancsra.

    A Windows PowerShell windows 7 és Windows Server 2008 R2 rendszerben a Futtatás rendszergazdaként lehetőséggel indíthatja el.

  • A Windows tálcán kattintson a jobb gombbal a Windows PowerShell ikonra, majd kattintson a Futtatás rendszergazdaként parancsra.

    A Windows Server 2008 R2 rendszerben a Windows PowerShell ikon alapértelmezés szerint a tálcára van rögzítve.

Az újraegyenlítés engedélyezése

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.

Nincs szükség konfigurációra ahhoz, hogy a számítógép távoli parancsokat küldjön. A távoli parancsok fogadásához azonban engedélyezni kell a PowerShell-távelérést a számítógépen. Az engedélyezés magában foglalja a WinRM szolgáltatás elindítását, a WinRM szolgáltatás indítási típusának automatikusra állítását, a HTTP- és HTTPS-kapcsolatok figyelőinek létrehozását, valamint az alapértelmezett munkamenet-konfigurációk létrehozását.

Windows PowerShell az újraegyenlítés alapértelmezés szerint engedélyezve van a Windows Server Windows Server 2012 és újabb kiadásaiban. Az összes többi rendszeren futtassa a parancsmagot az Enable-PSRemoting újraküldés engedélyezéséhez. A parancsmag futtatásával újra engedélyezheti az Enable-PSRemoting újraegyenlítést a Windows Server Windows Server 2012 és újabb kiadásain, ha az újraegyenlítés le van tiltva.

A számítógép távoli parancsok fogadására való konfigurálásához használja a Enable-PSRemoting parancsmagot. A következő parancs engedélyezi az összes szükséges távoli beállítást, engedélyezi a munkamenet-konfigurációkat, és újraindítja a WinRM szolgáltatást a módosítások hatékonyságának érdekében.

Enable-PSRemoting

Az összes felhasználói kérés letiltásához írja be a következőt:

Enable-PSRemoting -Force

További információ: Enable-PSRemoting.

Az újraegyenlítés engedélyezése egy vállalatnál

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.

Ha engedélyezni szeretné, hogy egyetlen számítógép távoli PowerShell-parancsokat fogadjon és kapcsolatokat fogadjon, használja a Enable-PSRemoting parancsmagot.

Ha egy vállalat több számítógépére szeretné engedélyezni az újraegyeztetést, használja a következő skálázott beállításokat.

  • A figyelők távelérésre való konfigurálásához engedélyezze a figyelőcsoport-szabályzat automatikus konfigurálásának engedélyezése beállítást.

  • Ha a Windows távfelügyelet (WinRM) indítási típusát automatikusra szeretné állítani több számítógépen, használja a Set-Service parancsmagot.

  • Tűzfalkivétel engedélyezéséhez használja a Windows tűzfal: Helyi portkivételek engedélyezése csoportházirendet.

Figyelők engedélyezése csoportházirend használatával

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.

Egy tartomány összes számítógépének figyelőinek konfigurálásához engedélyezze a figyelők automatikus konfigurálásának engedélyezése házirendet az alábbi Csoportházirend elérési úton:

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

Engedélyezze a házirendet, és adja meg az IPv4- és IPv6-szűrőket. Helyettesítő karakterek (*) használata engedélyezett.

A nyilvános hálózatokon történő újraegyenlítés engedélyezése

ERROR:  Unable to check the status of the firewall

A Enable-PSRemoting parancsmag akkor adja vissza ezt a hibát, ha a helyi hálózat nyilvános, és a SkipNetworkProfileCheck paraméter nem szerepel a parancsban.

A Windows Enable-PSRemoting kiszolgálói verzióiban minden hálózatihely-típus esetében sikeres. Olyan tűzfalszabályokat hoz létre, amelyek lehetővé teszik a privát és tartományi ("Otthoni" és "Munkahelyi") hálózatok távoli elérését. Nyilvános hálózatok esetén tűzfalszabályokat hoz létre, amelyek lehetővé teszik a távelérést ugyanabból a helyi alhálózatból.

A Windows Enable-PSRemoting ügyfélverziói sikeresek a privát és tartományi hálózatokon. Alapértelmezés szerint sikertelen a nyilvános hálózatokon, de ha a SkipNetworkProfileCheck paramétert használja, sikeres lesz, Enable-PSRemoting és létrehoz egy tűzfalszabályt, amely engedélyezi az ugyanabból a helyi alhálózatból érkező forgalmat.

A nyilvános hálózatok helyi alhálózati korlátozásának eltávolításához és a távelérés bármely helyről való engedélyezéséhez futtassa a következő parancsot:

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

A Set-NetFirewallRule parancsmagot a NetSecurity modul exportálja.

Megjegyzés

A tűzfalszabály neve a Windows különböző verzióiban eltérő lehet. A szabályok listájának megtekintésére használható Get-NetFirewallRule . A tűzfalszabály engedélyezése előtt tekintse meg a szabály biztonsági beállításait, és ellenőrizze, hogy a konfiguráció megfelel-e a környezetének.

Megjegyzés

A Windows PowerShell 2.0-s verziójában a Windows kiszolgálóverzióit futtató számítógépeken olyan tűzfalszabályokat hoz létre, Enable-PSRemoting amelyek lehetővé teszik a távelérést a magánhálózatokon, a tartományokon és a nyilvános hálózatokon. A Windows ügyfélverzióit futtató számítógépeken olyan tűzfalszabályokat hoz létre, Enable-PSRemoting amelyek csak magán- és tartományi hálózatokon engedélyezik a távelérést.

Tűzfalkivétel engedélyezése csoportházirend használatával

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.

Ha tűzfalkivételt szeretne engedélyezni egy tartomány összes számítógépén, engedélyezze a Windows tűzfalat: Engedélyezze a helyi portkivételi házirendet az alábbi Csoportházirend elérési úton:

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

Ez a házirend lehetővé teszi a számítógép Rendszergazdák csoportjának tagjai számára, hogy windowsos tűzfalat használjanak Vezérlőpult a Windows távfelügyeleti szolgáltatás tűzfalkivételének létrehozásához.

Ha a szabályzat konfigurációja helytelen, a következő hibaüzenet jelenhet meg:

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

A szabályzat konfigurációs hibája üres értéket eredményez a ListeningOn tulajdonságban. Az érték ellenőrzéséhez használja az alábbi parancsot.

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

A WinRM szolgáltatás indítási típusának beállítása

ERROR:  ACCESS IS DENIED

A PowerShell-távelérés a Windows Remote Management (WinRM) szolgáltatástól függ. A távoli parancsok támogatásához a szolgáltatásnak futnia kell.

A Windows kiszolgálói verzióiban a Windows Remote Management (WinRM) szolgáltatás indítási típusa Automatikus.

A Windows ügyfélverzióiban azonban a WinRM szolgáltatás alapértelmezés szerint le van tiltva.

Egy távoli számítógépen futó szolgáltatás indítási típusának beállításához használja a Set-Service parancsmagot.

Ha több számítógépen szeretné futtatni a parancsot, létrehozhat egy szövegfájlt vagy a számítógépnevek CSV-fájlját.

Az alábbi parancsok például lekérik a számítógépnevek listáját a Servers.txt fájlból, majd az összes számítógépen automatikusra állítja a WinRM szolgáltatás indítási típusát.

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

Az eredmények megtekintéséhez használja a Get-WMIObject parancsmagot a Win32_Service objektummal. További információ: Set-Service.

Az alapértelmezett munkamenet-konfigurációk ismételt létrehozása

ERROR:  ACCESS IS DENIED

A helyi számítógéphez való csatlakozáshoz és a parancsok távoli futtatásához a helyi számítógépnek tartalmaznia kell a távoli parancsok munkamenet-konfigurációit.

Ha használja Enable-PSRemoting, az alapértelmezett munkamenet-konfigurációkat hoz létre a helyi számítógépen. A távoli felhasználók akkor használják ezeket a munkamenet-konfigurációkat, ha egy távoli parancs nem tartalmazza a ConfigurationName paramétert.

Ha a számítógép alapértelmezett konfigurációi nincsenek regisztrálva vagy törölve, a Enable-PSRemoting parancsmag használatával hozza létre őket újra. Ezt a parancsmagot többször is használhatja. Nem generál hibákat, ha egy szolgáltatás már konfigurálva van.

Ha módosítja az alapértelmezett munkamenet-konfigurációkat, és vissza szeretné állítani az eredeti alapértelmezett munkamenet-konfigurációkat, a Unregister-PSSessionConfiguration parancsmaggal törölje a módosított munkamenet-konfigurációkat, majd a Enable-PSRemoting parancsmaggal állítsa vissza őket. Enable-PSRemoting A nem módosítja a meglévő munkamenet-konfigurációkat.

Megjegyzés

Az alapértelmezett munkamenet-konfiguráció visszaállításakor Enable-PSRemoting nem hoz létre explicit biztonsági leírókat a konfigurációkhoz. Ehelyett a konfigurációk öröklik a RootSDDL biztonsági leíróját, amely alapértelmezés szerint biztonságos.

A RootSDDL biztonsági leíró megtekintéséhez írja be a következőt:

Get-Item wsman:\localhost\Service\RootSDDL

A RootSDDL módosításához használja a Set-Item WSMan: meghajtó parancsmagját. A munkamenet-konfiguráció biztonsági leírójának módosításához használja a Set-PSSessionConfiguration parancsmagot a SecurityDescriptorSDDL vagy a ShowSecurityDescriptorUI paraméterekkel.

A WSMan: meghajtóval kapcsolatos további információkért tekintse meg a WSMan-szolgáltató súgótémakörét ("Get-Help wsman").

Rendszergazdai hitelesítő adatok megadása

ERROR:  ACCESS IS DENIED

PSSession létrehozásához vagy parancsok távoli számítógépen való futtatásához alapértelmezés szerint az aktuális felhasználónak a távoli számítógépen a Rendszergazdák csoport tagjának kell lennie. A hitelesítő adatokra néha akkor is szükség van, ha az aktuális felhasználó olyan fiókba van bejelentkezve, amely a Rendszergazdák csoport tagja.

Ha az aktuális felhasználó tagja a Rendszergazdák csoportnak a távoli számítógépen, vagy meg tudja adni a Rendszergazdák csoport egy tagjának hitelesítő adatait, a távoli csatlakozáshoz használja a New-PSSessionparancsmagok Enter-PSSessionInvoke-Commandhitelesítőadat-paraméterét.

A következő parancs például egy rendszergazda hitelesítő adatait adja meg.

Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

További információ a hitelesítőadat-paraméterről : New-PSSession, Enter-PSSession vagy Invoke-Command.

Az újraegyenlítés engedélyezése nem rendszergazda felhasználók számára

ERROR:  ACCESS IS DENIED

PSSession létrehozásához vagy parancs távoli számítógépen való futtatásához a felhasználónak engedéllyel kell rendelkeznie a távoli számítógépen futó munkamenet-konfigurációk használatához.

Alapértelmezés szerint csak a rendszergazdák csoport tagjai rendelkeznek engedéllyel az alapértelmezett munkamenet-konfigurációk használatára. Ezért csak a Rendszergazdák csoport tagjai csatlakozhatnak távolról a számítógéphez.

Ha azt szeretné, hogy más felhasználók is csatlakozhassanak a helyi számítógéphez, adjon végrehajtási engedélyeket a helyi számítógép alapértelmezett munkamenet-konfigurációihoz.

A következő parancs megnyit egy tulajdonságlapot, amely lehetővé teszi a microsoft.PowerShell-munkamenet alapértelmezett konfigurációjának biztonsági leírójának módosítását a helyi számítógépen.

Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

További információ: about_Session_Configurations.

Átnevezés engedélyezése más tartományok rendszergazdái számára

ERROR:  ACCESS IS DENIED

Ha egy másik tartományban lévő felhasználó tagja a helyi számítógép Rendszergazdák csoportjának, akkor rendszergazdai jogosultságokkal nem tud távolról csatlakozni a helyi számítógéphez. Alapértelmezés szerint a más tartományokból származó távoli kapcsolatok csak standard felhasználói jogosultsági jogkivonatokkal futnak.

A LocalAccountTokenFilterPolicy beállításjegyzékbeli bejegyzéssel azonban módosíthatja az alapértelmezett viselkedést, és engedélyezheti, hogy a Rendszergazdák csoport tagjai távoli felhasználók rendszergazdai jogosultságokkal fussanak.

Figyelemfelhívás

A LocalAccountTokenFilterPolicy bejegyzés letiltja a felhasználói fiókok felügyeletének (UAC) távoli korlátozásait az összes érintett számítógép összes felhasználója számára. A házirend módosítása előtt alaposan mérlegelje ennek a beállításnak a következményeit.

A szabályzat módosításához a következő paranccsal állítsa a LocalAccountTokenFilterPolicy beállításjegyzék-bejegyzés értékét 1-re.

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

IP-cím használata távoli parancsokban

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.

A parancsmagok Invoke-CommandEnter-PSSessionComputerName paramétere New-PSSessionérvényes értékként fogad el egy IP-címet. Mivel azonban a Kerberos-hitelesítés nem támogatja az IP-címeket, az NTLM-hitelesítés alapértelmezés szerint az IP-címek megadásakor használatos.

NTLM-hitelesítés használatakor a következő eljárás szükséges a visszatartáshoz.

  1. Konfigurálja a számítógépet HTTPS-átvitelre, vagy adja hozzá a távoli számítógépek IP-címét a helyi számítógép TrustedHosts listájához.

  2. Használja a hitelesítőadat-paramétert az összes távoli parancsban.

    Erre akkor is szükség van, ha az aktuális felhasználó hitelesítő adatait küldi el.

Távoli csatlakozás munkacsoport-alapú számítógépről

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.

Ha a helyi számítógép nincs tartományon belül, a rendszer a következő eljárást igényli a visszatartáshoz.

  1. Konfigurálja a számítógépet HTTPS-átvitelre, vagy adja hozzá a távoli számítógépek nevét a helyi számítógép TrustedHosts listájához.

  2. Ellenőrizze, hogy be van-e állítva jelszó a munkacsoport-alapú számítógépen. Ha nincs beállítva jelszó, vagy a jelszó értéke üres, nem futtathat távoli parancsokat.

    A felhasználói fiók jelszavának beállításához használja a felhasználói fiókokat a Vezérlőpult.

  3. Használja a hitelesítőadat-paramétert az összes távoli parancsban.

    Erre akkor is szükség van, ha az aktuális felhasználó hitelesítő adatait küldi el.

Számítógép hozzáadása a megbízható gazdagépek listájához

A TrustedHosts elem a számítógépnevek, IP-címek és teljes tartománynevek vesszővel tagolt listáját is tartalmazhatja. Helyettesítő karakterek használata engedélyezett.

A megbízható gazdagéplista megtekintéséhez vagy módosításához használja a WSMan: meghajtót. A TrustedHost elem a WSMan:\localhost\Client csomópontban található.

A számítógépen csak a Rendszergazdák csoport tagjai jogosultak a számítógépen található megbízható gazdagépek listájának módosítására.

Figyelem: A TrustedHosts elemhez beállított érték a számítógép összes felhasználóját érinti.

A megbízható gazdagépek listájának megtekintéséhez használja a következő parancsot:

Get-Item wsman:\localhost\Client\TrustedHosts

A parancsmaggal (alias = cd) is navigálhat Set-Location a WSMan: meghajtóval a helyhez. Például:

cd WSMan:\localhost\Client; dir

Ha az összes számítógépet hozzá szeretné adni a megbízható gazdagépek listájához, használja a következő parancsot, amely * (mind) értéket helyez el a Számítógépnévben

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

Helyettesítő karakterrel (*) is felveheti az adott tartomány összes számítógépét a megbízható gazdagépek listájára. Az alábbi parancs például hozzáadja a Fabrikam tartomány összes számítógépét a megbízható gazdagépek listájához.

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

Az egyes számítógépek nevének a megbízható gazdagépek listájára való felvételéhez használja a következő parancsformátumot:

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

ahol minden értéknek <ComputerName> a következő formátummal kell rendelkeznie:

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

Például:

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

Ha számítógépnevet szeretne hozzáadni a megbízható gazdagépek meglévő listájához, először mentse az aktuális értéket egy változóba, majd állítsa az értéket egy vesszővel tagolt listára, amely tartalmazza az aktuális és az új értékeket.

Ha például hozzá szeretné adni a Server01 számítógépet a megbízható gazdagépek meglévő listájához, használja az alábbi parancsot

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

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

Az egyes számítógépek IP-címeinek a megbízható gazdagépek listájára való felvételéhez használja a következő parancsformátumot:

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

Például:

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

Ha számítógépet szeretne hozzáadni egy távoli számítógép TrustedHosts listájához, a Connect-WSMan parancsmaggal adjon hozzá egy csomópontot a távoli számítógéphez a WSMan: meghajtóhoz a helyi számítógépen. Ezután adjon hozzá egy Set-Item parancsot a számítógéphez.

További információ a Connect-WSMan parancsmagról: Connect-WSMan.

Számítógép konfigurációs problémáinak elhárítása

Ez a szakasz a számítógép, tartomány vagy vállalat adott konfigurációihoz kapcsolódó átnevezési problémákat tárgyalja.

Átnevezés konfigurálása alternatív portokon

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.

A PowerShell-remoting alapértelmezés szerint a 80-as portot használja a HTTP-átvitelhez. Az alapértelmezett portot akkor használja a rendszer, ha a felhasználó nem adja meg a ConnectionURI - vagy portparamétereket egy távoli parancsban.

A PowerShell által használt alapértelmezett port módosításához használja Set-Item a WSMan: meghajtó parancsmagját a figyelő levélcsomópont portértékének módosításához.

Az alábbi parancs például 8080-ra módosítja az alapértelmezett portot.

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

A visszaállítás konfigurálása proxykiszolgálóval

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.

Mivel a PowerShell-remoting a HTTP protokollt használja, a HTTP-proxybeállítások befolyásolják. A proxykiszolgálókkal rendelkező vállalatok esetében a felhasználók nem férhetnek hozzá közvetlenül a PowerShell távoli számítógépéhez.

A probléma megoldásához használja a távoli parancs proxybeállítási beállításait. A következő beállítások érhetők el:

  • ProxyAccessType
  • ProxyAuthentication
  • ProxyCredential

Ha ezeket a beállításokat egy adott parancshoz szeretné beállítani, kövesse az alábbi eljárást:

  1. A parancsmag ProxyAccessType, ProxyAuthentication és ProxyCredential paramétereivel New-PSSessionOption hozzon létre egy munkamenet-beállításobjektumot a vállalat proxybeállításaival. A beállításobjektum mentése változó.

  2. Használja a beállításobjektumot tartalmazó változót egy , Enter-PSSessionvagy Invoke-Command parancs SessionOption paraméterének New-PSSessionértékeként.

Az alábbi parancs például létrehoz egy munkamenet-beállításobjektumot proxy-munkamenet-beállításokkal, majd az objektum használatával létrehoz egy távoli munkamenetet.

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

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

További információ a New-PSSessionOption parancsmagról: New-PSSessionOption.

Ha ezeket a beállításokat az aktuális munkamenet összes távoli parancsához szeretné beállítani, használja a beállításobjektumot, amely New-PSSessionOption a $PSSessionOption beállításváltozó értékében jön létre. További információ: about_Preference_Variables.

Ha ezeket a beállításokat minden távoli parancshoz meg szeretné adni a helyi számítógépen található összes PowerShell-munkamenethez, adja hozzá a $PSSessionOption beállításváltozót a PowerShell-profilhoz. További információ a PowerShell-profilokról: about_Profiles.

32 bites munkamenet észlelése 64 bites számítógépen

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.

Ha a távoli számítógép a Windows 64 bites verzióját futtatja, és a távoli parancs 32 bites munkamenet-konfigurációt (például Microsoft.PowerShell32) használ, a Windows remote management (WinRM) betölt egy WOW64-folyamatot, és a Windows automatikusan átirányítja a $env:Windir\System32 címtárra mutató összes hivatkozást a $env:Windir\SysWOW64 könyvtárba.

Ennek eredményeképpen, ha olyan eszközöket próbál használni a System32 könyvtárban, amelyek nem rendelkeznek megfelelőkkel a SysWow64 könyvtárban, például Defrag.exe, az eszközök nem találhatók a címtárban.

A munkamenetben használt processzorarchitektúra megkereséséhez használja a PROCESSOR_ARCHITECTURE környezeti változó értékét. A következő parancs megkeresi a munkamenet processzorarchitektúráját a $s változóban.

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

A munkamenet-konfigurációkkal kapcsolatos további tudnivalókért tekintse meg az about_Session_Configuration_Files című témakört.

Szabályzatokkal és beállításokkal kapcsolatos problémák elhárítása

Ez a szakasz a helyi és távoli számítógépeken beállított házirendekkel és beállításokkal kapcsolatos problémákat tárgyalja.

Import-PSSession és Import-Module végrehajtási szabályzatának módosítása

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

A Import-PSSession parancsmagok olyan Export-PSSession modulokat hoznak létre, amelyek aláíratlan szkriptfájlokat és formázási fájlokat tartalmaznak.

A parancsmagok Import-PSSessionImport-Moduleáltal létrehozott modulok importálásához az aktuális munkamenet végrehajtási házirendje nem lehet Restricted vagy AllSigned. További információ a PowerShell végrehajtási szabályzatairól: about_Execution_Policies.

Ha anélkül szeretné importálni a modulokat, hogy módosítaná a beállításjegyzékben beállított helyi számítógép végrehajtási szabályzatát, a Hatókör paraméterrel Set-ExecutionPolicy egy kevésbé korlátozó végrehajtási szabályzatot állíthat be egyetlen folyamathoz.

Az alábbi parancs például elindít egy folyamatot a RemoteSigned végrehajtási szabályzattal. A végrehajtási szabályzat módosítása csak az aktuális folyamatot érinti, és nem módosítja a PowerShell ExecutionPolicy beállításjegyzék-beállítását.

Set-ExecutionPolicy -Scope process -ExecutionPolicy RemoteSigned

A ExecutionPolicy paraméter PowerShell.exe használatával is elindíthat egy kevésbé korlátozó végrehajtási szabályzattal rendelkező munkamenetet.

PowerShell.exe -ExecutionPolicy RemoteSigned

További információ a végrehajtási szabályzatokról: about_Execution_Policies. További információért írja be a következőt: PowerShell.exe -?.

Kvóták beállítása és módosítása

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

Kvóták használatával megvédheti a helyi számítógépet és a távoli számítógépet a túlzott erőforrás-használattól, mind a véletlen, mind a rosszindulatú használat ellen.

Az alapkonfigurációban az alábbi kvóták érhetők el.

  • A WSMan-szolgáltató (WSMan:) Számos kvótabeállítást biztosít, például a csomópont MaxEnvelopeSizeKB és MaxProviderRequests beállításait WSMan:<ComputerName> , valamint a MaxConcurrentOperations, a MaxConcurrentOperationsPerUser és a MaxConnections beállításokat a WSMan:<ComputerName>\Service csomópontban.

  • A helyi számítógép védelméhez használja a parancsmag MaximumReceivedDataSizePerCommand és MaximumReceivedObjectSize paramétereit New-PSSessionOption és a $PSSessionOption beállítási változót.

  • A távoli számítógép védelmét úgy teheti meg, hogy korlátozásokat ad hozzá a munkamenet-konfigurációkhoz, például a parancsmag MaximumReceivedDataSizePerCommandMB és MaximumReceivedObjectSizeMB paramétereinek Register-PSSessionConfiguration használatával.

Ha a kvóták ütköznek egy paranccsal, a PowerShell hibát generál.

A hiba elhárításához módosítsa a távoli parancsot, hogy megfeleljen a kvótának. Vagy határozza meg a kvóta forrását, majd növelje a kvótát, hogy a parancs befejeződhessen.

Az alábbi parancs például 10 MB-ról (alapértelmezett érték) 11 MB-ra növeli a távoli számítógépen a Microsoft.PowerShell-munkamenet konfigurációjában található objektumméretkvótát.

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

A parancsmaggal kapcsolatos New-PSSessionOption további információkért lásd: New-PSSessionOption.

A WS-Management kvótákról további információt a about_WSMan_Provider című témakörben talál.

Időtúllépési hibák elhárítása

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

Időtúllépések használatával megvédheti a helyi számítógépet és a távoli számítógépet a túlzott erőforrás-használattól, mind a véletlen, mind a rosszindulatú használat ellen. Ha az időtúllépések a helyi és a távoli számítógépen is be vannak állítva, a PowerShell a legrövidebb időtúllépési beállításokat használja.

Az alapkonfigurációban a következő időtúllépések érhetők el.

  • A WSMan-szolgáltató (WSMan:) Számos ügyféloldali és szolgáltatásoldali időtúllépési beállítást biztosít, például a csomópont MaxTimeoutms beállítását WSMan:<ComputerName> , valamint a csomópont EnumerationTimeoutms és MaxPacketRetrievalTimeSeconds beállításait WSMan:<ComputerName>\Service .

  • A helyi számítógép védelméhez használja a parancsmag CancelTimeout, IdleTimeout, OpenTimeout és OperationTimeout paramétereit New-PSSessionOption , valamint a $PSSessionOption beállítási változót.

  • A távoli számítógépet úgy is megvédheti, ha programozott módon állítja be az időtúllépési értékeket a munkamenet munkamenet-konfigurációjában.

Ha egy időtúllépési érték nem teszi lehetővé egy művelet befejezését, a PowerShell leállítja a műveletet, és hibát okoz.

A hiba elhárításához módosítsa úgy a parancsot, hogy az az időtúllépési intervallumon belül befejeződjön, vagy határozza meg az időtúllépési korlát forrását, és növelje az időtúllépési időközt, hogy a parancs befejeződjön.

Az alábbi parancsok például a New-PSSessionOption parancsmag használatával hoznak létre egy 4 perces OperationTimeout értékkel rendelkező munkamenet-beállításobjektumot (MS-ben), majd a munkamenet-beállításobjektum használatával létrehoznak egy távoli munkamenetet.

$pso = New-PSSessionoption -OperationTimeout 240000

New-PSSession -ComputerName Server01 -sessionOption $pso

A WS-Management időtúllépésekről a WSMan-szolgáltató súgótémakörében (típus Get-Help WSMan) talál további információt.

További információ a New-PSSessionOption parancsmagról: New-PSSessionOption.

Nem válaszoló viselkedés hibaelhárítása

Ez a szakasz azokat a problémákat tárgyalja, amelyek megakadályozzák a parancsok végrehajtását, és megakadályozzák vagy késleltetik a PowerShell-parancssor visszatérését.

Parancs megszakítása

Egyes natív Windows-programok, például a felhasználói felülettel rendelkező programok, a bemenetet kérő konzolalkalmazások és a Win32 konzol API-t használó konzolalkalmazások nem működnek megfelelően a PowerShell távoli gazdagépén.

Ha ezeket a programokat használja, előfordulhat, hogy váratlan viselkedés jelenik meg, például nincs kimenet, részleges kimenet vagy egy távoli parancs, amely nem fejeződik be.

Egy nem válaszoló program befejezéséhez írja be a CTRLCbillentyűkombinációt+. Az esetlegesen jelentett hibák megtekintéséhez írja be $error a helyi gazdagépet és a távoli munkamenetet.

Helyreállítás művelethiba miatt

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

Ez a hiba akkor jelenik meg, ha egy művelet befejeződik, mielőtt befejeződik. Általában akkor fordul elő, ha a WinRM szolgáltatás leáll vagy újraindul, miközben más WinRM-műveletek is folyamatban vannak.

A probléma megoldásához ellenőrizze, hogy fut-e a WinRM szolgáltatás, majd próbálkozzon újra a paranccsal.

  1. Indítsa el a PowerShellt a Futtatás rendszergazdaként lehetőséggel.

  2. Futtassa az alábbi parancsot:

    Start-Service WinRM

  3. Futtassa újra a hibát létrehozó parancsot.

Linux- és macOS-korlátozások

Hitelesítés

Csak az alapszintű hitelesítés működik macOS rendszeren, és ha más hitelesítési sémákat próbál használni, az a folyamat összeomlásához vezethet.

Tekintse meg az OMI-hitelesítési utasításokat.

Lásd még