PowerShell-get-counter-算机上找不到任何性能计数器集: 错误 800007d0
#已经解决了,感谢国外大神的解答:https://techcommunity.microsoft.com/t5/windows-powershell/get-counter-could-not-find-any-performance-counter-sets-on-the/m-p/3811330/thread-id/6430#M6433
我使用 hyper-v 在我的 Windows 2016 上虚拟化 Windows Server 10。我确保主机和虚拟机之间的网络畅通无阻,如下所示:
PS 2023年5月3日 16:44:41 C:\Users\gyj> $server_ip
192.168.50.101
PS 2023年5月3日 16:54:47 C:\Users\gyj> ping $server_ip
正在 Ping 192.168.50.101 具有 32 字节的数据:
来自 192.168.50.101 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.50.101 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.50.101 的回复: 字节=32 时间<1ms TTL=128
来自 192.168.50.101 的回复: 字节=32 时间<1ms TTL=128
192.168.50.101 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
PS 2023年5月3日 16:55:01 C:\Users\gyj>
但是当我使用如下所示的命令时,它会返回错误:
PS 2023年5月3日 16:22:17 C:\Users\gyj> Get-Counter -ListSet * -ComputerName $server_ip
Get-Counter: Could not find any performance counter sets on the 192.168.50.101 computer: error 800007d0. Verify that the 192.168.50.101 computer exists, that it is discoverable, and that you have sufficient privileges to view performance counter data on that computer.
根据介绍,无需配置远程命令即可使用。我不知道为什么会出现这个错误,网上几乎没有相关的说明。
已尝试重新启动虚拟机,但这并不能解决问题。请看一看,非常感谢。
我想,我可能知道为什么,因为WiaRpc服务没有成功启动。这要归功于此代码示例。
但是出现了一个新问题:我无法启动WiaRpc服务,我尝试了很多方法。
[Windows Server 2016]: PS C:\Users\Administrator\Documents> Get-Service "WiaRpc"|Start-Service
Start-Service : 无法启动服务“Still Image Acquisition Events (WiaRpc)”。
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
+ FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand
[Windows Server 2016]: PS C:\Users\Administrator\Documents>
Windows 无法启动本地计算机上的静止图像采集事件。有关详细信息,请参阅系统事件日志。如果这是非 Microsott 服务,请联系您的服务供应商并参考服务特定错误代码 1722。
静止图像采集事件服务由于以下特定于服务的错误而终止:
RPC 服务器不可用。
但实际上,rpc 服务正在运行。
PS C:\Users\Administrator> Get-Service -Name "*rpc*"
Status Name DisplayName
------ ---- -----------
Running RpcEptMapper RPC Endpoint Mapper
Stopped RpcLocator Remote Procedure Call (RPC) Locator
Running RpcSs Remote Procedure Call (RPC)
Stopped WiaRpc Still Image Acquisition Events
PS C:\Users\Administrator>
现在,我真的无能为力。
您的ping测试不能证明您具有连接性,因为Get-Counter不使用ICMP。
Get-Counter利用SMB,SMB通过TCP 445运行。
您只提供了错误代码的第一部分,但我的猜测是完整的错误代码是 800007d0。如果是这种情况,那么您有东西阻止了您达到 TCP 445 的能力。这可能是客户端上的防火墙、目标主机上的防火墙,甚至是介于两者之间的防火墙设备。
这是一个 Wireshark 跟踪,显示了在连接尝试期间反复尝试连接到 TCP 445,最终失败并出现错误 800007d0。
解决防火墙问题后,您仍然需要在目标主机上拥有足够的权限。如果不这样做,您将失败并显示错误 c0000bdb,为此我包含了 Wireshark 跟踪,显示了从目标主机发送回客户端的“访问被拒绝”错误。
干杯
躺
是的,正如您所期望的那样。这是因为虚拟机上防火墙的端口 445 未释放。同时,我也遇到了你提到的c0000bdb错误。
起初我很困惑,因为 get-counter 命令没有传递用户名和密码的参数。最后,我突然意识到,我打开Windows资源管理器,在地址栏中输入“\\虚拟机IP地址”,然后输入相应的帐户密码,并选择“保存凭据”,然后我再次运行命令,这次成功了!
最后,你真是太棒了,非常专业和热情,非常感谢,祝你在工作和生活中一切顺利。