泥庭

2013年5月25日

Fileの所有者を取得する

Filed under: .NET — タグ: , — yone64 @ 12:14 AM

Fileの所有者を取得するために、調べ物をしてたのですがどうも難しかったので覚書。

ObjectSecurity.GetOwnerを使うことはわかったのですが、引数に何を渡していいかがわかりにくい。

targetType

所有者を取得する対象となるプライマリ グループ。

Securityまわりのクラスを扱うのになれていないのもあるんですが、System.Typeを引数にとるってのがとってもわかりにくいですね。結局は↓な感じなのですが...。

var fileSecurity = File.GetAccessControl(@"C:\temp\aa.txt");

// NTAccount形式で取得
var account = fileSecurity.GetOwner(typeof(NTAccount));
Console.WriteLine("Account: " + account.Value); 

// SIDで取得
var sid = fileSecurity.GetOwner(typeof(SecurityIdentifier));
Console.WriteLine("SID: " + sid.Value); 

これならまだ、

T GetOwner<T>() where T : IdentityReference

とかの方がわかりやすいかと。

image

WordPress.com で無料サイトやブログを作成.