如何找到每个 ADGroupMember 用户的经理详细信息
How can I find the manager's details for each user who is an ADGroupMember
我正在尝试使用 PowerShell 来显示 AD 组中每个活跃成员的管理员名称,例如
此方法适用于单个用户:
Get-ADUser C567890X -Properties * | Select Name, GivenName, Surname,
@{ N = "Manager"; E = { (Get-ADUser $PSItem.Manager -Property DisplayName).DisplayName } } `
| Sort GivenName, Surname
Name
GivenName
Surname
Manager
C567890X
Thomas
Sawyer
Mark Twain
此方法也适用于单个用户:
Get-ADUser B3456789 -Properties Name, GivenName, Surname, Manager `
| Select @{ N = 'Account#'; E = {$_.Name} }, @{ N ='FirstName'; E = {$_.GivenName} },
@{ N ='LastName'; E = {$_.Surname} }, @{ N = 'Manager';
E = { ([ADSI]"LDAP://$($_.Manager)").DisplayName -Replace ' \(.*$' } } `
| Sort FirstName, LastName
Account#
FirstName
LastName
Manager
B3456789
Huckleberry
Finn
Mark Twain
域组属性
'CN=GG ELEV Local Admin Perms,OU=Group Policy,OU=Groups,OU=Administrative,DC=MyDomain,DC=local'
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive `
| ForEach{Get-ADUser $_} | Where-Object {$PSItem.Enabled} `
| Select Name, GivenName, Surname | Sort GivenName, Surname `
| Out-String -Width 100
Name
GivenName
Surname
A1234567
Mark
Twain
B3456789
Huckleberry
Finn
C567890X
Thomas
Sawyer
整个组“GG ELEV Local Admin Perms”所需的输出:
Account#
FirstName
LastName
Manager
A1234567
Mark
Twain
Samuel Langhorne Clemens
B3456789
Huckleberry
Finn
Mark Twain
C567890X
Thomas
Sawyer
Mark Twain
我试过了:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive | ForEach {Get-ADUser $_} `
| Where-Object {$PSItem.Enabled} | Select Name, GivenName, Surname, @{ N = "Manager";
E = { (Get-ADUser $PSItem.Manager).DisplayName -Replace ' \(.*$' } } `
| Sort GivenName, Surname | Out-String -Width 100
Name
GivenName
Surname
Manager
A1234567
Mark
Twain
BLANK
B3456789
Huckleberry
Finn
BLANK
C567890X
Thomas
Sawyer
BLANK
我也试过了:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive | ForEach {Get-ADUser $_} `
| Where-Object {$PSItem.Enabled} | Select @{ N = 'Account#'; E = {$_.Name} }, @{ N ='FirstName';
E = $_.GivenName} }, @{ N ='LastName'; E = {$_.Surname} }, @{ N = 'Manager';
E = { ([ADSI]"LDAP://$($_.Manager)").DisplayName -Replace ' \(.*$' } } `
| Sort FirstName, Lastname | Out-String -Width 100
Account#
FirstName
LastName
Manager
A1234567
Mark
Twain
BLANK
B3456789
Huckleberry
Finn
BLANK
C567890X
Thomas
Sawyer
BLANK
目前,以上两种Get-ADGroupMember
方法我都试过了,Manager的名字总是显示空白
请有人告诉我如何结合使用上述两种方法,根据每个组成员的列表获取经理的名字,即从 [=16] 管道传输经理 属性 =] 命令的输出通过计算 属性 显示经理的名字(在一个脚本中)?
我使用各种来源的建议构建了上述脚本,包括下面的 link,但我想我错过了一些东西(我仍在学习 PowerShell)
Retrieve Manager name for each user in AD using powershell
对于您的每个 Get-ADUser $_
部分,您还需要请求“经理”属性
Get-ADUser $_ -properties manager
这适用于您在该行中请求 所有 属性的“一个用户”选项。
示例:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive `
| ForEach{Get-ADUser $_ -properties manager} | Where-Object {$PSItem.Enabled} `
| Select Name, GivenName, Surname, Manager | Sort GivenName, Surname `
| Out-String -Width 100
说明:当你使用Get-ADUser
方法时,你只会得到一些基本的属性:
DistinguishedName, Enabled, GivenName, Name, ObjectClass, ObjectGUID, SamAccountName, SID, Surname, UserPrincipalName
因为您没有获得“管理器”属性,您需要专门请求它,您可以使用 -Properties x,y,z
选项,其中 x、y 和 z 是您的属性想。如果您想要每个 属性,您可以使用星号 *
。 Get-ADUser johnny -Properties *
我正在尝试使用 PowerShell 来显示 AD 组中每个活跃成员的管理员名称,例如
此方法适用于单个用户:
Get-ADUser C567890X -Properties * | Select Name, GivenName, Surname,
@{ N = "Manager"; E = { (Get-ADUser $PSItem.Manager -Property DisplayName).DisplayName } } `
| Sort GivenName, Surname
Name | GivenName | Surname | Manager |
---|---|---|---|
C567890X | Thomas | Sawyer | Mark Twain |
此方法也适用于单个用户:
Get-ADUser B3456789 -Properties Name, GivenName, Surname, Manager `
| Select @{ N = 'Account#'; E = {$_.Name} }, @{ N ='FirstName'; E = {$_.GivenName} },
@{ N ='LastName'; E = {$_.Surname} }, @{ N = 'Manager';
E = { ([ADSI]"LDAP://$($_.Manager)").DisplayName -Replace ' \(.*$' } } `
| Sort FirstName, LastName
Account# | FirstName | LastName | Manager |
---|---|---|---|
B3456789 | Huckleberry | Finn | Mark Twain |
域组属性
'CN=GG ELEV Local Admin Perms,OU=Group Policy,OU=Groups,OU=Administrative,DC=MyDomain,DC=local'
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive `
| ForEach{Get-ADUser $_} | Where-Object {$PSItem.Enabled} `
| Select Name, GivenName, Surname | Sort GivenName, Surname `
| Out-String -Width 100
Name | GivenName | Surname |
---|---|---|
A1234567 | Mark | Twain |
B3456789 | Huckleberry | Finn |
C567890X | Thomas | Sawyer |
整个组“GG ELEV Local Admin Perms”所需的输出:
Account# | FirstName | LastName | Manager |
---|---|---|---|
A1234567 | Mark | Twain | Samuel Langhorne Clemens |
B3456789 | Huckleberry | Finn | Mark Twain |
C567890X | Thomas | Sawyer | Mark Twain |
我试过了:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive | ForEach {Get-ADUser $_} `
| Where-Object {$PSItem.Enabled} | Select Name, GivenName, Surname, @{ N = "Manager";
E = { (Get-ADUser $PSItem.Manager).DisplayName -Replace ' \(.*$' } } `
| Sort GivenName, Surname | Out-String -Width 100
Name | GivenName | Surname | Manager |
---|---|---|---|
A1234567 | Mark | Twain | BLANK |
B3456789 | Huckleberry | Finn | BLANK |
C567890X | Thomas | Sawyer | BLANK |
我也试过了:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive | ForEach {Get-ADUser $_} `
| Where-Object {$PSItem.Enabled} | Select @{ N = 'Account#'; E = {$_.Name} }, @{ N ='FirstName';
E = $_.GivenName} }, @{ N ='LastName'; E = {$_.Surname} }, @{ N = 'Manager';
E = { ([ADSI]"LDAP://$($_.Manager)").DisplayName -Replace ' \(.*$' } } `
| Sort FirstName, Lastname | Out-String -Width 100
Account# | FirstName | LastName | Manager |
---|---|---|---|
A1234567 | Mark | Twain | BLANK |
B3456789 | Huckleberry | Finn | BLANK |
C567890X | Thomas | Sawyer | BLANK |
目前,以上两种Get-ADGroupMember
方法我都试过了,Manager的名字总是显示空白
请有人告诉我如何结合使用上述两种方法,根据每个组成员的列表获取经理的名字,即从 [=16] 管道传输经理 属性 =] 命令的输出通过计算 属性 显示经理的名字(在一个脚本中)?
我使用各种来源的建议构建了上述脚本,包括下面的 link,但我想我错过了一些东西(我仍在学习 PowerShell) Retrieve Manager name for each user in AD using powershell
对于您的每个 Get-ADUser $_
部分,您还需要请求“经理”属性
Get-ADUser $_ -properties manager
这适用于您在该行中请求 所有 属性的“一个用户”选项。
示例:
Get-ADGroupMember "GG ELEV Local Admin Perms" -Recursive `
| ForEach{Get-ADUser $_ -properties manager} | Where-Object {$PSItem.Enabled} `
| Select Name, GivenName, Surname, Manager | Sort GivenName, Surname `
| Out-String -Width 100
说明:当你使用Get-ADUser
方法时,你只会得到一些基本的属性:
DistinguishedName, Enabled, GivenName, Name, ObjectClass, ObjectGUID, SamAccountName, SID, Surname, UserPrincipalName
因为您没有获得“管理器”属性,您需要专门请求它,您可以使用 -Properties x,y,z
选项,其中 x、y 和 z 是您的属性想。如果您想要每个 属性,您可以使用星号 *
。 Get-ADUser johnny -Properties *