できますか ダウンロードせずに 全然?subinacl.exe
icacls.exe
とcacls.exe
を見ましたか? (両方ともSystem32
フォルダ、少なくともWin7では)
古い質問ですが、最近、「フルコントロール」を制限するために、複数のホーム共有に対してこれを行う必要がありました。これをNTFSレベルで行うこともできますが、再帰的に適用するには時間がかかり、元に戻すには時間がかかります。ADUCMMCなどのツールを使用すると、アクセス許可を元に戻すことができます。
初期セットアップ中にのみ、既存の共有のアクセス許可を管理するための組み込みのコマンドラインツールはないようですが、複数の許可を行うことができるため、共有が一時的にオフラインになっても問題にならない場合は、次のコマンドを使用できます。
NET SHARE example /DELETE /Y
NET SHARE example=C:\FolderPath /GRANT:Everyone,Change /GRANT:Administrators,Full /UNLIMITED /CACHE:None
しかし、それは私にとってオプションではなかったので、共有名をターゲットにするオプションもある優れた 'SetACL.exe'ツールを使用することになりました。
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-1-0;p:change"
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-5-32-544;p:full"
これは、Everyone(S-1-1-0)とLocal Administrators(S-1-5-32-544)の 'Well-known SID'を使用していることに注意してください。名前を使用することもできますが、ルックアップが回避され、ドメイングループと混同される可能性はありません。
効率を上げるために、複数の変更を1つのコマンドにマージできます。
SetACL.exe -on "example" -ot shr -actn ace -ace "n:S-1-1-0;p:change" -ace "n:S-1-5-32-544;p:full"
SetACLコマンドは、共有のフォルダーパスではなく共有名を対象としていることに注意してください。共有のフォルダーパスは、通常NTFSアクセス許可に使用されます。
たぶん、Windows 2003で。私はまだ試していません...
net share /grant
コメントの後に、Win 7 x64マシンから編集します。
[/GRANT:user,[READ | CHANGE | FULL]]
C:\Users\gbn>net share /?
The syntax of this command is:
NET SHARE
sharename
sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
[/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents| Programs | BranchCach
e | None]
sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents | Programs | BranchCache | None]
{sharename | devicename | drive:path} /DELETE
sharename \\computername /DELETE
C:\Users\gbn>