各位大大好:
小弟使用AD的委派控制,讓其他同事可以解鎖帳號與變更密碼等工作,但發現該同事使用時,有些帳號可以解鎖,有些帳號解鎖功能反白無法使用,檢查可以解鎖與無法解鎖的使用者發現,無法解鎖的使用者安全性中沒設繼承
請問各位大大有什麼方法Script或Powershell可以讓所有使用者安全性啟用繼承呢?謝謝~
用Powershell帶網域管理者權限去執行下面的程式碼
小心使用, $users 變數是存放你要改變的帳戶
下面的程式碼有三種方式可以找AD帳戶資訊
並把它們保存在 $users 這個變數內,然後再透過迴圈來做修改
第一個是透過DN位置來找OU內的所有帳戶
第二個是指定群祖名稱內的成員帳戶,這個方法群組內不能有帳戶以外的成員
第三個是指定帳戶名稱(只有單一帳戶)(方便測試用)
請自己先小範圍測試沒問題再去套用大的
$users = Get-ADUser -LDAPFilter "(objectclass=user)" -searchbase "CN=Users,DC=test,DC=com"
$users = Get-ADGroupMember -Identity "Domain users"
$users = Get-ADuser -Identity test
foreach($user in $users)
{
# 開啟ADSI走LDAP查詢
$ou = [ADSI]("LDAP://" + $user)
$sec = $ou.psbase.objectSecurity
if( $sec.get_AreAccessRulesProtected() )
{
# 建立繼承規則
$isProtected = $false
# 建立保留繼承規則
$preserveInheritance = $true
# 寫入ACL規則
$sec.SetAccessRuleProtection($isProtected, $preserveInheritance)
# 儲存變動
$ou.psbase.commitchanges()
# 顯示資訊
$message = $user.Name + " 繼承未啟用,執行啟用繼承設定"
Write-Output $message
}
else
{
# 顯示資訊
$message = $user.Name + " 繼承已啟用"
Write-Output $message
}
}