如何用PowerShell通过ADComputer与Get-CimInstance获取特定服务器序列号
解决单台服务器序列号获取失败的问题
先排查基础连通性
- 测试目标服务器连通性:
Test-Connection -ComputerName "目标服务器名" -Count 2 - 检查WinRM服务状态(CIM依赖该服务):
- 远程检查:
Get-CimInstance Win32_Service -ComputerName "目标服务器名" -Filter "Name='WinRM'" - 若能登录目标服务器,直接本地执行:
Get-Service WinRM,确保状态为Running
- 远程检查:
执行单台专属命令并查看错误
去掉批量逻辑和静默错误处理,直接针对目标服务器执行,看具体报错:
Get-CimInstance Win32_Bios -ComputerName "目标服务器名"
根据报错对应处理:
- 访问被拒绝:确认执行账号有目标服务器管理员权限,或用指定权限账号执行:
$cred = Get-Credential Get-CimInstance Win32_Bios -ComputerName "目标服务器名" -Credential $cred - RPC服务器不可用:检查目标服务器防火墙是否放行WinRM(5985/5986端口)和RPC通信,可临时关闭防火墙测试
- 找不到计算机:核对服务器名拼写,或换用IP地址尝试
备选方案
如果CIM方式无效,试试WMI(部分旧环境兼容更好):
Get-WmiObject Win32_Bios -ComputerName "目标服务器名"
或者直接远程登录目标服务器,本地执行:
Get-CimInstance Win32_Bios
内容的提问来源于stack exchange,提问作者Mahmoud fouad
相关产品推荐
相关产品推荐

