2015-12-21 61 views
2

我正在尋找一個函數,根據命令的結果返回$true$false命令匹配錯誤或真實的測試結果

有點像這樣:

Function Get-ChPwd ([string] $sam) { 
    $x = Get-ADUser -Identity $sam -Properties CannotChangePassword | 
     Select-Object -ExpandProperty CannotChangePassword 

    if($x -match "False") { 
     return $false 
    } else { 
     return $true 
    } 
} 
+1

'如果($ X -match「假」)'是不一樣的'如果($ x -match $ False)'這就是你的意思......那個和ansgars的答案。 – Matt

回答

2

酒店已經有一個布爾值,這樣你就可以簡單地返回該值。不過,我會推薦一個不同的函數名稱,因此它遵守naming conventions

Function Test-CannotChangePassword([string]$sam) { 
    Get-ADUser -Identity $sam -Properties CannotChangePassword | 
     Select-Object -ExpandProperty CannotChangePassword 
} 

請注意,如果不存在具有該標識的用戶,則會引發錯誤。如果你想返回$false,而不是在這種情況下使用的,而不是-Filter拋出-Identity錯誤並把結果爲bool:

Function Test-CannotChangePassword([string]$sam) { 
    [bool](Get-ADUser -Filter "SamAccountName -eq '$sam'" -Properties CannotChangePassword | 
     Select-Object -ExpandProperty CannotChangePassword) 
} 
相關問題