[英]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.