背后故事:
我正在编写一个指向 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:一个或多个计算机名无效
尝试通过仅添加调用命令来模拟第一个脚本会导致脚本尝试从本地计算机卸载更新。
想法?