首页 文章

PowerShell共享文件夹的权限

提问于
浏览
0

我需要在共享文件夹上使用PowerShell将“ Everyone ”的权限设置为 ChangeRead . 我不知道怎么做,你能帮助我吗?

  • 我正在运行Windows Server 2008

enter image description here

以下代码在Windows Server 2012上运行正常 . 我需要在Windows Server 2008上运行它:

[WMICLASS]"Win32_Share"|%{$_.Create($path,$sharefoldername,0)} | Out-Null
    Grant-SmbShareAccess -name $sharefoldername -CimSession $Server -AccountName Everyone -AccessRight Change –Force | Out-Null

2 回答

  • 1

    我找到的工作答案是这样的:

    #Username/Group to give permissions to
            $trustee = ([wmiclass]'Win32_trustee').psbase.CreateInstance()
            $trustee.Domain = $null
            $trustee.Name = "Everyone"
    
            #Accessmask values
            #$fullcontrol = 2032127
            $change = 1245631
            #$read = 1179785
    
            #Create access-list
            $ace = ([wmiclass]'Win32_ACE').psbase.CreateInstance()
            $ace.AccessMask = $change
            $ace.AceFlags = 3
            $ace.AceType = 0
            $ace.Trustee = $trustee
    
            #Securitydescriptor containting access
            $sd = ([wmiclass]'Win32_SecurityDescriptor').psbase.CreateInstance()
            $sd.ControlFlags = 4
            $sd.DACL = $ace
            $sd.group = $trustee
            $sd.owner = $trustee
    
    
            $share = Get-WmiObject Win32_Share -List -ComputerName $server
            $share.create($advsharing, $sharefoldername, 0, "16777216", "Description"", $sd)
    
  • 0

    看一下SmbShare cmdlet:

    Import-Module SmbShare
    Get-Command -Noun Smb*
    

    对于现有共享,您可以使用Grand-SmbShareAccess,您可以使用Get-Help获取如何使用它的示例 .

    Get-Help Grant-SmbShareAccess -Examples
    

相关问题