
[英]Moving disabled users to a OU in the AD through Powershell by Exporting a .csv file
[英]Moving users to a disabled OU in Powershell
我正在尝试将残疾用户转移到AD中适当的OU。 我已经尝试使用此代码一段时间了,逻辑对我来说似乎很合理。 请让我知道你的想法:
$disalbled= Search-ADAccount -AccountDisabled -UsersOnly | Select SamAccountName | export-csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv' -NoTypeInformation
$disbaledlist = import-csv 'C:\Users\andrew.schilling\Desktop\test\Test.csv'
foreach ($aduser in $disabledlist) {
Move-ADObject -Identity $aduser -TargetPath $OUTransfer
}
复制您的代码似乎正在尝试执行的最简单方法是:
$OUTransfer = "CN=Disabled Users Accounts,DC=Company,DC=local"
$DisabledUsers = Search-ADAccount -AccountDisabled -UsersOnly
$DisabledUsers |
Select-Object -ExpandProperty SamAccountName |
Export-Csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv'
$DisabledUsers | Move-ADObject -TargetPath $OUTransfer
但是,您将包括$OUTransfer
OU中已经存在的所有用户。 那是浪费时间。 我将这样替换最后一行:
$DisabledUsers |
Where-Object DistinguishedName -notlike "*$OUTransfer" |
Move-ADObject -TargetPath $OUTransfer
如果您根本不需要CSV,而只是将其用作某种形式的临时存储,则可以进一步简化它:
$OUTransfer = "CN=Disabled Users Accounts,DC=Company,DC=local"
Search-ADAccount -AccountDisabled -UsersOnly |
Where-Object DistinguishedName -notlike "*$OUTransfer" |
Move-ADObject -TargetPath $OUTransfer
并且目标OU是$ OUTransfer =“ CN =禁用的用户帐户,DC =公司,DC =本地”
这有两个可能的问题:
OU=
开头。 可能是“容器”而不是“ OU”。 如果是这种情况,那就很好。 =
后面有一个空格。 不应有空间。 首先,您需要具有每个用户的DN才能移动他们。
Get-Help Move-ADObject -Examples
概要将Active Directory对象或对象容器移动到其他容器或域。
-------------------------- EXAMPLE 1 -------------------------- C:\\PS>Move-ADObject -Identity "OU=ManagedGroups,DC=Fabrikam,DC=Com"TarrgetPath "OU=Managed,DC=Fabrikam,DC=Com"
更改此:
$disalbled= Search-ADAccount -AccountDisabled -UsersOnly | Select SamAccountName | export-csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv' -NoTypeInformation
为此:
$disalbled= Search-ADAccount -AccountDisabled -UsersOnly | Select DistinguishedName | export-csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv' -NoTypeInformation
其次,您需要指定要在CSV中选择的列(在foreach循环中)
您可以这样做:
foreach ($aduser in $disabledlist) {
Move-ADObject -Identity $aduser.DistinguishedName -TargetPath $OUTransfer
}
完整解决方案:
$OUTransfer = "CN=Disabled Users Accounts,DC=Company, DC=local"
$disalbled= Search-ADAccount -AccountDisabled -UsersOnly | Select DistinguishedName | export-csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv' -NoTypeInformation
$disabledlist = import-csv 'C:\Users\andrew.schilling\Desktop\test\Test.csv'
foreach ($aduser in $disabledlist) {
Move-ADObject -Identity $aduser.DistinguishedName -TargetPath $OUTransfer
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.