【发布时间】:2013-12-05 17:56:22
【问题描述】:
为什么下面的 get-adcomputer 命令行不返回任何结果?当 cmdlet 不适应 powershell 语法时,这真的很烦人。至少这就是这里发生的事情。如果我执行写输出,它会准确显示我想要在命令行中插入的内容。但是,当我将它与 get-adcomputer cmdlet 一起使用时,没有返回任何结果。
PS: C:\> $Variable = "88FF"
PS: C:\> write-output "*$($Variable)*"
*88FF*
PS: C:\> Get-ADComputer -Filter {Name -like "*$($Variable)*"} -Property *
PS: C:\>
PS: C:\> Get-ADComputer -Filter {Name -like "*88FF*"} -Property *
computer1
computer2
computer3
我尝试了很多不同的变体...甚至包括通过转义它们来为变量添加文字引号。我一直在努力找出应该在 10 秒内完成的事情。
PS: C:\> $Variable = "`"*888FF*`""
PS: C:\> $Variable
"*88FF*"
PS: C:\> PS: C:\> Get-ADComputer -Filter {Name -like $Variable} -Property *
PS: C:\>
编辑:我也尝试过以下变体,结果完全相同:
PS: C:\> Get-ADComputer -Filter {Name -like '*$Variable*'} -Property *
PS: C:\>
【问题讨论】:
-
-Property *是一个有效的开关/参数吗?这个technet.microsoft.com/en-us/library/ee617192.aspx 似乎表明有效的开关是-Properties -
@inquisitor yes -property 很好。
标签: powershell module active-directory