如果给定的用户名是服务帐户,我会尝试使用下面的主机命令来决定。
Get-ADUser $username -Properties PasswordNeverExpires |
where { $_.PasswordNeverExpires -eq "true" } |
where { $_.Enabled -eq "true"}
它应该只返回一个值,可能是True或False。我怎么能这样做?
答案 0 :(得分:1)
我不相信Mathias的回答是正确的。要确定给定的sAMAccountName是否为服务帐户,请参阅以下内容:
powershell命令是:
Get-ADServiceAccount -Identity Service1
其中' Service1'是sAMAccountName。
更新:
我在这个问题上有类似的帖子,但我的目标是通过C#LDAP过滤器获取所有托管服务帐户(请参阅下面的链接)。
Active Directory: How to determine whether account is service account?
我希望这会有所帮助。
答案 1 :(得分:0)
将表达式转换为[bool]
- 如果不存在具有这些条件的用户,则表示$false
,否则为$true
:
$SAExists = [bool](Get-ADUser -Filter {SAMAccountName -eq $username -and PasswordNeverExpires -eq $true -and Enabled -eq $true})