我需要一些帮助。我几乎没有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'
但是这会返回“找不到目录对象”,因为它不使用存储的值。
答案 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