如何修复"WS管理识别操作仅可用于远程会话.
没有.
这是一个错误. "The WS-Management identification operation is only available on remote sessions" 在Windows中发生 (通常在使用PowerShell或WinRM命令时,如 Test-WSMan 或是 Connect-WSMan ) 当您试图运行针对本地机器的WS管理操作时 ( localhost 或是 127.0.0.1 ) 使用严格为远程终端设计的参数或机制. WinRM 积极阻止本地主机上某些身份验证循环,以保持安全界限并防止循环身份验证问题.
逐步修复问题
方法1:删除本地测试的目标参数
If you are troubleshooting WinRM on your current machine, running the command with explicit local loopback addresses triggers this error.
- 打开 PowerShell 作为一个管理员.
- 而不是逃跑:
Test-WSMan -ComputerName localhost - 运行没有计算机名称参数的命令来测试本地 WinRM 服务:
Test-WSMan
方法2:启用远程管理本地循环检查 (禁用循环检查)
如果您的应用程序或脚本严格要求连接到 localhost 通过明确的远程式会话调用,您必须修改Windows注册表以允许本地循环认证.
- 按下 Windows Key + R, 类型
regedit,然后按下 Enter 打开注册表编辑器. - 导航到以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa - 右键点击 Lsa 文件,选择 New 然后点击 DWORD (32-bit) Value.
- 给出新的值.
DisableLoopbackCheck. - 双击
DisableLoopbackCheck改变它 Value data 为了1并且保持基地的状态. Hexadecimal. - 点击 OK 并重新启动您的计算机,以便更改生效.
方法3:配置WinRM可靠主机
有时安全策略甚至在内部限制WS-Management流量.强迫WinRM信任所有主机 (或您的特定本地配置) 绕过严格的识别块.
- 右键单击开始菜单并选择 Terminal (Admin) 或是 PowerShell (Admin).
- 运行下列命令,允许循环回归和远程认证对齐:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force - 重新启动 WinRM 服务以应用配置:
Restart-Service WinRM
方法4:用于本地场景使用新PSSession
如果您必须为脚本本本地模拟远程会话环境,则建立正式的PowerShell会话而不是直接连接调用.
- 打开你的脚本或PowerShell控制台.
- 将连接初始化为这样的会话块:
$session = New-PSSession -ComputerName "localhost" Invoke-Command -Session $session -ScriptBlock { Get-Process } Remove-PSSession $session
可能有一些错误.. Learn Microsoft