Disable/Enable 来自 CSV 的 AD 用户帐户
Disable/Enable AD user account from CSV
如何根据条目从 csv 启用或禁用 AD 用户帐户。如果两者的状态都显示为活动,则只有一个帐户被启用,而不是两个。禁用状态也一样
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,但您似乎没有将它分配给 foreach 循环的变量
如果您将它分配给如下所示的 $Users
变量,则脚本的其余部分应该按预期通过您的 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"
}
}
如何根据条目从 csv 启用或禁用 AD 用户帐户。如果两者的状态都显示为活动,则只有一个帐户被启用,而不是两个。禁用状态也一样 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,但您似乎没有将它分配给 foreach 循环的变量
如果您将它分配给如下所示的 $Users
变量,则脚本的其余部分应该按预期通过您的 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"
}
}