我想獲取分配了特定令牌的所有用戶 ID。
當我運行我的腳本時,它現在看起來像這樣..
Get-ADUser -Filter * -Properties * | Select-Object vasco-LinkUserToDPToken, displayname
#Output#
vasco-LinkUserToDPToken Displayname
{CN=VES0423061,OU=br... User X
{} User X
{} User X
{CN=0067511310,OU=br... User X
{CN=0067077717,OU=br... User X
Example of a full vasco-LinkUserToDPToken :
{CN=VES0976944,OU=Internal Users,DC=mgm,DC=agf,DC=be}
問題是我只想過濾 VES 它應該像這樣顯示(不包含不以 VES 開頭的空字串或標記):
VES0423061 User X
uj5u.com熱心網友回復:
看起來您的屬性“vasco-LinkUserToDPToken”是一個多值屬性型別(字串陣列),您需要在其中提取 DN。
你可以試試:
Get-ADUser -Filter "vasco-LinkUserToDPToken -like 'CN=VES*'" -Properties 'vasco-LinkUserToDPToken', DisplayName |
Select-Object @{Name = 'vasco-LinkUserToDPToken'; Expression = {
($_.'vasco-LinkUserToDPToken' | Where-Object {$_ -match '^CN=VES.*'}) -replace '.*(VES[^,] ).*', '$1'}
}, DisplayName
-Properties *PS 使用你所追求的只是兩個屬性總是一個壞主意。使用*武力拉低所有屬性,這是浪費時間
如果-Filter在此自定義屬性上不起作用,您始終可以在之后使用 Where-Object 子句,例如:
Get-ADUser -Filter * -Properties 'vasco-LinkUserToDPToken', DisplayName |
Where-Object { $_.'vasco-LinkUserToDPToken' -like 'CN=VES*' } |
Select-Object @{Name = 'vasco-LinkUserToDPToken'; Expression = {
($_.'vasco-LinkUserToDPToken' | Where-Object {$_ -match '^CN=VES.*'}) -replace '.*(VES[^,] ).*', '$1'}
}, DisplayName
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454229.html
