我正在尝试将已禁用的用户移动到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
}
答案 0 :(得分:1)
复制代码似乎尝试执行的操作的最简单方法是:
$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
答案 1 :(得分:0)
目标OU是$ OUTransfer =" CN =禁用用户 帐户,DC =公司,DC =本地"
这有两个可能的问题:
OU=
开头。它可能是一个容器"而不是" OU"。如果是这种情况,那就没问题了。=
后面有空格。应该没有空间。答案 2 :(得分:0)
首先,您需要拥有每个用户的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
}