0

我对 Sharepoint Powershell 了解不多,但我正在尝试拼凑一些东西来自动检查 infopath 表单库中的到期日期字段与今天的日期。

我希望比较下列中的每个日期,

Construction_x0020_Card_x0020_Expiry

到今天为止。如果该值小于今天的日期或为空(意味着许可证过期或没有许可证),请修改以下字段中的文本:

Construction_x0020_Card_x0020_Type 

这就是我到目前为止所拥有的;

if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq      $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}

$webUrl = "https://####"
$listDisplayName = "HR Employee Record"
$ExpiryDate = @($Construction_x0020_Card_x0020_Expiry) 

?? 不确定这是否有效,$Construction_x0020_Card_x0020_Expiry 是一个数组?

$TodayDate = (Get-Date).ToString("dd-MM-yyyy")
$convertedExpiryDate = $ExpiryDate.ToString("dd-MM-yyyy")

?? 不确定这是否有效, $Construction_x0020_Card_x0020_Expiry 是 System.Object[] 试图转换为 System.DateTime

foreach ($item in $convertedExpiryDate.items | where {$convertedExpiryDate -lt $TodayDate}) {

if ($convertedExpiryDate -eq $null) {
Write-Host @($Construction_x0020_Card_x0020_Type)["$null"]
} elseif ($convertedExpiryDate -lt $TodayDate) {
Write-Host @($Construction_x0020_Card_x0020_Type)["Expired"]
} elseif ($convertedExpiryDate -ge $TodayDate) {
Write-Host @($Construction_x0020_Card_x0020_Type)["Valid"]
}

}

谢谢,

4

0 回答 0