Get-ADGroupMember 取得選擇物件中使用者的網域

Get-ADGroupMember 取得選擇物件中使用者的網域

我到處搜索過,我認為這很常見,但也許不是。

我想透過 Get-ADGroupMember 列出具有使用者名稱的使用者的網域。例如我有這個:

Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object SamAccountName

其中列出了

SamAccountName
--------------
jsmith
dsmith
lsmith

我希望該清單傳回使用者的主網域,例如我有網域

prod.my.domain.net
dev.my.domain.net
my.domain.net

我想要一個會回傳的查詢

prod\jsmith
dev\dsmith
my\lsmith

取決於使用者網域(注意名稱順序並不重要)。

答案1

好吧,在谷歌搜尋並玩了一段時間後,我想出了以下內容,它滿足了我的需要。我不確定這是否是獲得它的最佳方式,但對我來說似乎很乾淨

Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object @{name="Login"; expression={(($_.DistinguishedName  -split '(DC=)')[2] -replace ',')+"\"+$_.SamAccountName}}

這使

Login
-----
prod\jsmith
dev\dsmith
my\lsmith

答案2

我沒有多域環境可供測試,但我相信這會滿足您的要求。

Get-ADGroupMember -Identity 'MyGroup' | foreach {
$ADuser = Get-ADUser -Identity $_.sAMAccountName -Properties UserPrincipalName
$Domain = $ADuser.UserPrincipalName.Split('@.')[1]
$Name = $Domain + '\' + $ADuser.Name
$Name
}

相關內容