【问题标题】:powershell share permission level on a folder文件夹的powershell共享权限级别
【发布时间】:2013-07-12 13:24:08
【问题描述】:

在为文件夹设置共享权限时遇到一些问题。 无法理解在哪种模式下为用户域\用户设置权限

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

  2. 使用 [wmiClass] "Win32-Share".create() 也可以这样做(写入 NTFS 权限)

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

【问题讨论】:

  • 你的问题很不清楚。 “在哪种模式下”是什么意思?如果您说要向 Domain\User 授予权限,为什么要通过 NET SHAREEveryone 授予权限? “使用 [wmiClass] "Win32-Share".create()" 也很模糊。您尝试以哪种方式使用 WMI 方法? (显示您正在使用的命令并指定您在何处/如何调用它)
  • 我在下一个函数中使用 win32_Share.create():

标签: powershell-2.0


【解决方案1】:

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

函数共享文件夹 { 参数($文件夹,$uname) $name = $folder.Name $path = $folder.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:\test" "admin"

按照我的理解,在这种情况下,正在设置 ntfs 权限。 如何设置文件夹的“共享权限”(读/写)?

【讨论】:

    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多