Скрипт PowerShell для сброса учетной записи AD при проверке, существует она или нет - PullRequest
0 голосов
/ 13 марта 2019

Я не думаю, что я далеко, однако первое, если Statement не работает, сброс работает, если имя пользователя правильное, однако я хочу, чтобы скрипт проверял, правильно ли имя пользователя AD перед выполнением сброса.Что мне нужно изменить?

Import-Module ActiveDirectory  
$username = Read-host "please enter users AD username"  
If ($username -eq $null) {"$username does not exist in AD"}  
Else {"User found in AD"}  
$myinformation = get-aduser $username -properties *  
Set-ADAccountPassword $username -NewPassword $newpwd -Reset -PassThru |    Set-ADuser -ChangePasswordAtLogon $False  
Read-host "Password reset successfully" 

1 Ответ

0 голосов
/ 13 марта 2019

Обновите эту строку:

If ($username -eq $null) {"$username does not exist in AD"}

до:

try {
Get-ADUser $username -ErrorAction Stop
} 
Catch {"$username does not exist in AD"}

или:

if (!(Get-ADUser -filter {SamAccountName -eq $username})) {"$username does not exist in AD"}

, как прокомментировал TobyU, ваш $username не проверяется, еслиПользователь существует в AD, строка замены, которую я предложил проверить, означает, что если $username не существует (! сокращение от -not), выведите «не существует» и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...