无法将Get-ADUser属性返回给变量

时间:2015-06-30 21:15:42

标签: powershell active-directory

我现在正在努力使用Get-ADUser。当我在CLI中执行此操作时,事情似乎有效:

PS C:\> $UserName = Get-ADUser -Filter {Name -like "*Jen* Caruso"}
PS C:\> $UserName

DistinguishedName : CN=Jennifer Caruso,OU=Users,OU=Amistad
                    High,OU=AF-CT,OU=AF,DC=af,DC=org
Enabled           : True
GivenName         : Jennifer
Name              : Jennifer Caruso
ObjectClass       : user
ObjectGUID        : 4af56e81-49e1-497f-97f8-e609de783e6b
SamAccountName    : jennifercaruso
SID               : S-1-5-21-3170393226-1320018563-691763927-1543
Surname           : Caruso
UserPrincipalName : jennifercaruso@af.org

PS C:\> $UserName.SamAccountName
jennifercaruso

但是当我在ps1脚本中使用它时,我没有得到任何回复:

Import-Module ActiveDirectory

$FName = "Jen"
$LName = "Caruso"
$UserName = "$FName$LName"

$ADName = Get-ADUser -Filter {Name -like "*$FName* $LName"}
$User = $ADUser.SamAccountName

Write-Host "$UserName $User"

令人困惑,有点令人沮丧。我忽略了什么吗?

1 个答案:

答案 0 :(得分:0)

将过滤器定义为字符串而不是脚本块:

$ADName = Get-ADUser -Filter "Name -like '*$FName* $LName'"

展开属性SamAccountName以获取没有中间步骤/变量的帐户名称:

$User = Get-ADUser -Filter "Name -like '*$FName* $LName'" |
        select -Expand SamAccountName