繁体   English   中英

如何排除某些用户Powershell密码重置脚本

[英]How to exclude certain users Powershell Password Reset Script

大家需要帮助

我一直在想着如何从密码重置脚本中排除某些用户。

这是脚本:

$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,但是我无法完全解决。

任何帮助将非常感激。

多谢你们

您可以使用以下排除列表:

$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
}

}

您始终可以在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,以便随后导入它并完成我想做的事情,而不必担心是否在未经他人许可的情况下更改了他人的密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM