You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell调用Get-ADUser -Filter参数无返回结果问题求助

问题原因

故障出在-Filter参数的引号写法上:PowerShell中单引号包裹的字符串是纯字面量,不会解析内部的变量,你写的-Filter 'Name -like "*$param1*"'运行时,不会把$param1替换为传入的实际参数值,而是直接把字符串*$param1*作为匹配条件查询AD,自然匹配不到任何结果,也不会触发报错。

你测试的-Identity "$args"版本能正常运行,是因为$args直接放在双引号字符串中可以被正常解析,且-Identity参数本身支持精准匹配用户标识,不需要额外的Filter语法解析。

修正方案

把Filter参数的外层引号换成双引号(支持变量解析),内部匹配规则的字符串用单引号包裹即可,修正后的完整脚本:

$param1=$args[0]
Get-ADUser -Filter "Name -like '*$param1*'" -Properties LastLogonDate,PasswordLastSet | ft Name,SamAccountName,LastLogonDate,PasswordLastSet
补充说明

PowerShell引号规则可简单记为:

  • 单引号':内容原样传递,不解析变量、不处理转义字符
  • 双引号":自动解析内部的变量、转义序列,适合需要动态传值的场景
  • 写多层嵌套的查询条件时,注意引号层级搭配,避免出现变量不解析的问题

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 23:45:36