我对 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"]
}
}
谢谢,
槊