使用命令行工具更改Windowsnetworking共享权限

可以不用下载subinacl.exe呢?

你看过icacls.execacls.exe吗? (都在System32文件夹中,至less在Win7上)

老问题,但我最近需要这样做多个家庭股,以限制“完全控制”。 虽然您可以在NTFS级别执行此操作,但需要时间来recursion应用,反向执行时间,ADUC MMC等工具可以将权限恢复。

似乎没有内置的命令行工具来pipe理现有共享上的权限,只有在初始设置期间,但您可以执行多个授予,所以如果暂时脱机的股票不是问题,您可以使用:

 NET SHARE example /DELETE /Y NET SHARE example=C:\FolderPath /GRANT:Everyone,Change /GRANT:Administrators,Full /UNLIMITED /CACHE:None 

但是,这不是我的select,所以最终使用优秀的“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" 

请注意,这是为每个人(S-1-1-0)和本地pipe理员(S-1-5-32-544)使用“知名SID”。 你可以使用这个名字,但是它避免了查找,并且把它和域组混淆起来。

为了提高效率,可以将多个更改合并为一个命令:

 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命令的目标是共享名,而不是共享的文件夹path,通常用于NTFS权限。

也许,在Windows 2003上,我还没有尝试过…

 net share /grant 

在Win 7 x64机器上编辑注释之后。

注意[/GRANT:user,[READ | CHANGE | FULL]] [/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>