1

AD (2008R2) に 2 台のサーバーがあります。そのうちの 1 台には共有フォルダーがあります (c:\Shared\dirForUserAAA ==> \DC1\dir1)。もう 1 台には、\DC1\dir1 のフォルダー クォータを管理する必要がある C# プログラムがあります。それは可能で、どのように行うことができますか?

このコードを使用しようとしましたが、ローカルパスでのみ機能します:(

       public static void SetQuotaToFolder(string UNCPathForQuota, int quotaLimitBytes)
        {
            if (!Directory.Exists(UNCPathForQuota))
            {
                Directory.CreateDirectory(UNCPathForQuota);
            }


            // Create our interface
            IFsrmQuotaManager FSRMQuotaManager = new FsrmQuotaManagerClass();
            IFsrmQuota Quota = null;

            try
            {
                // First we need to see if there is already a quota on the directory.
                Quota = FSRMQuotaManager.GetQuota(UNCPathForQuota);
                // If there is quota then we just set it to our new size
                Quota.QuotaLimit = quotaLimitBytes;
            }
            catch (COMException e)
            {
                unchecked
                {
                    if (e.ErrorCode == (int)0x80045301)
                    {
                        // There is no quota on this directory so we need to create it.
                        Quota = FSRMQuotaManager.CreateQuota(UNCPathForQuota);
                        // And then set our desired quota
                        Quota.QuotaLimit = quotaLimitBytes;
                    }
                    else
                    {
                        // some other COM exception occured so we return the error
                        Console.WriteLine(e);
                        return;
                    }
                }
            }
            catch (Exception e)
            {
                // Generic error handling would go here
                Console.WriteLine(e);
                return;
            }

            // and finally we commit our changes.
            Quota.Commit();
        }
    }
4

1 に答える 1