Powershell-禁用用户并将其移动到新的OU
这里是新会员 我正在尝试创建一个powershell脚本,该脚本可以使用当前日期(dd-MM-yyyy)创建新的OU,从文本文件中禁用用户,然后将他们移动到新创建的OU 到目前为止,除了上班,我什么都有了。我已经读到,这可能是因为文本文件包含用户Powershell-禁用用户并将其移动到新的OU,powershell,foreach,Powershell,Foreach,这里是新会员 我正在尝试创建一个powershell脚本,该脚本可以使用当前日期(dd-MM-yyyy)创建新的OU,从文本文件中禁用用户,然后将他们移动到新创建的OU 到目前为止,除了上班,我什么都有了。我已经读到,这可能是因为文本文件包含用户sAMAccountName,它不适用于Move-ADObject 作为记录,一般来说,我对脚本编写非常陌生,而且我知道最后一行已经完全过时了。一切都是由我在网上找到的东西组成的 代码: 错误: Move ADObject:在“DC=xxx”下找不到标识
sAMAccountName
,它不适用于Move-ADObject
作为记录,一般来说,我对脚本编写非常陌生,而且我知道最后一行已经完全过时了。一切都是由我在网上找到的东西组成的
代码:
错误:
Move ADObject:在“DC=xxx”下找不到标识为“firstname.lastname”的对象。
ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.MoveADObject**
我希望你有一些想法如何让这个工作,谢谢
比尔。Mik您可以使用
-PassThru
开关和禁用ADAccount
沿管道将用户对象移动到移动ADObject
Get-ADUser $_ | Disable-ADAccount -PassThru | Move-ADObject -TargetPath "OU=$OU,$PathOU"
替代方案也应该有效:
$user = Get-ADUser $_
$user | Disable-ADAccount
$user | Move-ADObject -TargetPath "OU=$OU,$PathOU"
这里有几个错误
1-您正在尝试使用整个AD对象作为-identity标志:而不是$\尝试使用$\ samaccountname
2-您试图将对象移动到$ou,而$ou只是一个字符串。我想你的新的adOrganizationalUnit命令是有效的;所以在这之后加一行,写上“$newOU=Get ADorganizationalunit”—路径[随便什么]
抱歉,我没有时间键入并测试:(这似乎让我更进一步了,但我仍然得到了一个错误..嗯。由于对象的父对象未实例化或已删除,因此无法执行该操作。感谢您的回复!更改顺序有效吗?get ADUser$| Move ADObject-TargetPath$OU-PassThru | Disable AdaAccount get ADUser$|返回什么?下面的信息:DifferencedName:CN=“用户描述与广告”,OU=离开,OU=IT,OU=users,OU=DK,OU=Countries,DC=xxx已启用:True GivenName:“firstname”名称:“来自广告的用户描述”对象类:用户对象GUID:“long id”SamAccountName:“firstname.lastname”SID:“long id”姓氏:“用户姓氏”UserPrincipalName:“用户电子邮件地址”您使用哪个PowerShell版本?
$user = Get-ADUser $_
$user | Disable-ADAccount
$user | Move-ADObject -TargetPath "OU=$OU,$PathOU"