我正在嘗試操縱 AD 的屬性來存盤一些額外的資訊,但是在使用此代碼時uid
我得到了一個:UnauthorizedAccessException
DirectoryEntry de = new DirectoryEntry("LDAP://somedomain.net");
DirectorySearcher ds = new DirectorySearcher(de);
ds.Filter = "(&(objectClass=user)(|(cn=" username ")(sAMAccountName=" username ")))";
ds.PropertiesToLoad.Add("uid");
SearchResult? rs = ds.FindOne();
if (rs != null)
{
DirectoryEntry de = rs.GetDirectoryEntry();
if (rs.Properties.Contains("uid"))
de.Properties["uid"].Value = "123456";
else
de.Properties["uid"].Add("123456");
de.CommitChanges();
}
當我操縱postalCode
屬性而不是uid
使用相同的代碼時,我沒有任何問題,所以我真的迷路了。我在域上沒有足夠的權限來寫入uid
屬性嗎?還是我必須以不同的方式訪問它?
編輯:似乎我無法訪問postalCode
除我之外的其他用戶的財產。我想我必須使用域管理員帳戶登錄或以某種方式模擬它,但我不知道該怎么做......
uj5u.com熱心網友回復:
似乎我無法訪問除我之外的其他用戶的“postalCode”屬性。我想我必須使用域管理員帳戶登錄或以某種方式模擬它,但我不知道如何......
類建構式為這種DirectoryEntry
場景采用顯式憑據:
DirectoryEntry de = new DirectoryEntry("LDAP://somedomain.net/", "SOMEDOMAIN\Administrator", "sup3rs3cr3t");
我強烈建議不要使用域管理員帳戶,而是將目標帳戶上所需的最低訪問權限委托給服務帳戶,然后您可以在程式中使用該服務帳戶的憑據 - 這樣可以限制某人竊取的潛在影響證書。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/472747.html
上一篇:每次更新一次如何檢測玩家是否進入了繪制的圓半徑區域?
下一篇:密碼散列和加零