2013-07-12 190 views
0

在设置共享权限至文件夹时遇到问题。 广东话理解,其中模式权限设置为用户域\用户PowerShell共享文件夹上的共享权限级别

  1. NET SHARE testfolder=C:\test /GRANT:Everyone,FULL组NTFS权限,但不共享许可文件夹

  2. 使用[wmiClass]“Win32的共享” .create() (写入NTFS权限)

如何设置用户与文件夹共享? 谢谢

+0

你的问题很不清楚。 “在哪种模式下”是什么意思?如果你说要授予** Domain \ User **的权限,你为什么要向** Everyone **授予** NET SHARE **的权限? “使用[wmiClass]”Win32-Share“.create()”也很模糊。你想用哪种方式使用WMI方法? (显示你正在使用的命令,并指定你在哪里/如何调用它) –

+0

我在下一个函数中使用win32_Share.create(): – user2576511

回答

0

我在接下来的功能使用win32_Share.create():

功能shareFolder { 参数($文件夹,$ UNAME) $ NAME = $ folder.Name $ PATH = $文件夹.Fullname

$sd = ([WMIClass] "Win32_SecurityDescriptor").CreateInstance() 

$ace = ([WMIClass] "Win32_ACE").CreateInstance() 
$Trustee = ([WMIClass] "Win32_Trustee").CreateInstance() 
$Trustee.Name = $uname 
$Trustee.Domain = $null 
$ace.AccessMask = 524288 
$ace.AceFlags = 3 
$ace.AceType = 0 
$ACE.Trustee = $Trustee 
$sd.DACL += $ace.psObject.baseobject 

$mc = [WmiClass]"Win32_Share" 
$InParams = $mc.psbase.GetMethodParameters("create") 
$InParams.Access = $sd 
$InParams.Description = "Share" 
$InParams.MaximumAllowed = $Null 
$InParams.Name = "test" 
$InParams.Password = $Null 
$InParams.Path = $folder 
$InParams.Type = [uint32]0 

$mc.PSBase.InvokeMethod("Create", $InParams, $Null) 

}

shareFolder “C:\测试”, “管理员”

在这种情况下,据我所知,ntfs权限正在设置。 如何在文件夹上设置“共享权限”(读/写)?