powershell 获取客户端计算机上的SCCM任务序列状态

jgwigjjp  于 2023-05-07  发布在  Shell
关注(0)|答案(1)|浏览(182)

我正在Azure中创建一个Windows VM,并希望执行PowerShell脚本来执行以下任务:
1.安装SCCM客户端
1.重新启动,SCCM任务序列将在几分钟内启动。
1.等待任务序列完成
1.额外任务1
1.额外任务2....
我的问题是,在步骤3的等待时间内,如何使用PowerShell和CIM类/WMI检查任务序列是否完成?
正在安装的应用程序是一个设备集合,我没有登录到机器。

slmsl1lt

slmsl1lt1#

如果真的有必要这样做(通常你的任务也可以由sccm处理,所以不需要自己等待,只需将其作为应用程序或程序并部署即可),“执行历史”(SCCM程序和TS的完成记录)可以在HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client\Software Distribution\Execution History中找到。在那里,您可以查找以TS PackageID命名的密钥,该密钥将具有包含REG_SZ _State的随机子密钥,一旦TS完成,该子密钥将成功作为条目。
因此,对于ID为SMS00001的机器TS,您需要检查以下内容

(Get-ChildItem -path "HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client\Software Distribution\Execution History\System" -Recurse | where {$_.Name -like "*SMS00001*"} | foreach { get-itemproperty -path  $_.PsPath})._State

相关问题