削除を取り消す投稿:
このコードは以前に作成しましたが、残念ながらCLR/.NET固有です。ただし、「API」の使用は難しいと公言しているので(つまり、10年前に使用しましたが、NTFS ACLSはピクニックではありません)、以下のサンプルに動機付けられて、.NETコード(C ++ / CLIまたは相互運用ベース?)
C#コードを使用しない特定の理由はありますか?
AddFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
RemoveFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
MSDNの次のヘルパーを使用します。方法:アクセス制御リストのエントリを追加または削除します。
public static void AddFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}
public static void RemoveFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}
詳細とコメントについては、記事を参照してください