Visual Basic - Effacer un contenu répertoire avec RUNAS

Alphaz74 Messages postés 1 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 26 mai 2006 - 26 mai 2006 à 16:31
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 19 sept. 2006 à 11:44
Bonjour,

J'ai besoin que quelqu'un m'aide pour le script ci-dessous:

Mon but est de pouvoir vider le contenu d'un répertoire, depuis un compte Windows qui n'a pas de privilèges administrateur sur le poste. C'est pourquoi j'utilise la commande RUNAS.

Lorsque j'execute mon script, non seulement le répertoire n'est pas supprimé mais l'autre répertoire n'est pas créé.

est-ce que quelqu'un peut m'aider la dessus. J'ai déjà eu énoooooooooremément de mal à l'écrire, alors ce serait vraiment super si vous pouviez me le corriger en remettant tout du débu à la fin, car je ne saurais pas où le mette exactement.

<script LANGUAGE="VBScript">
'Copyright© 1998. XYZ Productions. All rights reserved.
'**Start Encode**
' Your code goes here.
'/--> Varibles
   Dim Fso, File, WshShell
'/--> Varibles As Objects
      WshShell.Run "runas /user:administrator", 0, True
      WshShell.Sendkeys "password"
'/--> Checks For The File Then If It Exists It deletes It
Set Fso = CreateObject("Scripting.FileSystemObject")
    If Fso.FolderExists("C:\TestFolder") Then
    Fso.DeleteFolder "C:\TestFolder", True
    Fso.CreateFolder "C:\TestFolder2"
End If
</SCRIPT>

merci d'avance pour votre aide.

2 réponses

cs_corsica Messages postés 147 Date d'inscription lundi 13 mai 2002 Statut Membre Dernière intervention 15 février 2010
27 mai 2006 à 22:12
A priori le RUNAS ne te permet pas de changer le compte de l'utilisateur dans le script en cours mais de lancer un script sous le compte d'un autre utilisateur.
Si j'ai bien compris ce que tu veux faire , il te faudra faire 2 scripts différents le premier lancera le deuxiéme ... Ou alors le même script mais avec un paramêtre qui aiguille sur le bon cas ( lancement sous autre compte /  execution réelle ).

++





<hr />


Life is Too Short ...
Enjoy Your Life ...
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
19 sept. 2006 à 11:44
Salut 783928 Alphaz74, salut =8974 corsica,

je suis un peu retard :)

Tu l'as vu, pour utiliser ton Fso, il faut l'instancier :
Set Fso = CreateObjet("Scripting.FileSystemObject")

ben pour pouvoir utiliser WshShell , il faut l'instancier aussi :
Set WshShell = Wscript.CreateObject("Wscript.Shell")

ensuite, il me semble que corsica a raison, il te faut un script utilisant le RUNAS, qui lance lance le script qui fait le job avec les droits privilégiés, genre :

WshShell.Run "runas /user:administrator@ledomaine MonScriptEffaceur.vbs", 0, True

par contre, j'ai peine à croire que cela va fonctionner. En effet, cette commande n'est pas vraiment faite pour automatiser de telles actions. Elle devrait demander un mot de passe, comme tu l'as prévu, mais peut-être trop tard, puisque c'est le RUNAS qui lance le programme au "profil glissé". Donc à tester, et merci de nous faire part de la réponse, pour faire profiter la communauté.

Dernière chose, testes avec un script simple, genre qui affiche une boite de message Bonjour, pour valider le script de "glissement de profil", testes ensuite ton script d'effacement/création de répertoire (unitairement), et ensuite, testes les 2 (test d'intégration). Cela facilite la démarche de mise au point.

voilà, à+

rvblog<sup>n
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!</sup>
0
Rejoignez-nous