如何在AD过滤字符串中使用变量?

时间:2015-07-28 17:40:16

标签: powershell active-directory

我有以下powershell脚本来获取LDAP属性。我想将BadgeID作为变量传递而不是硬编码。 LDAP查询正在使用硬编码的BadgeID,但看起来如果我用变量替换硬编码值,那么它就不会返回任何内容。

$BadgeID = $item["BadgeID"]
$SearchBase = 'OU=Sales-Users,DC=mayoclinic,DC=com';
$LdapServer = 'MAYOCLNDC413.MAYOCLINIC.COM';

Get-ADUser -SearchBase $searchbase -SearchScope 'subtree' -Server $ldapserver -filter 'BadgeID -like "*74049660*"' -Properties * |
    Select -Property Name, AccountExpires, AccountExpirationDate, BadgeID

1 个答案:

答案 0 :(得分:1)

反转过滤器表达式的引号:

Get-ADUser -Filter "BadgeID -like '*$BadgeID*'" ...

变量以双引号字符串扩展,但不在单引号字符串中扩展。