Page 1 sur 1

[..] Partage de dossier avec les autorisations

Posté : jeu. 13 juin 2013 18:19
par mouchemouche
Bonjour à tous,

J'ai un petit soucis, j'aimerai partager un dossier et donné tout les contrôles (lecture et modifier) pour tout les utilisateurs, jusqu’à présent j’avais déjà ce script qui me permettait de le faire sous Windows XP sauf que sur Windows 7 ce script permet juste de partager le dossier sans donnés tout les contrôles à tout les utilisateurs.

Code : Tout sélectionner

$strComputer = @ComputerName
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\"& $strComputer & "\root\cimv2")
$objNewShare = $objWMIService.Get("Win32_Share")
$errReturn = $objNewShare.Create("C:\FOLDER", "NOM DU PARTAGE", 0, 25, "COMMENTAIRE")
donc si vous avez une :idea: de comment faire je suis preneur.

Re: [..] Partage de dossier avec les autorisations

Posté : jeu. 13 juin 2013 20:42
par jguinch
Toute petite idée : utiliser la commande net share pour créer le partage et donner les droits en une seule fois :

Code : Tout sélectionner

RunWait(@ComSpec & " /c net share tmp=d:\tmp /grant:""Tout le monde"",CHANGE", @SystemDir)
Sinon, utiliser un outils tiers. Du genre subinacl, qui permettra de gérer à la fois les permissions NTFS et les permissions du partage.
Exemple pour les permissions du partage :

Code : Tout sélectionner

RunWait(@ComSpec & " /c subinacl.exe /share tmp /grant=""tout le monde""=C", @SystemDir)

Re: [..] Partage de dossier avec les autorisations

Posté : ven. 14 juin 2013 23:26
par lesolutionneur
Pourrait-on m'expliquer l'intérêt d'utiliser @ComSpec alors que de toute façon tu lances un exécutable en mode de commande (net.exe) ?

Re: [..] Partage de dossier avec les autorisations

Posté : sam. 15 juin 2013 09:21
par jguinch
Il n'y a pas d'intérêt dans ce cas en effet.
C'est plus une question d'habitude : lancer un programme de type console dans une console, ça ne paraît pas choquant. :?:
Perso, quand je teste, je met /k comme paramètre à CMD, ce qui permet d'avoir le résultat de la commande exécutée, ça évite de passer par StdoutRead...
Ca peut permettre aussi de lancer deux commandes à la suite : cmd /c dir & pause & cls & echo fin, ce qui peut s'avérer pratique.