当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中使用 userprincipalname(upn) 获取 ADUser

作者:精品下载站 日期:2024-12-14 21:51:57 浏览:15 分类:玩电脑

在 PowerShell 中使用 userprincipalname(upn) 获取 ADUser


在日常任务中,我们可能会遇到获取属于某个特定 OU 的 Active Directory 用户或具有 UPN 后缀的搜索广告用户的场景。在PowerShell中,我们可以按用户主体名称upn获取广告用户过滤器。使用 get ad user userprincipalname 属性,从 Active Directory 获取特定用户,在 PowerShell 中按可分辨名称获取 aduser 过滤器。

PowerShell Get-ADUser cmdlet 用于获取指定用户或获取所有或多个用户对象。使用 Get-ADUser,您可以获取容器中所有用户的列表或获取经过筛选的用户列表。 Identity参数用于获取特定的Active Directory用户

您可以使用其安全帐户管理器 (samaccountname)、可分辨名称、SID 或 GUID 来获取 aduser 对象。使用 Get-ADUser -Identity,您可以使用“属性”获取特定用户的所有属性。您可以通过用户主体名称获取 Active Directory 用户过滤器。

[玩转系统] 在 PowerShell 中使用 userprincipalname(upn) 获取 ADUser

要使用 PowerShell Get-ADUser cmdlet,需要安装 ActiveDirectory 附加模块

在 Active Directory 中,UserPrincipalName (UPN) 是电子邮件地址格式的系统用户名称。 UPN(例如... [email )由用户名、分隔符(@ 符号)和 UPN 后缀组成。 UPN 可能与电子邮件不同。

在本文中,我们将通过示例逐步讨论通过用户主体名称获取 Active Directory 用户。

Get-AdUser 过滤 UserPrincipalName 后缀

在某些情况下,我们需要获取具有特定 upn 后缀的 aduser 或者 upn 是特定域,我们可以使用 PowerShell Get-AdUser 过滤命令轻松完成。

让我们考虑下面获取 aduser 过滤器 userprincipalname,例如特定的组织单位和 upn 后缀。

通过 userprincipalname (upn) 后缀和特定组织单位 (OU) 的 Get-AdUser 可以使用以下命令轻松完成。

$OrgUnit     = "OU=Sales,DC=SHELLPRO,DC=LOCAL"
$UPNSuffix = 'SHELLPRO.LOCAL'

Get-ADUser -Filter "userPrincipalName -like '*$UPNSuffix'" -SearchBase $OrgUnit

在上面的 userprincipalname 示例中,使用 PowerShell get-aduser 过滤器命令,它从组织单位 (OU) 返回 Active Directory 用户,并获取 aduser,其中 userprincipalname 类似于提供的 UPNSuffix。

上面使用 userprincipalname 的 get-aduser 的输出如下

[玩转系统] 在 PowerShell 中使用 userprincipalname(upn) 获取 ADUser

根据 userprincipalname (upn) 批量更新 aduser

在某些情况下,由于组织发生了一些变化,我们希望使用某些属性(例如批量更新用户部门)批量更新 Active Directory 用户

让我们考虑一下,我们是否已在 CSV 文件中列出了所有要根据 userprincipalname (upn) 更新其部门名称的 Active Directory 用户。

# import csv file having user information and use Foreach to iterate objects

import-csv D:\PowerShell\ActiveDirectoryGroupList.csv | ForEach-Object {
   Get-ADUser -Filter{UserPrincipalName -eq $($_.UserPrincipalName)} |
   Set-ADUser -Replace @{Department="$($_.Department)"}

}

在上面通过 upn 获取 aduser 的示例中,我们首先使用 Import-CSV 导入 CSV,其中包含活动目录用户信息,例如姓名、显示名称、用户主体名称、部门等。

然后,我们使用 For-Each 从 CSV 中迭代每个 Active Directory 用户,并使用 Get-AdUser cmdlet 按 userprincipalname 获取 aduser 过滤器,返回用户。

然后,返回的用户使用管道 (|) 运算符传递到 Set-ADUser cmdlet,以使用从 CSV 文件读取的部门名称来更新广告用户部门。

从 Get-AdGroupMember 获取 UPN

要使用 Get-AdGroupMember 获取 aduser userprincipalname upn,请使用以下简单命令

Get-ADGroupmember -identity "Administrators" | % { get-aduser $_.samaccountname} | select name,userprincipalname | Export-csv -path C:\PowerShell\upn.csv -NoTypeInformation

在上面的 PowerShell get-aduser 属性示例中,它从具有组名称管理员的“获取广告组成员”中查找并获取 upn,并将列表导出到 csv 文件。

PowerShell 获取当前用户 upn

在 PowerShell 中获取当前用户的 upn,运行以下命令

Get-ADUser -Identity $env:USERNAME -Properties *| Select DisplayName, EmailAddress,UserPrincipalName

在上面的 PowerShell userprincipalname 示例中,Get-ADUser cmdlet 使用 $env:USERNAME 让当前用户登录到系统,并使用 Properties * 为用户选择所有其他属性。

第二条命令使用 Select 显示电子邮件地址、显示名称和当前用户 upn,如下所示

[玩转系统] 在 PowerShell 中使用 userprincipalname(upn) 获取 ADUser

酷提示:使用 PowerShell search-adaccount 查找被锁定的帐户!

使用 UPN 获取 AdUsers 常见问题解答

如何在 Active Directory PowerShell 中获取 userPrincipalName?

使用 PowerShell Get-Aduser cmdlet,您可以获取 Active Directory 用户信息。 Get-Aduser具有userprincipalname属性,使用get-aduser upn,您将从活动目录对象中获取userprincipalname值。

从 AD 组中获取按 upn 过滤的所有广告用户

Get-ADGroupmember -identity salesleader | % { get-aduser $_.samaccountname} | Select Name,UserPrincipalName

在上面的 PowerShell 按 userprincipalname 脚本获取所有用户过滤器中,它返回广告组中的所有广告用户。

酷提示:如何使用 PowerShell Set-ADUser 修改 Active Directory 用户属性。

结论

在上面的文章中,我解释了如何根据用户主体名称获取 PowerShell 广告用户 (upn),并在 upn 类似于某些特定域时批量更新广告用户,并且

我希望上面的文章可以帮助您通过 userprincipalname 或 upn 获取 aduser 过滤器。您可以阅读有关在活动目录中查找 UPN 后缀的更多信息,如果不可用,则使用 PowerShell 和 GUI 应用程序在活动目录中添加 upn 后缀。

阅读有关 get-aduser 博客文章的更多信息,其中我解释了通过电子邮件获取 aduser、获取 aduser 属性、从特定 ou 获取 aduser 过滤器

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯