PsExec似乎返回了与本地运行命令所期望的不同类型。我尝试使用此
远程Get-CimInstance CIM_ComputerSystem
运行此命令
$computerSystem = &$workingDirectory/psexec.exe \\10.44.20.20 powershell.exe "Get-CimInstance CIM_ComputerSystem"
Get-CimInstance CIM_ComputerSystem
的常用返回类型返回CimInstance,可以像$computerSystem.Name
一样访问成员。
但是,使用psexec时,它会返回格式奇怪的Object Array。在调试时查看变量时,它似乎与CimInstance具有相同的成员,但由于对象数组类型,它们无法访问。
有没有办法将它转换为CimInstance或让psexec访问其成员或使psexec返回预期的类型?
答案 0 :(得分:2)
使用-ComputerName
的{{1}}参数代替Get-CimInstance
。这将返回Powershell可用的对象,而不是字符串数据。