none
Modifications des permissions de partage RRS feed

  • Question

  • Bonjour,

    Je me tourne vers vous car je bute sur un problème.

    Je dois dans le cadre d'un projet au sein de mon entreprise modifier les droits de partage sur les dossiers lors de la creation de celui-ci (je parle bien des droits de partage et non pas des permissions NTFS)

    Ci-joint le bout du code concerné:

    $statusLabel.Text = "Status : Génération des variables"
    $disque = $DisqueCombobox.text
    $ressource = $RessourceBox.text
    $server = $ServeursCombobox.text
    $cheminlocal = "$disque"+":\"+"Data$disque"+"\"+"$ressource"
    $chemindistant = "\\"+"$Server\"+"$disque"+"$"+"\"+"Data$disque"+"\"+"$ressource"
    if ($server -like "TL*")
        {
        $code = key -PasswordLength 8
        $file = "\\"+"$Server\"+"$disque"+"$"+"\"+"Data$disque"+"\"+"$code.bat"
        $statusLabel.Text = "Status : creation du repertoire sur $server"
        mkdir $chemindistant
        sleep 2
        $statusLabel.Text = "Status : Creation du partage"
        (Get-WmiObject -List -ComputerName $server | Where-Object -FilterScript {$_.Name -eq "Win32_Share"}).InvokeMethod("Create",("$cheminlocal","$ressource",0,100,"$ressource"))
        $groupeW = "TL_"+"$ressource"+"_W"
        $SIDW = (Get-ADGroup $groupeW -server server1).SID
        $groupeR = "TL_"+"$ressource"+"_R"
        $SIDR = (Get-ADGroup $groupeR -server server1).SID
        $groupeADM = "TL_"+"$ressource"+"_ADMIN"
        $SIDADM = (Get-ADGroup $groupeADM -server server1).SID
    
        $statusLabel.Text = "Status : Mise en place du groupe de lecture"
        $Acl=Get-Acl $chemindistant
        $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule($SIDR,'ReadAndExecute','ContainerInherit,ObjectInherit','None','Allow')
        $Acl.SetAccessRule($Ar)
        Set-Acl -path $chemindistant -AclObject $Acl
        
        $statusLabel.Text = "Status : Mise en place du groupe d'ecriture"
        $Acl=Get-Acl $chemindistant
        $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule($SIDW,'Modify','ContainerInherit,ObjectInherit','None','Allow')
        $Acl.SetAccessRule($Ar)
        Set-Acl -path $chemindistant -AclObject $Acl
        
        $statusLabel.Text = "Status : Mise en place du groupe ADMIN"
        $Acl=Get-Acl $chemindistant
        $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule($SIDADM,'Modify','ContainerInherit,ObjectInherit','None','Allow')
        $Acl.SetAccessRule($Ar)
        Set-Acl -path $chemindistant -AclObject $Acl

    L'ensemble du code ci-dessus fonctionne parfaitement, c'est la partie qui va devoir suivre qui me pose problème.

    L'action doit être faite à distance depuis un Windows 7 avec Powershell V4 vers un serveur Windows 2008 R2. Je cherche vers le WMI Win32_Share ou dans les ACL, si vous avez des pistes ou des solutions cela m'aidera surement :)

    En vous remerciant

    • Déplacé Teodora Sharkova vendredi 24 mars 2017 11:09 déplacé de Windows Server 2008 R2 et Windows Server 2008
    jeudi 23 mars 2017 16:41

Toutes les réponses