我现在正在努力使用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"
令人困惑,有点令人沮丧。我忽略了什么吗?
答案 0 :(得分:0)
将过滤器定义为字符串而不是脚本块:
$ADName = Get-ADUser -Filter "Name -like '*$FName* $LName'"
展开属性SamAccountName
以获取没有中间步骤/变量的帐户名称:
$User = Get-ADUser -Filter "Name -like '*$FName* $LName'" |
select -Expand SamAccountName