欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 PowerShell 中使用 Get-ADUser
命令时,-Filter
参数的语法需要确保你正确地指定了属性和操作符,以及相应的值。在你的例子中,你想要找到 SamAccountName 类似于(这里是精确匹配,但通常 -like
用于模糊匹配)"11111111" 的用户。不过,-like
操作符后面需要跟一个字符串,并且该字符串应该被引号包围,以表示它是一个文本值。
然而,如果你的意图是精确匹配 "11111111",实际上你不需要 -like
操作符,因为 -eq
(等于)会更直接且效率更高。但如果你确实想使用 -like
(可能是为了将来可能的模糊匹配),你应该这样做:
powershell复制代码Get-ADUser -Filter "SamAccountName -like '*11111111*'"
但在这个特定的例子中,*
是多余的,因为 11111111
看起来是一个精确的值。所以,如果你想要精确匹配,应该使用 -eq
:
powershell复制代码Get-ADUser -Filter "SamAccountName -eq '11111111'"
如果你坚持要使用 -like
并且确实是在寻找以 "11111111" 开头的任何 SamAccountName(尽管在这个案例中可能不太必要),你可以省略 *
(因为它已经隐含在精确匹配中),但如果你想要明确表示这是一个模糊匹配(尽管在这种情况下它不会改变结果),你可以保留它:
powershell复制代码Get-ADUser -Filter "SamAccountName -like '11111111*'"
不过,请注意,如果你知道 SamAccountName 是精确的,并且不需要进行任何形式的模糊匹配,那么使用 -eq
总是更好的选择。
另外,请确保你的 PowerShell 会话已经导入了 ActiveDirectory 模块,你可以通过运行 Import-Module ActiveDirectory
来实现这一点(如果你还没有在你的 PowerShell 配置文件中永久导入它的话)。