簡體   English   中英

使用Powershell查詢Active Directory用戶信息 - 看似等效的語法,不同的結果?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM