質問のタイトルが示唆しているように、特定のファイルまたはフォルダーの ntfs アクセス許可を確認する方法を知りたいです (ヒント: これらは [セキュリティ] タブに表示されるものです)。基本的に、ファイルまたはディレクトリ (ローカル マシン上、またはできればリモート マシン上の共有上) へのパスを取得し、ユーザー/グループのリストと、このファイル/フォルダーに対応するアクセス許可を取得する必要があります。 . 最終的に、アプリケーションはディレクトリ ツリーを走査し、各オブジェクトの権限を読み取り、それに応じて処理します。
今、私はそれを行うためのいくつかの方法を考えることができます:
- cacls.exe の出力を解析します -- 簡単に実行できますが、何か不足していない限り、cacls.exe は R|W|C|F (読み取り/書き込み/変更/完全) の形式でアクセス許可を与えるだけであり、これでは不十分です (I 「フォルダの内容をリストする」などの権限、拡張権限も取得する必要があります)
- xcacls.exe または xcacls.vbs の出力 -- はい、必要な権限はすべて与えられますが、動作が非常に遅く、xcacls.vbs がローカル システム ファイルの権限を取得するのに約 1 秒かかります。そのような速度は受け入れられません
- win32security (winapi をラップしていますよね?) -- このように処理できると確信していますが、車輪の再発明はしたくありません。
私がここで見逃しているものは他にありますか?