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