【バッチファイル】icaclsコマンドでフォルダのアクセス権一覧を取得する

Linux・CLI・DevOpsカテゴリを表すパンダのイラスト Linux・CLI・DevOps

Windows環境において、指定したフォルダおよびサブフォルダのアクセス権(ACL)をまとめて確認・取得したい場合のバッチファイル作成手順です。

古いWindows環境で使われていたcaclsコマンドは現在非推奨となっており、後継のicaclsコマンドを使用するのが標準的です。

1. 想定環境・前提条件

  • OS: Windows 10 / 11、Windows Server
  • 権限: アクセス権を確認する対象フォルダに対する適切な読み取り権限、または管理者権限(昇格したコマンドプロンプト)

2. 実行用バッチファイルのコード

以下のコードをメモ帳などに貼り付け、拡張子を .bat (例: get_acl.bat)として保存して使用します。

@echo off
chcp 65001 > nul

:: 対象パスと出力ログファイルの指定
set "targetPath=C:\example\path"
set "resultLog=caclslog.txt"

rem icaclsコマンドでサブフォルダも含めてアクセス権を取得し、標準出力・標準エラーをファイルに集約
icacls "%targetPath%" /T > "%resultLog%" 2>&1

echo 処理が完了しました。出力結果: %resultLog%
pause

3. 実行手順

  1. バッチファイル内の targetPath 変数を確認したいフォルダのパスに変更します。
  2. 必要に応じてコマンドプロンプトを「管理者として実行」で起動します。
  3. 作成したバッチファイルをダブルクリックするか、コマンドプロンプトから実行します。
  4. 指定したログファイル(例: caclslog.txt)に結果が出力されます。

4. 期待される結果

指定したフォルダ階層内のすべてのファイルおよびフォルダに対して、ユーザーやグループごとのアクセス権限(フルコントロール、読み取り、書き込みなど)の一覧がテキストファイルに出力されます。アクセス拒否などのエラーが発生した場合もログに記録されます。

5. 注意事項・セキュリティ

  • 深い階層や大量のファイルが存在するフォルダを対象にする場合、処理に時間がかかりファイルサイズが大きくなることがあります。
  • 出力されるログファイルには機密性の高いアクセス権情報が含まれる可能性があるため、取り扱いに注意してください。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 変更非推奨のcaclsコマンドを、現在推奨されているicaclsコマンドへ置き換えました。
  • 追加管理者権限での実行や、結果の確認方法に関する説明と実行例を追加しました。

文書情報

記事タイトル
【バッチファイル】icaclsコマンドでフォルダのアクセス権一覧を取得する
作成日
更新日
Source URL
https://papanda925.com/?p=473

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました