我構建了一個物件陣列,如果有錯誤我有興趣記錄。物件陣列像這樣開始
[array]$UsersResults = $GSuspend | ForEach-Object {
gam update user $_.primaryEmail archived on | Out-Null
[PSCustomObject]@{
Email = $_.primaryEmail
Error = $LASTEXITCODE
}
}
我只是想知道是否有任何錯誤不是 0。
如果每個錯誤都是 0。稍后在我的腳本中,我從陣列中洗掉了錯誤列,但我很確定下面的邏輯是有缺陷的。
If (-not ($UsersResults.error -notcontains 0)) {
有沒有一種簡單的方法可以讓我找到大于 0 的錯誤號,或者如果發現錯誤,只在腳本頂部的陣列中添加錯誤?
uj5u.com熱心網友回復:
用于Where-Object根據Error列的值過濾陣列:
$failedResults = $UsersResults |Where-Object Error -ne 0
if($failedResults.Count -gt 0){
Write-Warning "'$($failedResults.Count)' errors occurred!"
}
else {
Write-Host "No errors occurred!"
}
如果您希望結果只是電子郵件地址的平面陣列,請使用$UsersResults.Email或$UsersResults |ForEach-Object Name。如果您想要Email保留屬性但沒有Error屬性的新物件陣列,請使用$UsersResults |Select-Object Email
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454140.html
標籤:电源外壳
