Непредсказуемый вывод при настройке паролей учетных записей пользователей - PullRequest
0 голосов
/ 07 июня 2018

У меня есть следующий код с некоторыми настройками вверху и кодом, извлеченным изнутри тела цикла ниже:

Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$DIR_SVCS = New-Object System.DirectoryServices.AccountManagement.PrincipalContext('domain')

## Other stuff...

## usersOU is set to the domain of the users (...,OU=users,dc=<domain>...)
Search-ADAccount -LockedOut -SearchBase $usersOU | Unlock-ADAccount

## Loop code...
$userID = 'myuser'
$password = 'TempPa$$w0rd'
$SecurePW = ConvertTo-SecureString ($password) -AsPlainText -Force

Set-ADAccountPassword $userID -Reset -NewPassword $SecurePW | Out-Null
if ((-Not $?) -or ($LASTEXITCODE -gt 0)) {
    Throw "ERROR with Set-ADAccountPassword exit code $LASTEXITCODE on $userID"
}

if ($DIR_SVCS.ValidateCredentials($userID, $password)) {
    Write-Host "Validated new account password: $userID"
} else {
    Write-Host "FAILED validation of new account password: $userID"
}

Это выполняется для массива пользователей и паролей, и вывод оставляет меняпочесывая голову:

Validated new account password: user1
FAILED validation of new account password: user2
FAILED validation of new account password: user3
Validated new account password: user4
FAILED validation of new account password: user5
...

Я не вижу признаков того, почему это не удается для некоторых и успешно для других.Все изменяемые пользователи существуют в «$ usersOU», который разблокируется выше, но я ожидаю, что после вызова «Set-ADAccountPassword» будет возникать ошибка или все вызовы проверки завершатся успешно ...

Буду признателен за любую помощь в понимании того, что здесь происходит!

1 Ответ

0 голосов
/ 08 июня 2018

Обычно это наблюдается при запросе активного каталога из модуля ActiveDirectory и .NET в среде с несколькими контроллерами домена.Этого можно избежать, обеспечив, чтобы оба говорили на одном и том же сервере, возможно, самый простой способ - использовать свойство «ConnectedServer» из $ DIR_SVCS вместе с Search-ADAccount

Например:

Search-ADAccount -LockedOut -SearchBase $usersOU -Server $DIR_SVCS.ConnectedServer | Unlock-ADAccount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...