Как исключить определенных пользователей Сценарий сброса пароля Powershell - PullRequest
0 голосов
/ 30 мая 2018

Эй, ребята, нужна небольшая помощь,

Я долго думал, как исключить определенных пользователей из сценария сброса пароля.

Это сценарий:

$newPassword = ConvertTo-SecureString -AsPlainText "MyP@ssw0rd" -Force




Import-Csv "C:\users\administrator\desktop\UserCreation.csv" | ForEach-Object {
 $samAccountName = $_."samAccountName"


Set-ADAccountPassword -Identity $samAccountName -NewPassword $newPassword -Reset

Set-AdUser -Identity $samAccountName -ChangePasswordAtLogon $false
Write-Host " AD Password has been reset for: "$samAccountName
}

Я хочу исключить некоторые samAccountNames из этого сброса пароля, однако я не могу разобраться с этим.

Любая помощь будет высоко ценится.

Спасибо, ребята

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Вы всегда можете установить фильтры в вашей команде Set-AdUser.Например:

    Get-ADUser -Filter {(Enabled -eq $true)`
   -and (sAMAccountType -ne 805306370)`
   -and (cn -ne "Administrator")}` 
   -and (SamAccountName -like "*-ext*")`
   -SearchBase "OU=OUwithUsers,DC=MySubdomain,DC=MyDomain,DC=com"

Вы можете отфильтровать свой список пользователей таким образом или изменить свой CSV-файл, удалив / добавив туда пользователей.Вы используете файл csv в качестве импорта, чтобы у вас был список пользователей, которым вы хотите изменить свои пароли.

Лично я бы очистил csv или создал csv с большим количеством фильтров, чтобы потомимпортируйте его и завершите то, что я хочу сделать, не беспокоясь о том, что я сменил чей-то пароль без его разрешения.

0 голосов
/ 30 мая 2018

Вы можете использовать список исключений следующим образом:

$exclusion_list = "testuser1","testuser2"

$totalList = ("testuser1","testuser2","testuser4")

    foreach($item in $totalList){
    if( $exclusion_list -contains $item){
    "excluding $item"
    continue
    }
    else{
    #reset the password
    $item
    }

    }

Версия хеш-таблицы для повышения производительности:

$exclusion_list = @{"testuser1"="exclude";"testuser2"="exclude"}

$totalList = ("testuser1","testuser2","testuser4")

foreach($item in $totalList){
if( $exclusion_list[$item]){
"excluding $item"
continue
}
else{
#your code
$item
}

}
...