【 Set-SmbPathAcl 】コマンドレット――共有アクセス権を「フォルダのアクセス権」として設定するWindows PowerShell基本Tips(86)

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

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

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

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

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、共有フォルダに設定されているアクセス権を「フォルダのアクセス権」として設定する「Set-SmbPathAcl」コマンドレットです。

Set-SmbPathAclコマンドレットとは?

 Windowsのファイルシステムである「NTFS(NT File System)」や「ReFS(Resilient File System)」では、ファイルやフォルダに対し「アクセス権」(Access Control List:ACL)を設定できます。

 本連載の第82回から3回に分けて紹介した「Set-Acl」コマンドレットを使用することで、ファイルやフォルダにアクセス権を設定できます。しかし、ネットワーク経由でフォルダ(ファイル)にアクセスする場合、2つのアクセス権、すなわち「共有アクセス権」と「フォルダ(ファイル)アクセス権」を有していないと、ユーザーはフォルダ(ファイル)にアクセスできません。

 通常はこの2つのアクセス権を個別に設定しますが、Set-SmbPathAclコマンドレットを使用することで、共有アクセス権を「フォルダのアクセス権」として設定でき、個別に設定する手間を省くことができます。

 しかしながら、このコマンドレットを使用する際は挙動をしっかりと理解する必要があるため、考え方と実行例を参考に理解を深めてください。

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

Set-SmbPathAcl [オプション]


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

オプション 意味
-ShareName アクセス権を設定する共有フォルダを指定する。必須


基本的なSet-SmbPathAclコマンドレットの考え方と実行例

 Set-SmbPathAclコマンドレットは、「共有フォルダのACLを、共有設定されているフォルダのACLとして設定する」コマンドレットになります。

 従って、共有アクセス権とフォルダのアクセス権に差異があった場合は、共有アクセス権として設定されているACLをフォルダのACLとして「設定」します。アクセス権を設定する対象は「共有設定されているフォルダ」となります。

 このフォルダに格納されているファイルやサブフォルダに関しては、「継承」の設定が有効でない限り適用されません。また、設定されるフォルダアクセス権は「上位フォルダから継承したアクセス権」と「共有アクセス権」となります。この場合、共有設定しているフォルダで親フォルダからの継承を無効化していても、継承が有効になった上で共有アクセス権の設定がコピーされます。

 では、具体的な例を見ていきましょう。

 例えば、「TestFolder_01」というフォルダがあり、画面1のようなフォルダアクセス権が設定されているとします。継承設定は無効になっていることが確認できます。

ALT 画面1 「TestFolder_01」フォルダのアクセス権と継承設定

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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