簡體   English   中英

跨域設置文件夾權限

[英]Setting folder permissions across domain

我有一個應用程序,該應用程序用於執行許多操作來隔離域上的用戶,例如創建Active Directory結構,用戶和組,以及將用戶分配給不同的組。

在AD中創建所有內容后,我想為我的新創建的AD組之一分配對新創建的文件夾的訪問權限。

我想從其他域上的本地計算機上運行該應用程序,而不必登錄該域中的計算機,然后從那里運行該應用程序。

除了設置訪問規則,我的應用程序中的所有內容似乎都可以在本地計算機上正常工作。 失敗與:

“某些或所有標識引用無法翻譯”。

從域中運行時,代碼運行良好。 我也嘗試過使用模擬,但這沒什么區別

if (Directory.Exists(sDirectory))
    {
      using (Impersonation impUser = new Impersonation(sAdminUserName, _sDomain, sAdminPassword))
      {
        DirectoryInfo diClientDirectory = new DirectoryInfo(sDirectory);
        DirectorySecurity dsClientDirectory = diClientDirectory.GetAccessControl();
        FileSystemAccessRule fsAccessRules = new FileSystemAccessRule(sSecurityGroup, FileSystemRights.FullControl, (InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit), PropagationFlags.InheritOnly, AccessControlType.Allow);

        **dsClientDirectory.AddAccessRule(fsAccessRules);  //THIS LINE THROWS THE EXCEPTION**
        diClientDirectory.SetAccessControl(dsClientDirectory);
      }

這通常意味着目標計算機上不存在或無法解析所授予權限的組。 檢查目標域中是否存在具有該名稱的組,或者域之間是否存在適當的信任關系。

就像akton所說的那樣,檢查廣告之間的信任關系。

此外,請檢查您的運行環境。 當我不得不通過C#接觸AD時,我遇到了此類問題:如果用戶沒有權限在另一個AD上進行此類修改,則它將失敗。

最后一點,組名稱和路徑。 您的組名是否包含域名(sSecurityGroup)? 也許您的目錄路徑存在路徑問題(sDirectory)?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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