簡體   English   中英

從映射驅動器 c# 獲取本地組

[英]Getting local group from mapped drives c#

我們正面臨從 c# 授予文件夾訪問映射路徑的問題。 我們有一個 map 驅動器,它使用代碼進行映射。 它工作正常,我們嘗試使用以下代碼提供訪問權限。

DirectorySecurity dirSec = Directory.GetAccessControl(clientFolder);
dirSec.AddAccessRule(new FileSystemAccessRule(@"Local group Name", FileSystemRights.Modify, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow));

添加 AddAccessRule 時出錯。

錯誤:

Some or all identity references could not be translated.

痕跡:

 at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess)
   at System.Security.Principal.NTAccount.Translate(Type targetType)
   at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean& modified)
   at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule)

注意:我們正在使用 AD 服務帳戶到 map NAS,我們正在嘗試從父計算機添加本地組。 AD 無法訪問此組,並且它是同一個域。

請給我任何想法,將本地服務帳戶的訪問權限授予 NAS。

我們手動將該組添加到一個文件夾,並將 IdentityReference.Value 存儲到一個變量中。 然后我們輕松獲得了 IdentityReference,使用它我們將程序添加到其他文件夾。 下面的代碼用於獲取 IdentityReference

        public IdentityReference getReference(string NameOfDirectory)
        {
            DirectorySecurity dirSec = Directory.GetAccessControl(NameOfDirectory);
            AuthorizationRuleCollection accessRules;
            IdentityReference identity = null;
            accessRules = dirSec.GetAccessRules(true, true, typeof(NTAccount));
            foreach (FileSystemAccessRule rule in accessRules)
            {
                if (identity == null)
                {
                    if (rule.IdentityReference.Value != null && rule.IdentityReference.Value.Equals(Constants.securityId))
                    {
                        dirSec.RemoveAccessRuleSpecific(rule);
                        identity = rule.IdentityReference;
                        break;
                    }
                }
            }
            return identity;
        }

暫無
暫無

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

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