[英]Disable/Enable AD user account from CSV
如何根據條目從 csv 啟用或禁用 AD 用戶帳戶。 如果兩者的狀態都顯示為 Active,則僅啟用一個帳戶而不是兩個帳戶。 禁用狀態 CSV 文件相同:
Samaccountname,Status
john.doe,Active
jane.doe,Disabled
到目前為止我所擁有的:
Import-CSV -Path c:\folder\adaccounts.csv
ForEach ($User in $Users)
{
IF ($User.Status -contains "Disabled")
{
Get-ADUser -Identity $user.samaccountname | Disable-ADAccount
}
elseif ($User.Status -contains "Active")
{
Get-ADUser -Identity $user.samaccountname | Enable-ADAccount
}
在腳本的頂部,您正在導入 CSV 但如果您將其分配給如下所示的$Users
變量,則看起來您並未將其分配給 foreach 循環的變量,那么腳本的 rest 應該是 Z34D1F91FB2E5A89A 到 Z34D1F91FB2E5A89B1A您的 CSV 符合預期。
$Users = Import-Csv -Path c:\folder\adaccounts.csv
-Contains
是一個運算符,用於測試是否可以在數組中找到某些內容,而不是用於測試字符串是否等於另一個字符串。
我會像這樣修改你的代碼:
Import-CSV -Path 'c:\folder\adaccounts.csv' | ForEach-Object {
# test if a user with that SamAccountName can be found
$user = Get-ADUser -Filter "SamAccountName -eq '$($_.Samaccountname)'" -ErrorAction SilentlyContinue
if ($user) {
# set Enabled if Status is not 'Disabled'
$user | Set-ADUser -Enabled ($_.Status -ne 'Disabled')
}
else {
Write-Warning "User $($_.Samaccountname) does not exist"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.