我需要一个在Vista Ultimate上运行的脚本来共享外部驱动器并为Everyone分配完全控制权。我有一个批处理文件来使用net share
创建共享,但似乎没有办法更改权限。我认为在PowerShell中这一定是可行的,但我不知道从哪里开始。
答案 0 :(得分:16)
如果你正在寻找这个问题的答案,但你正在运行Windows 7(而不是Vista),就像我一样,你可能有兴趣知道可以在NET SHARE命令中设置权限,现在,直接。
例如,
NET SHARE Movies = M:\ Movies / GRANT:Everyone`,READ
将创建一个共享并为Everyone提供只读权限。
您也可以使用CHANGE或FULL而不是READ。
答案 1 :(得分:12)
两个答案。
在PowerShell中,Get-ACL cmdlet将检索现有权限。然后使用.NET命令修改这些命令,并运行Set-ACL将其应用回文件夹 - 这两个cmdlet的帮助包括示例,您可以从www.sapienpress.com下载“Windows PowerShell:TFM”中的书籍示例“=这本书还包含明确的例子。
然而,这不值得你花时间。实际上,文件ACL是一种很难处理的问题,并且非常复杂。微软已经编写了可爱的工具来完成这项工作,比如Cacls,并且使用它们要容易得多。
现在这是所有FILE权限 - 您可能也有兴趣更改SHARE本身的权限。用于此的工具是SUBINACL,您可以从Microsoft下载它。另见http://cwashington.netreach.net/depo/view.asp?Index=1127&ScriptType=vbscript。
答案 2 :(得分:12)
截至WMF 4:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
答案 3 :(得分:4)
Carbon PowerShell模块有两个功能可以帮助您:Install-SmbShare和Grant-Permission。我会download it并尝试一下。
Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
-Description 'My super-awesome file share!'
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
免责声明:我是Carbon的作者和创造者。我建议使用此模块,因为在安装共享和授予权限时需要注意很多警告和坑洼。这两个功能为您解决了这个问题。