Powershell 通过提供全名和管理员全名获取广告用户

Powershell 通过提供全名和管理员全名获取广告用户,powershell,active-directory,Powershell,Active Directory,这可能看起来很傻,但我正在努力通过提供用户的全名和经理的全名来找到使用Powershell的用户。脚本的目的是使用其他团队提供的上述值获取SamAccountName和电子邮件地址(这些是我得到的唯一的值-按全名获取用户不是什么问题,但它可能会返回多个结果,这就是为什么经理全名将确定适当的结果)。 首先,我使用简单的命令 Get-ADUser -server $gc -Filter { (CN -eq $uFullName) -and (extensionAttribute4 -eq $mFul

这可能看起来很傻,但我正在努力通过提供用户的全名和经理的全名来找到使用Powershell的用户。脚本的目的是使用其他团队提供的上述值获取
SamAccountName
电子邮件地址
(这些是我得到的唯一的值-按全名获取用户不是什么问题,但它可能会返回多个结果,这就是为什么经理全名将确定适当的结果)。 首先,我使用简单的命令

Get-ADUser -server $gc -Filter { (CN -eq $uFullName) -and (extensionAttribute4 -eq $mFullName) }
它工作得很好,但不幸的是,我注意到并非所有帐户都使用
extensionAttribute4
来保存经理全名。我曾想过在经理属性上使用筛选器,但当我尝试使用
(类似于经理的“*value*”)
时,它返回的结果是该属性不支持
类似于
的运算符

我仍在试图找到解决办法,但也许有人会有一些解决这个问题的办法。
提前谢谢。

只需将您的命令传送到
where object
即可访问Powershell的所有比较运算符。完全使用
-Filter
可能会更快,但由于您已经在筛选,性能优势可能微乎其微。我尝试了以下一个
Get ADUser-Filter*| where Ob对象{($\.Name-eq“value”)-和($\.Manager-like“*value*”)}
并且当使用
where
时,它不会返回任何内容。您的命令必须返回您筛选的属性。因此,您必须在
Get AdUser
中包含
-properties Manager
,非常感谢!!它起作用了,不知道它需要被引用,只要将您的命令传输到
where object
您将要使用的位置即可我可以访问Powershell的所有比较运算符。完全使用
-Filter
可能会更快,但由于您已经在进行筛选,性能方面的好处可能微乎其微。我尝试了以下一个
Get ADUser-Filter*| Where Object{($.Name-eq“value”)-和($.Manager-like“*value*”)方法
并且当使用
where
时,它不会返回任何内容。您的命令必须返回您筛选的属性。因此,您必须在
Get AdUser
中包含
-properties Manager
,非常感谢!!它工作正常,不知道是否需要引用它