Проверьте, является ли пользователь служебной учетной записью
Я пытаюсь решить с использованием команды хоста ниже, является ли данное имя пользователя служебной учетной записью или нет.
Get-ADUser $username -Properties PasswordNeverExpires |
where { $_.PasswordNeverExpires -eq "true" } |
where { $_.Enabled -eq "true"}
Он должен возвращать только одно значение, может быть с True или False. Как я мог это сделать?
2 ответа
Приведите выражение к [bool]
- если нет пользователя с этими критериями, он будет $false
, иначе $true
:
$SAExists = [bool](Get-ADUser -Filter {SAMAccountName -eq $username -and PasswordNeverExpires -eq $true -and Enabled -eq $true})
Я не верю, что ответ Матиаса правильный. Чтобы определить, является ли данное имя sAMAccountName служебной учетной записью, см. Следующее:
Команда powershell:
Get-ADServiceAccount -Identity Service1
где 'Service1' является именем sAMAccountName.
Обновить:
У меня есть похожие сообщения на этот вопрос, но моей целью было получить все управляемые учетные записи служб через фильтр C# LDAP (см. Ссылку ниже).
Active Directory: как определить, является ли учетная запись служебной учетной записью?
Надеюсь, это поможет.