【 Set-Acl 】コマンドレット――ファイルのアクセス権を設定する(1)基本的な使い方とアクセス権の「継承」Windows PowerShell基本Tips(82)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回から3回に分けて「Set-Acl」コマンドレットを詳しく解説します。

» 2023年09月08日 05時00分 公開
[後藤諭史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回からコンピュータ上のファイルにアクセス権を設定する「Set-Acl」コマンドレットを扱いますが、このコマンドレットを使うには“コツ”のようなものが必要になるため、3回に分けて詳しく解説していきます。今回は、Set-Aclコマンドレットの基本的な使い方とアクセス権の「継承」を扱います。

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コマンドレットを使う際はコツのようなものが必要になるため、今回紹介する実行例を参考に理解を深めてください。

Set-Aclコマンドレットの書式

Set-Acl [オプション]


Set-Aclコマンドレットの主なオプション

オプション 意味
-Path 設定したいファイルもしくはフォルダのパスを指定する。必須
-AclObject 設定したいACLをオブジェクト型で指定する。必須
-Include ワイルドカードを含む文字列を指定し、条件一致した項目に対して設定する。省略可能
-Exclude ワイルドカードを含む文字列を指定し、条件一致した項目を除外して、その他に対して設定する。省略可能


基本的なSet-Aclコマンドレットの考え方

 Set-Aclコマンドレットを使用する際は、必ずGet-AclコマンドレットでACLを取得するところから始まります。これは「現在設定されているACLをテンプレートとして」「テンプレートの内容を変更して」「変更したテンプレートのACLを設定する」という3ステップの考え方があるからです。

 例として、以下の画面1のようなACLが設定された2つのファイルがあるとします。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。