.someproperty%20%E6%9C%AA%E9%A1%AF%E7%A4%BA%E7%B5%90%E6%9E%9C.png)
當我運行時,我試圖搜尋 AD 用戶的各個屬性
(Get-ADUser $userName).$targetProperty
當我跑步時我什麼也得不到
Get-ADUser $userName | select $targetProperty
我得到了財產和下面的空白。但是當我跑步時。
Get-ADUser $user -Properties *
我得到了完整的列表,當我查看 $targetProperty 時,已經有一個值了。我的環境是 1 個 DC,它是本地的,我處於管理模式。
答案1
這取決於您想要獲得的目標財產。如果它不是預設集中的屬性之一(您剛剛運行時獲得的屬性Get-ADUser testuser
),則它不在結果集中,因此您無法在命令中的其他位置存取它。
以下是預設屬性。
DistinguishedName : CN=Test User,CN=Users,DC=domain,DC=local
Enabled : True
GivenName : Test
Name : Test User
ObjectClass : user
ObjectGUID : 94916bd1-008e-409f-a1b3-eaXXXXXX266e
SamAccountName : TestUser
SID : S-1-5-21-23XXXXXX88-41XXXXX83-1941XXXX34-32584
Surname : User
UserPrincipalName : [email protected]
假設您想要的屬性是Title
。所以你的第一個命令是這樣的:
(Get-ADUser testuser).Title
Title
不在預設的屬性集中,因此括號中的部分不包含屬性Title
,因此組合命令的結果是什麼。
第二次嘗試:
Get-ADUser testuser | select Title
這會為您提供“標題”一詞作為列標題,但它仍然沒有值,因為命令的第一部分Title
在結果中仍然不包含屬性。
第三次嘗試:
Get-ADUser testuser -Properties *
啊哈!已經很接近了。它包括Title
財產,以及一大堆您現在不關心的其他財產。
第四次嘗試:
(Get-ADUser testuser -Properties *).title
就是這樣!此組合會取得使用者的所有屬性(因此包括Title
),然後僅顯示該Title
屬性。
選修的:您可以透過不必費心詢問為-Properties *
您提供的 100 多個屬性,而只取得預設屬性 plus 來使其更快一點Title
,方法如下:
(Get-ADUser testuser -Properties Title).Title
答案2
我發現以下命令可以讓我獲取信息,但為什麼它不能與我的其他命令一起使用?
(Get-ADUser $user -Properties *).$targetProperty