variables在PowerShell AD命令的问题

我已经search(包括)这个论坛,并看到有关这个评论,但不能得到它的工作。

我有一个variablesPS $user.accountname = Aaron.street"

但是,如果我input完整的名称,但不使用variables。 我已经试过这样的search这个论坛的鬃毛build议,但似乎没有任何工作。

  PS D:\Lync PS scripts> Get-adUser -Filter "name -like 'Aaron Street'" DistinguishedName : CN=aaron street,OU=Full_time,OU=Staff,OU=Accounts,OU=......... Enabled : True GivenName : aaron Name : aaron street ObjectClass : user ObjectGUID : 037c744b-63fa-4a18-adb3-........ SamAccountName : street SID : S-1-5-21-33161136-........... Surname : street UserPrincipalName : street@........... PS D:\Lync PS scripts> Get-adUser -Filter "name -like '$user.Accountname'" PS D:\Lync PS scripts> Write-Host $user.AccountName Aaron Street 

我想要的是find用户,然后使用另一个variables“$ user.number”来更新一个属性。所以我的完整命令是

 get-aduser -filter "name -like '$user.accountname'" | set-aduser -Replace @{Officephone = $user.Number} 

任何想法,我去哪里使用variables错了?

您需要使用一个子表达式正确地扩展变量

 Get-adUser -Filter "name -like '$($user.Accountname)'"