6

我需要一点帮助。我几乎没有 PowerShell 经验,但我正在使用我身边的袖珍指南和我的 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'

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

4

3 回答 3

14

尝试这个:

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

于 2012-10-03T16:59:46.313 回答
7

顺便说一句——

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

于 2013-10-27T15:32:51.920 回答
0

仅出于您的个人利益:

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

Move-ADObject
于 2018-03-08T14:41:58.077 回答