2017-08-15 4 views
0

J'ai besoin de définir les autorisations pour « Tout le monde » à changement et Lire avec PowerShell sur un dossier partagé. Je ne sais pas comment le faire, peux-tu m'aider?autorisations sur le dossier partagé avec PowerShell

  • Je suis sous windows server 2008

enter image description here

Le code suivant fonctionne très bien sur Windows Server 2012. Je dois exécuter sur 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 

Répondre

0

La réponse de travail que je trouve est la suivante:

 #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

Jetez un coup d'œil aux cmdlets SmbShare:

Import-Module SmbShare 
Get-Command -Noun Smb* 

Pour un partage existant, vous pouvez utiliser Grand-SmbShareAccess, vous pouvez utiliser Get-Help pour obtenir des exemples de la façon dont il est utilisé.

Get-Help Grant-SmbShareAccess -Examples 
+0

Sur Windows Server 2008? Dois-je passer à PowerShell 3? – krusty