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