EnforcementDeadline
是应用程序部署的属性。您试图从不存在的包部署中读取它,因为它们可以有多个分配的时间表,这些时间表可以是一次性的,也可以是重复的(例如每天)。如果您使用
Get-CMApplicationDeployment
和
Get-CMPackageDeployment
您将获得正确类型的对象,以便访问这些值。
我包含了一个示例,该示例将检测部署是否用于包并检索
StartTime
-它的时间表的值(我假设它们是不可恢复的)。
$DeadlineColumn = @{
Name="EnforcementDeadline"
Expression={
if($_.FeatureType -eq 2 -or $_.FeatureType -eq 7) {
#Package or task sequence
#Get assignment-starttime (ignoring daily/hourly etc.)
(Get-CMPackageDeployment -DeploymentId $_.DeploymentID).AssignedSchedule | Select-Object -ExpandProperty StartTime
} else {
#Application
$_.EnforcementDeadline
}
}
}
Get-CMDeployment -CollectionName "abc" | select CollectionName, ApplicationName, PackageID, DeploymentTime, $DeadlineColumn | out-gridview