PowerShell AD模块 - 过滤器中的变量

时间:2013-11-05 05:09:35

标签: powershell filter active-directory

很抱歉这个简单的问题要开始,但我很难回答。

我的代码很简单......我想从命令行中将一个变量放入我的脚本中,并将该变量用作AD命令中的Filter字符串。我有如下:

PARAM($myOU)

$FoundOUs = Get-ADOrganizationalUnit -Filter 'Name -like "*"' -SearchBase ="OU=Offices,DC=dc1,DC=domain,DC=com"

所以,我想用 $ myOU 替换“*” ......我对如何做到这一点感到很遗憾。我尝试过像 -Filter Name $ myOU 之类的东西,但没有运气。任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

像这样使用字符串插值:

$FoundOUs = Get-ADOrganizationalUnit -Filter "Name -like '$myOU'" -SearchBase="OU=Offices,DC=dc1,DC=domain,DC=com"

请注意,字符串插值仅在双引号字符串中发生,因此交换单个和&的顺序。双引号,因此变量将被插值。在这种情况下,也不需要使用$($myOU)。当您需要访问属性时,通常使用子表达式,例如$($myOU.Length)或通常评估字符串中的表达式。