Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell-禁用用户并将其移动到新的OU_Powershell_Foreach - Fatal编程技术网

Powershell-禁用用户并将其移动到新的OU

Powershell-禁用用户并将其移动到新的OU,powershell,foreach,Powershell,Foreach,这里是新会员 我正在尝试创建一个powershell脚本,该脚本可以使用当前日期(dd-MM-yyyy)创建新的OU,从文本文件中禁用用户,然后将他们移动到新创建的OU 到目前为止,除了上班,我什么都有了。我已经读到,这可能是因为文本文件包含用户sAMAccountName,它不适用于Move-ADObject 作为记录,一般来说,我对脚本编写非常陌生,而且我知道最后一行已经完全过时了。一切都是由我在网上找到的东西组成的 代码: 错误: Move ADObject:在“DC=xxx”下找不到标识

这里是新会员

我正在尝试创建一个powershell脚本,该脚本可以使用当前日期(dd-MM-yyyy)创建新的OU,从文本文件中禁用用户,然后将他们移动到新创建的OU

到目前为止,除了上班,我什么都有了。我已经读到,这可能是因为文本文件包含用户
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"