Powershell检索用户登录名,而不是samAccountname

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell检索用户登录名,而不是samAccountname相关的知识,希望对你有一定的参考价值。

在下文中,我可以非常轻松地获得AD组成员身份:

Get-ADGroupMember -identity "GROUP" | select samaccountname |Export-csv -path "c:	empout.csv" -NoTypeInformation

输出csv用作另一个无法安全执行LDAP查询的应用程序的输入,因此我必须通过PS管道ACL。但是,应用程序取决于用户AD登录名是区分大小写的。我没有编写应用程序,所以改变它的行为不在卡片中。例如,当PS管道处于“bigfoot”时,用户“BigFoot”将作为BigFoot进行身份验证,并被拒绝访问。我需要的是PS在UPN名称部分“BigFoot”中管道。

问题是,一些用户的用户登录名与samAccount名不同,例如“BigFoot”与bigfoot。应用程序将仅使用“BigFoot”进行身份验证...换句话说,UPN的第一部分。

使用Powershell,什么AD属性将返回用户登录名(例如“BigFoot”)而不是samAccountname(“bigfoot”)?

答案

该属性称为名称。要检索所有属性,请使用-Properties *示例限定任何AD cmdlet示例Get-AdGroupmember -Properties *

此外,如果Get-AdGroupMember未返回UPN属性,则可能需要后续调用Get-AdUser示例Get-AdGroupMember ABX | %{Get-AdUser $ _}

另一答案

@Alberto Vargas你的解决方案大部分都在工作......我必须过滤掉我正在调用的组内的任何嵌套组....

 Get-ADGroupMember -identity "group"  | Where { $_.objectClass -eq "user" }|%{Get-ADUser $_.SamAccountName | select UserPrincipalName} |Export-c
sv -path "c:	empout.csv" -NoTypeInformation

以上是关于Powershell检索用户登录名,而不是samAccountname的主要内容,如果未能解决你的问题,请参考以下文章

Powershell 脚本审核远程桌面用户登录

powershell 这将获取用户所属的SharePoint组,以用于给定站点。这使用用户的登录名进行比较。

如何使用 Powershell 读取登录事件和查找用户信息?

用于检查 Active Directory 用户是不是上次登录的 Powershell 脚本

ssh:无法解析主机名 sama5d27-som1-ek-sd:

Powershell 以管理员用户身份运行命令行