【发布时间】:2019-05-16 03:10:16
【问题描述】:
我试图理解为什么这不起作用
get-aduser -filter {Name -like "*$($Name.text)*"}
我知道 $($name.text) 的意思是你能不能把这个不是字符串值 "" 。
感谢您的帮助。
【问题讨论】:
-
您遇到错误?为什么在系统上运行 sn-p 会发生什么?
-
它失败的原因是因为 - 尽管有很多在线脚本块样本 -
-Filter参数实际上是一个 string 参数。 [sigh ...] 脚本块适用于非常简单的事情,但复合/复杂 $Vars 几乎总是会失败。 ///// 解决方案是将复杂的 $Var 保存到更简单的 $Var 并使用更简单的,或者使用适当的过滤器字符串。以下奥塔工作...-Filter "Name -like '*$($Name.Text)'"。注意外部双引号和内部单例。 ///// 我无法测试 [无 AD 访问权限],但它与其他样本匹配。 -
提供@Lee_Dailey 有用评论的背景信息:最好avoid the use of script blocks (
{ ... }) as-Filterarguments。
标签: powershell filter active-directory