本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回から3回に分けて「Set-Acl」コマンドレットを詳しく解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回からコンピュータ上のファイルにアクセス権を設定する「Set-Acl」コマンドレットを扱いますが、このコマンドレットを使うには“コツ”のようなものが必要になるため、3回に分けて詳しく解説していきます。今回は、Set-Aclコマンドレットの基本的な使い方とアクセス権の「継承」を扱います。
Windowsのファイルシステムである「NTFS(NT File System)」や「ReFS(Resilient File System)」では、ファイルやフォルダに対して「アクセス権」(Access Control List:ACL)を設定できます。本連載の第80回で紹介した「Get-Acl」は、ファイルやフォルダに対して設定されたACLを取得するコマンドレットでしたが、Set-Aclはそのアクセス権を設定するコマンドになります。
共有フォルダへのアクセス権追加は第67回で紹介した「Grant-SmbShareAccess」コマンドレット、アクセス権削除は第70回で紹介した「Revoke-SmbShareAccess」コマンドレットで行いますが、ファイルやフォルダのアクセス権に関しては全てSet-Aclコマンドレットで実施できるので、非常に応用力があります。
そのため、Set-Aclコマンドレットを使う際はコツのようなものが必要になるため、今回紹介する実行例を参考に理解を深めてください。
オプション | 意味 |
---|---|
-Path | 設定したいファイルもしくはフォルダのパスを指定する。必須 |
-AclObject | 設定したいACLをオブジェクト型で指定する。必須 |
-Include | ワイルドカードを含む文字列を指定し、条件一致した項目に対して設定する。省略可能 |
-Exclude | ワイルドカードを含む文字列を指定し、条件一致した項目を除外して、その他に対して設定する。省略可能 |
Set-Aclコマンドレットを使用する際は、必ずGet-AclコマンドレットでACLを取得するところから始まります。これは「現在設定されているACLをテンプレートとして」「テンプレートの内容を変更して」「変更したテンプレートのACLを設定する」という3ステップの考え方があるからです。
例として、以下の画面1のようなACLが設定された2つのファイルがあるとします。
Copyright © ITmedia, Inc. All Rights Reserved.