Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PowerShell中共享文件夹并设置权限_Powershell_Permissions_Directory_Share - Fatal编程技术网

在PowerShell中共享文件夹并设置权限

在PowerShell中共享文件夹并设置权限,powershell,permissions,directory,share,Powershell,Permissions,Directory,Share,我需要一个脚本在Vista Ultimate上运行,以共享一个外部驱动器并将完全控制权分配给每个人。我有一个批处理文件,可以使用netshare创建共享,但似乎没有办法更改权限。我认为这在PowerShell中一定是可能的,但我不知道从哪里开始。两个答案 在PowerShell中,Get-ACL cmdlet将检索现有权限。然后使用.NET命令修改这些内容,并运行Set-ACL将其应用回文件夹-这两个cmdlet的帮助包括示例,您可以从www.sapienpress.com下载“Windows

我需要一个脚本在Vista Ultimate上运行,以共享一个外部驱动器并将完全控制权分配给每个人。我有一个批处理文件,可以使用
netshare
创建共享,但似乎没有办法更改权限。我认为这在PowerShell中一定是可能的,但我不知道从哪里开始。

两个答案

在PowerShell中,Get-ACL cmdlet将检索现有权限。然后使用.NET命令修改这些内容,并运行Set-ACL将其应用回文件夹-这两个cmdlet的帮助包括示例,您可以从www.sapienpress.com下载“Windows PowerShell:TFM”的书籍示例=该书还包含显式示例

然而,这不值得你花时间。实际上,文件ACL是一个非常棘手的问题,而且非常复杂。微软已经编写了一些可爱的工具来实现这一点,比如Cacls,而且仅仅使用这些工具就容易多了


现在,这就是所有文件权限-您可能还对更改共享本身的权限感兴趣。这方面的工具是SUBINACL,您可以从Microsoft下载它。另见

如果您正在搜索此问题的答案,但您正在运行Windows 7(而不是Vista),就像我一样,您可能有兴趣知道,现在可以直接在NET SHARE命令中设置权限

比如说,

NET SHARE Movies=M:\Movies/GRANT:Everyone`,阅读

将创建一个共享,并向每个人授予该共享的只读权限

您也可以使用“更改”或“完全”来代替“读取”。

PowerShell模块有两个功能可以为您执行此操作:和。我想试试看

Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
                 -Description 'My super-awesome file share!' 
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
免责声明:我是碳的作者和创造者。我建议使用此模块,因为在安装共享和授予权限时,需要注意很多注意事项和漏洞。这两个功能将为您解决此问题。

从WMF 4开始:

New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username

谢谢你,唐。我尝试了链接中的subinacl脚本,但其中有一个错误。MS link:Powershell似乎不喜欢此命令,除非您引用最后一个参数:NET SHARE Movies=M:\Movies”/GRANT:everybody,READ“添加转义字符以便不解析逗号…”/GRANT:Everyone`,READnote to future users:在win10 1803中工作正常,与运行win10 1607的本地hyperV实例共享