我需要一个脚本在Vista Ultimate上运行以共享外部驱动器并为Everyone分配完全控制权.我有一个批处理文件来创建共享使用net share
,但似乎没有办法更改权限.我认为这在PowerShell中一定是可行的,但我不知道从哪里开始.
如果你正在寻找这个问题的答案,但你正在运行Windows 7(而不是Vista),就像我一样,你可能有兴趣知道可以在NET SHARE命令中设置权限,现在,直接.
例如,
NET SHARE电影= M:\ Movies/GRANT:Everyone`,READ
将创建一个共享,并为每个人提供只读权限.
您可以使用CHANGE或FULL代替READ.
两个答案.
在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.
截至WMF 4:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
http://technet.microsoft.com/en-us/library/jj635722.aspx