如何使用PowerShell在AD中移动用户?

时间:2012-10-03 16:32:05

标签: powershell active-directory

我需要一些帮助。我几乎没有PowerShell经验,但我正在使用Pocket Guide和我的GoogleFu。

目前,我的计划是提示用户名并存储它,使用Get-ADUser和存储的用户名来获取和存储DistinguishedName,使用Move-ADObject将用户从DistinguishedName移动到目标路径。

我遇到的问题是存储和调用这些东西。我有这个,它给了我一个用户的信息。我如何只隔离专有名称并存储它?

$name = read-host "Enter user name"
Get-ADUser $name

存储DN后,Move-ADObject可以使用存储的值吗?我试图存储个别值,如:

Move-ADobject 'CN=$name,OU=department,OU=company,DC=Domain,DC=net' -TargetPath 'OU=NonActive,OU=company,DC=Domain,DC=net'

但是这会返回“找不到目录对象”,因为它不使用存储的值。

3 个答案:

答案 0 :(得分:11)

试试这个:

Get-ADUser $name| Move-ADObject -TargetPath 'OU=nonactive,OU=compny,DC=domain,Dc=net'

答案 1 :(得分:4)

暂不论这个 -

当shell括在单引号中时,Powershell无法识别$name等变量,因为shell将这些值视为文字字符串。使用双引号来处理变量:

EG。 write-host '$name'会输出$name,但write-host "$name"会返回变量中的值。

所以Move-ADobject "CN=$name,OU=department,OU=company,DC=Domain,DC=net" -TargetPath 'OU=NonActive,OU=company,DC=Domain,DC=net'应该按预期工作。另一方面,您将通过使用管道学习更多有趣的东西。

答案 2 :(得分:0)

仅为了您的个人兴趣:

CB。,管道正在传递一个对象。 您不应使用字符串,而应使用带有以下命令的对象:

Move-ADObject