その他のマネージ コード サンプル
公開日: 2007 年 12 月 2 日 (作業者: iisteam (英語))
更新日: 2007 年 12 月 2 日 (作業者: iisteam (英語))
はじめに
以下のマネージ コード サンプルを使用して、アクセス許可を設定し、ユーザー アカウントを作成します。
コードの使用
アクセス許可の設定
以下のサンプルを使用して、マネージ コードを使用してフォルダーのアクセス許可を設定します**。**
メモ: System.DirectoryServices.dll への参照が必要です。
using System;
using System.IO;
using System.DirectoryServices;
using System.Security.AccessControl;
using System.Security.Principal;
class Program
{
static void Main(string[] args)
{
String dir = @"e:\content";
DirectorySecurity dirsec = Directory.GetAccessControl(dir);
dirsec.SetAccessRuleProtection(true, false);
foreach (AuthorizationRule rule in dirsec.GetAccessRules(true, true, typeof(NTAccount)))
{
dirsec.RemoveAccessRuleAll(new FileSystemAccessRule(rule.IdentityReference, FileSystemRights.FullControl, AccessControlType.Allow));
}
dirsec.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Administrators", FileSystemRights. FullControl,AccessControlType.Allow));
dirsec.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Administrators", FileSystemRights.FullControl, InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
dirsec.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Administrators", FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
Directory.SetAccessControl(dir, dirsec);
}
}
ユーザー アカウントの作成
以下のサンプルを使用して、マネージ コードを使用してユーザー アカウントを作成します。
using System;
using System.DirectoryServices;
class Program
{
static void Main(string[] args)
{
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntry NewUser = AD.Children.Add("PoolID1", "user");
NewUser.Invoke("SetPassword", new object[] { "PoolIDPwd1" });
NewUser.Invoke("Put", new object[] { "Description", "AppPool Account" });
NewUser.CommitChanges();
}
}