以下代碼返回給定Groupname的UserPricipal。但是在刪除一個組之後,這個代碼仍然返回一個UserPrincipal(刪除的)。有沒有辦法刪除這個「緩存」?如何清除UserPrincipal緩存
UserPrincipalLookupService upls=fs.getUserPrincipalLookupService();
UserPrincipal who;
try {
who = upls.lookupPrincipalByName("myDeletedGroupName");
} catch (IOException e1) {
// TODO Auto-generated catch block
return;
}
因爲當設置Windows ACL的時候我需要UserPrincipalName。在重新創建一個具有相同名稱的已刪除組後,ACL被設置爲舊組而不是新的 - 並且在Windows-GUI中查看時,我在ACL列表中看到舊的objectSid而不是新的組(-name)。
步驟簡稱:
1. creating AD Group "xxxx"
2. setting ACL in File f for xxxx
3. deleting Group "xxxx"
4. deleting ACL
5. create new Group "xxxx" in AD
6. setting ACL in File f for xxxx
-> the OldSid from the deleted Group is the ACL Principal
無法在UserPrincipalLookupService中指定服務器。我認爲**%logonserver%**環境變量顯示當前連接的域控制器。但我想設置許多ACL的遠程,所以遠程和我的電腦探測不到相同的DC。 –
+1有幫助;同樣的問題在這裏,我已經爲此搜索了MSDN。當你說「複製通常很快發生」......有人知道生存時間的來源,或者可以在Windows 2012 PDC上配置這種緩存/複製策略嗎? – dlatikay