2015-12-21 32 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) 
} 
相关问题