So-net無料ブログ作成
検索選択

NTFS の ACL をプログラムで読み取る [DotNET]

XCACLS.vbs や cacls.exe ↓で、NTFS の ACL を人間が読める形にはできる
http://nakagami.blog.so-net.ne.jp/2008-04-24
コマンドライン引数をファイルに出力することで、プログラム的に設定することもできなくはない。

ただ、読み取る方はコマンドライン出力をパースするのは無理があるので、なんとかプログラム的に読み取ることはできないかなぁ、と思って引き続き調べてたら .Net Framework ではできるみたい。
http://www.microsoft.com/japan/msdn/netframework/skillup/core/article3.aspx
ということで、↑で C# と VB でやってるのと同じことをする IronPython のコード
# -*- coding: cp932 -*-
import clr
from System.IO import *
from System.Security import *

di = DirectoryInfo(u'c:\\')
ds = di.GetAccessControl()
for ar in ds.GetAccessRules(True, True, Principal.NTAccount):
    print ar.IdentityReference.Value + ':' + str(ar.FileSystemRights)


nice!(0)  コメント(0)  トラックバック(1) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1