背景故事:
我正在编写一个指向Microsoft SCCM集合的脚本。此脚本用于查询集合中的所有成员并执行某些操作。到目前为止,我可以重新启动所有集合成员的特定服务,例如SCCM服务。我正在做的下一步是从集合中的每个成员卸载一个补丁。
这样的事情可以在每个集合成员上重新启动服务:
foreach ($member in get-cmdevice -collectionname "A collection name"){Get-Service -ComputerName $member.name -Name CcmExec | Restart-Service}
剧本:
foreach ($member in get-cmdevice -collectionname "Some collection name")
{
$ession = new-PSSession -ComputerName $member
Invoke-Command -Session $ession {wusa.exe /uninstall /kb:######/quiet /log /norestart}
}
产生的错误:
new-PSSession:一个或多个计算机名称无效
尝试通过仅添加invoke-command来模拟第一个脚本,导致脚本尝试从本地计算机卸载更新。
思想?
答案 0 :(得分:0)
知道了。不得不添加
.name
会员结束后$会员。我试图将整个对象/数组拉进去。