PowerShell - 在另一个cmdlet中使用变量

时间:2015-04-15 10:48:15

标签: string variables powershell active-directory

我想使用AD用户的办公室电话号码创建一个变量,并在另一个cmdlet中使用此变量。

$a = Get-AdUser -Filter "name -eq 'User1'" -Properties OfficePhone | FT OfficePhone | Out-String
Set-ADUser User2 -EmailAddress $a

我试过这个,但它不起作用。有人能帮助我吗?

祝你好运

2 个答案:

答案 0 :(得分:1)

$a = (Get-ADuser User1 -Properties OfficePhone).OfficePhone
Set-ADUser User2 -EmailAddress $a

Get-ADUser的-Properties参数告诉cmdlet除已包含的其他属性外,还包括您指定的属性,例如DistinguishedName,Enabled,GivenName等。

因此,您必须通过将cmdlet包装在括号中并使用句点后跟属性名称来指定要保存到$ a变量的属性。这实际上与:

相同
$a = Get-ADUser User1 -Properties OfficePhone
$b = $a.OfficePhone
Set-ADUser User2 -EmailAddress $b

答案 1 :(得分:0)

您想要选择User1对象的特定属性,在本例中为OfficePhone。请尝试一下,让我知道它是否有效,因为我目前没有安装Active Directory模块。

$a = Get-AdUser -Filter "name -eq 'User1'" -Properties OfficePhone | Select-Object OfficePhone
Set-ADUser User2 -EmailAddress $a