Votre question

Vbs, acl, aidez moi !

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
8 Mars 2010 17:27:12

Bonjour,

Je script actuellement en VBS.

Contexte : Via une GPO (stratégie de groupe AD) j’exécute, à l’ouverture de session, mon script qui permet de toucher (créer, lire, modifier, supprimer, c/c) des fichiers sur « c:\monchemin\mon_dossier »

Le problème :

Mon script se déroule bien sur « c:\doc & settings\UserTest\mon_dossier ». Mais pas sur la cible précédente « c:\monchemin\mon_dossier »

IL y a un problème de permissions !

Le msg d’erreur le confirme.

Alors ma question est : Comment affecter les droits « modifier, voir contrôle total » de « UserTest » sur « mon_dossier » pour que mon script puisse y faire ce qu’il a à faire !

Ceci est un appel à l’aide. (Genre Lilou dans le taxi du 5eme élément… help me plz)
Lol

Autres pages sur : vbs acl aidez

9 Mars 2010 08:15:50

je relance l'appel , quelqu'un aurai t il une solution à proposé ?
m
0
l
9 Mars 2010 13:06:26

Tu ne peux pas changer ces permissions depuis l'explorer une bonne fois pour toutes avant de lancer le script (en allant dans les propriétés du dossier)?
m
0
l
Contenus similaires
9 Mars 2010 17:26:19

Evidemement ! ça marches en mettant <Usertest> dans les proprietes, securité, du dossier. MAIS c 'est pas possible car il s'agit d'executer le script à chaques ouvertures de session sur des centaines de postes.

Un script de mise a jour qui verifie si les info ds mon dossier sont a jours. L interet justement est que personne est a ce deplacer.

J'aimerai que le script dise au dossier (tout les postes l'ont au meme endroit c:\programfiles\mondossier) >>>"Monsieur monDossier, tu appartient a l'utilisateur qui vient de m'appeller en ouvrant sa session !"<<<


Je me demande si c'est possible de modifier des droits sur un compte utilisateur qui n'a pas les droits d'administrateurs avec un script via GPO>ouverture de session. (gpo se trouvant evidement que le server)

Merci d'avoir répondu déjà :) 

J ai trouvé des choses interresantes avec xacls.vbs mais j ai pas tout capté au code lol




Option Explicit
Dim strHomeFolder, strHome, strUser
Dim intRunError, objShell, objFSO

strHomeFolder = "c:\mondossier"

Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strHomeFolder) Then
' Assign user permission to home folder.
intRunError = objShell.Run("%COMSPEC% /c Echo Y| cacls " & strHomeFolder & " /t /c /g utilisateur:F ", 2, True)
If intRunError <> 0 Then
Wscript.Echo "Error assigning permissions for user " & strUser & " to home folder " & strHomeFolder
End If
End If

' End of Cacls example VBScript


'-----------------------------ici je test si je peux faire un copier coller du server sur le client mais j obtiens permission refusée

'Déclaration de l'objet FileSystemObject
dim Fso
set Fso = CreateObject ( "Scripting.FileSystemObject" )
wscript.echo "copie"
' Pour copier un fichier
Fso.CopyFile "\\srv\NETLOGON\test.txt","c:\mondossier\test.txt"



la partie du code avant les ------------ je l'ai trouvé sur le net , tres interressant les lignes sont expliqué c 'est en anglais voici un traduction approximative :

Didacticiel VBScript - formation des points
Note 1: Le coeur du script est :
CACLS & strHomeFolder & "/t /c /g administrateurs: F.

strHomeFolder est le chemin que nous voulons changer les autorisations.
/t signifie poubelle les autorisations existantes. Supprimer toutes les autorisations et ajouter ceux spécifiés par /g.
/g administrateurs: F définit les nouvelles autorisations pour les administrateurs d'uniquement avec un contrôle total.
(/c indique au script de continuer si il y a une erreur).

Vous pouvez ajouter une autorisation ACL pour l'utilisateur avec /g administrateurs: F utilisateur: f. Toutefois, pour raisons de simplicité, que nous avons ajouté qu'une seule entrée dans le script ci-dessus.

Note 2: Le reste du script est VBScript. Nous avons besoin créer un objet de fichier, objFSO.

Note 3: CACLS s'exécute normalement à l'invite cmd, par conséquent, le script crée un objShell d'objet de shell. Exécution appelle comspec plutôt que de cmd.exe.
objShell.Run ("% COMSPEC % /c Echo Y.

Note 4: L'utilitaire cacls ne fournit pas l'option /y répond automatiquement avec Y pour Oui pour le ARE YOU SURE ? Invite O/N. Toutefois, vous pouvez utiliser la commande echo à tuyau le caractère Y comme entrée à l'invite, lorsque vous exécutez cacls dans un fichier batch. Utilisez la syntaxe suivante pour répondre automatiquement y

sinon le site c'est

J'attend avec impatience vos explications, idées, voir la solution ultime amen
m
0
l
a b L Programmation
9 Mars 2010 17:28:55

Moultipach !
- lilou -

Eh, étudie un peu la commande DOS cacls.
Il te restera à l'exécuter à partir de ton script VBS. (La méthode Run de l'objet Wscript.Shell devrait suffire ;)  )

EDIT: Grillaid !!!!!
Ah bah t'as trouvé tout seul :D  Alors qu'est-ce que je disais : CACLS, picétou :o 
m
0
l
10 Mars 2010 10:54:13

J'arrive a faire avoir un controle total sur le dossier donc je peux tout faire dedans , mais cela n'affecte pas les fichiers deja dedant donc je peux creer des fichiers les supprimer mais les autres deja là, je peux rien y faire.

Que doit-je ecrire pour que mon code xaclcs touche tout les fichiers du dossier ??

("%COMSPEC% /c Echo Y| cacls " & strHomeFolder & " /t /c /g utilisateur:F ", 2, True)
m
0
l
10 Mars 2010 11:11:41

Tapez XCACLS *.* /G administrator:RW /Y à l'invite de commandes, puis appuyez sur ENTRÉE pour remplacer l'ACL de tous les fichiers et dossiers dans le dossier en cours sans analyser les sous-dossiers ni demander confirmation

("%COMSPEC% /c Echo Y| cacls " & strHomeFolder & " /G %username%:RW /Y ", 2, True)

marches pas nan plus
m
0
l
10 Mars 2010 14:57:16


strHomeFolder = "mondossier"
strUser = "monutilisateur"

intRunError = objShell.Run("%COMSPEC% /c Echo Y| cacls " & strHomeFolder & " /t /e /c /g " & strUser & ":f", 2, True)


le code marches en admin mais à l'ouverture de session de l'utilisateur (qui n'a pas les droits de modif sur les proprietes des fichiers)

j ai donc lance le script en mode "script de demarrage" et non en mode "script ouverture de session" c'est la meme, ça ne marches pas .

Helpppppppppp


m
0
l
10 Mars 2010 16:40:18

en faite c 'est mission impossible d'executer un script d'ouverture de session qui modifie des fichiers limité a des droits d'admin sur une session utilisateur.
j ai trouvé un soft superExec mais ça craint etant donner qu'il contients le compte et mdp administrateur en crytpé certes mais bon.

y a pas moyen d'accorder des droits d'utilisateur (control total) sur c:\mondossier , disponible sur des centaines de machines (meme chemin et meme nom de dossier) via une gpo ?
genre on coche le dossier et on lui accorde des droits d'utilisateurs.
m
0
l
23 Mars 2010 11:14:24

solution cpau.exe
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS