将用户移动到Powershell中禁用的OU
我正在尝试将我的残疾用户移动到广告中的适当OU。我已经尝试使用此代码一段时间了,逻辑对我来说似乎是合理的。请让我知道你的想法:将用户移动到Powershell中禁用的OU,powershell,active-directory,Powershell,Active Directory,我正在尝试将我的残疾用户移动到广告中的适当OU。我已经尝试使用此代码一段时间了,逻辑对我来说似乎是合理的。请让我知道你的想法: $disalbled= Search-ADAccount -AccountDisabled -UsersOnly | Select SamAccountName | export-csv -Path 'C:\Users\andrew.schilling\Desktop\test\Test.csv' -NoTypeInformation $disbaledlist =
$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
}
并且目标OU是$outTransfer=“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
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
}
对此:
$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
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
}
其次,您需要指定您在CSV中选择的列(在
您的foreach循环)
您可以这样做:
$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
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
}
完整解决方案:
$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
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
}
复制代码试图执行的操作的最简单方法是:
$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
但是,您要包括已在$outtransfer
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
问题是什么?它不会抛出错误,但不会移动用户只是猜测,但它可以是任何有权限的东西吗?您可以手动执行吗?您是否有多个域控制器?如果您没有查看完成移动的同一个域控制器,则在复制完成之前,您将看不到更改。不,我们只有一个DCI已按照您的建议重新编写,并且仍在处理,但没有给出错误。当前脚本是$outTransfer=“CN=Disabled Users Accounts,DC=Company,DC=local”$disalbled=Search AdaAccount-AccountDisabled-UsersOnly |选择DiscrimitedName |导出csv-Path'C:\Users\andrew.schilling\Desktop\test\test.csv'-NoTypeInformation$disbaledlist=import csv'C:\Users\andrew.schilling\Desktop\test\test.csv'($disabledlist.DifferentizedName中的$DifferentizedName){移动ADObject-Identity$aduser-TargetPath$OutTransfer}@AJSKRILLA我更新了答案以包含完整的解决方案。尝试一下,如果它仍然不起作用,请告诉我。-提示:您可以
编写主机$aduser
,查看它是否正确地从CSV中获取条目。感谢您的帮助。它现在会抛出一条错误消息,这比我之前处理的问题要好。错误是Move ADOb对象:无法执行该操作,因为对象的父对象在第5行char:5+Move ADObject-TargetPath处未实例化或已删除$OUTransfer@AJSKRILLA你确定你的$outtransfer
是一个存在的位置,并且你有正确的可识别名称吗?它看起来像是在你的一条评论中我希望你的DN中有额外的空间