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

elo*_*k37 4 powershell active-directory

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

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

我遇到的问题是存储和调用这些东西.我有这个,它给了我一个用户的信息.我怎样才能隔离专有名称并存储它?

$name = read-host "Enter user name"
Get-ADUser $name
Run Code Online (Sandbox Code Playgroud)

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

Move-ADobject 'CN=$name,OU=department,OU=company,DC=Domain,DC=net' -TargetPath 'OU=NonActive,OU=company,DC=Domain,DC=net'
Run Code Online (Sandbox Code Playgroud)

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

CB.*_*CB. 11

试试这个:

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

  • 您需要了解powershell管道:http://technet.microsoft.com/en-us/library/ee176927.aspx (3认同)

小智 5

撇开这个-

Powershell无法识别变量,例如将变量$name用单引号引起来时,因为Shell将此类值视为文字字符串。使用双引号处理变量:

例如。 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'应按预期工作。另一方面,您将通过管道学习更多有趣的东西。