2011-09-16 10 views
7

すべてのユーザーが書き込み可能にするファイルを設定します。ファイルをすべてのユーザーが書き込み可能に設定するにはどうすればよいですか?

FileSecurity sec = File.GetAccessControl(fileName); 

string users = ?????; 
sec.AddAccessRule(new FileSystemAccessRule(
     users, 
     FileSystemRights.Write, 
     AccessControlType.Allow)); 

File.SetAccessControl(fileName, sec); 

問題は、使用する文字列がわからないことです。私はusers = WindowsAccountType.Normal.ToString()を試しましたが、それは"Normal"しか与えません。これはうまくいきません。どのようにしてマシン上のすべてのユーザーのグループを指定する文字列を取得できますか?

答えて

7

私はあなたがすべての「みんな」グループを探していると仮定ログオンしているユーザーはに属します。しかし、文字列「みんな」を使用すると、

はるかに優れたソリューションは、セキュリティ識別子WellKnownSidType.WorldSidを経由して、それを使用することで、英語以外のシステムに深刻なトラブルにあなたを取得します:

SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null); 

完全なソリューションがすでに記述されていますこの回答はAdd "Everyone" privilege to folder using C#.NET

4

(その場合にはみんな\ DOMAIN)があれば、すべてのマシン上で、あるいはADドメインに定義されたシステムアカウントである「みんな」を試す

+0

"Everyone"は英語のシステムでのみ動作します。 – Robert

関連する問題