[英]Querying Active Directory user information using Powershell - seemingly equivalent syntax, different results?
我有一個簡單的Powershell函數,可以根據用戶的SID執行Active Directory LDAP查找:
function SidToAdUser($sid) {[adsi]("LDAP://<SID=" + $sid + ">")}
如果我希望從返回的User對象中讀取屬性,通過中間變量訪問它可以正常工作:
$ad = SidToAdUser("S-1-5-21-968173855-142910291-87512543-670313")
$ad.department
但是,嘗試直接從函數的返回值訪問它,如下所示:
SidToAdUser("S-1-5-21-968173855-142910291-87512543-670313").department
引發錯誤:
format-default : The following exception occurred while retrieving member "distinguishedName": "An invalid dn syntax has been specified.
"
+ CategoryInfo : NotSpecified: (:) [format-default], ExtendedTypeSystemException
+ FullyQualifiedErrorId : CatchFromBaseGetMember,Microsoft.PowerShell.Commands.FormatDefaultCommand
任何人都可以建議為什么會這樣,以及如何糾正它?
謝謝。
您的函數調用語法錯誤。
(SidToAdUser S-1-5-21-968173855-142910291-87512543-670313).department
在powershell中,函數參數在函數名后面指定為空格分隔值,不包含在parens中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.