Powershell/SCCM - 通过 powershell(或其他)获取 SCCM 部署 "Scheduled time"?

Powershell/SCCM - Get an SCCM deployment "Scheduled time" via powershell (or other)?

我使用了 PowerShell 脚本,其中列出了给定机器的部署名称 and/or 状态,但是它们没有列出我所追求的部署的 "Scheduled Time"(见屏幕截图)。

我基本上想编写一个脚本来询问部署名称(例如 Notepad++ - Install),然后它将 return 此部署的预定时间。这完全可能吗?

在从 Get-CMPackageDeployment 返回的对象中的 AssignedSchedule-属性 中可以分配。

据我所知,您不能像在 2007 年使用广告名称那样在 SCCM 2012+ 中设置部署名称,因此下面的示例改用 PackageName。您可以将其更改为 PackageID、CollectionID 等。例如:

#Remember to import SCCM module and switch to sitename PSDrive, ex: Set-Location C00:
Get-CMPackageDeployment -Name ".NET Framework 4.6.2" | Select-Object PackageID, ProgramName, CollectionID, PresentTime, @{n="Assignments";e={$_.AssignedSchedule.StartTime}}

PackageID ProgramName            CollectionID PresentTime         Assignments                               
--------- -----------            ------------ -----------         -----------                                                   
C0000AF4  Install NET Framework  C000042D     16.03.2017 20:44:00 16.03.2017 20:44:00                       
C0000AF4  Install NET Framework  C0000BF2     03.05.2017 21:07:00 {03.05.2017 21:30:00, 03.05.2017 22:00:00}
上面示例中的

PresentTime 是 "available date"。上面的分配仅显示开始时间。如果您有一个重复出现的计划,您可以从相同的 AssignmentSchedule-objects.

中获取它们