IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

XRUNAS - Lancement de programme en tant que


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2010
    Messages : 12
    Par défaut XRUNAS - Lancement de programme en tant que
    Bonsoir tout le monde,

    Je n'écris pas souvent vu que je trouve régulièrement les réponses à mes questions sur le forum ou via l'ami Google mais là je sèche !!!

    un scrip VBS va être lancé (via GPO) à chaque lancement des PC de ma boite (script qui à pour but de vérifier la présence de l'anti-virus et de l'installer si besoin).

    Je vous passe les détails de vérification, tout fonctionne de ce côté là.

    J'aimerais utiliser le script XRUNAS.VBS (de JC BELLAMY) de façon à pouvoir spécifier le nom d'utilisateur et le mot de passe à utiliser pour lancer mon script.

    Voici les lignes que j'ai essayées et qui fonctionnent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.run "cscript C:\xrunas.vbs /profile /user:domaine\utilisateur /pwd:motdepasse c:\windows\system32\notepad.exe"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.run "cscript C:\xrunas.vbs /profile /user:domaine\utilisateur /pwd:motdepasse "&prog&""
    Je vais y aller par étapes.
    Mon premier objectif serait de faire fonctionner la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.run "cscript C:\xrunas.vbs /profile /user:domaine\utilisateur /pwd:motdepasse ""\\serveur\Symantec\MSI Installer 11.0.7101.89\Symantec AntiVirus.msi"""
    J'ai également tenté de retirer tous les espaces dans le chemin et dans le nom du fichier sans plus de succès.

    J'espère avoir été assez clair dans mes explications et que vous pourrez m'aider.

    Merci d'avance
    Pierre

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Arghh le mot de passe admin en dur dans le script ...
    Je ne suis pas sûr que l'utilisation de XRUNAS soit bien approprié en terme de sécurité.

    Sinon, je ne comprends pas ton besoin ...
    Si ton script est placé dans la GPO, au démarrage de l'ordinateur, il s'éxecutera avec le compte SYSTEM qui est déjà administrateur local, non ?
    ______
    Cachlab

  3. #3
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Si c'est une GPO de type Ordinateur, elle est effectivement lancée avec des droits de type administrateur (avec le compte System je crois, mais pas sûr à vérifier... ).

    Par contre si c'est une GPO de type Utilisateur, là effectivement elle est lancée avec le compte de l'utilisateur et donc n'a pas forcément les droits d'administration nécessaires.

    Le mieux, comme le dit Cachlab, est de ne pas mettre de mots de passe dans des scripts de sysvol (logonscript ou GPO) car ils sont accessibles par tout le monde. Donc la GPO de type Ordinateur parait plus appropriée, car elle ne nécessite pas de spécifier de droits d'accès à la machine.

    Par contre, si ton logiciel se trouve sur un chemin réseau, ce qui à priori ton cas, le compte local exécutant le script de GPO n'a peut-être pas les droits nécessaires pour y accéder...

    Dans ce cas tu peux potentiellement mettre un accès en lecture seule pour tout le monde sur le dossier d'installation, ou placer un mot de passe dans ton script

    Si au final c'est ce que tu veux faire, le Xrunas de JC Bellamy devrait faire l'affaire. As-tu essayer de lancer ton programme avec runas dans une fenêtre de commande? Le script Xrunas utilise cette commande puis envoie un le mot de passe avec SendKeys.
    Si cela fonctionne avec la ligne de commande, cela devrait fonctionner avec Xrunas.

    Autre proposition si tu veux laisser les mots de passe dans ton script sysvol :
    - psexec, outil de sysinternals, qui permet de lancer un programme avec un autre compte utilisateur.
    - Avec AutoIt (autre langage de script contenant une fonction runas) te permettant de compiler ton script en un exe, ce qui rend ton code (ainsi que ton mot de passe) non visible aux utilisateurs curieux (mais pas irrécupérable pour les plus aguerris).

    Bonne continuation

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2010
    Messages : 12
    Par défaut
    Hello,

    Merci à vous deux pour vos réponse.

    Concernant le mot de passe en clair dans le .vbs, ce n'est pas le seul script à en contenir et ça ne semble déranger aucun de mes responsables....

    Je vous confirme que c'est une GPO ordinateur et non user.
    Je fais l'essai actuellement avec un chemin réseau où tout le monde est autorisé en lecture / écriture (modifié éventuellement en lecture seule une fois que tout fonctionnera).

    Le script se lance bien, mes msgbox de test sont bien visibles par dessus la fenêtre demandant de faite ctrl+alt+suppr.

    J'avais un scrip de départ avec un run tout simple sans info d'identification: Il fonctionnait en GPO user (a condition que l'user qui ouvre sa session soit admin local, logique) en revanche il ne fonctionnais pas en GPO ordinateur. D'où mon envie de lancer mon script via un XRUNAS (peut-etre que ne procède pas correctement ?)

    J'ai également fait un essai au préalable en utilisant runas puis un sendkeys après une pause (astuce trouvée sur le net), mais, comme le script se lance au démarrage de l'ordinateur qui attend un ctrl+alt+suppr, il affiche un message d'erreur expliquant comment bien faire la combinaison de ces 3 touches.....

    Comme vous avez pu vous en douter, il s'agit de mon premier script VBS


  5. #5
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut !

    A mon avis, si ton script ne fonctionne pas en GPO ordinateur, c'est un souci d'accès à la ressource réseau "\\serveur\Symantec\MSI Installer 11.0.7101.89\Symantec AntiVirus.msi"
    A ta place, j'essayerais simplement en mappant temporairement la ressource.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    Set WSHNetwork = CreateObject("WScript.Network")
     
    Sources = "\\serveur\Symantec\MSI Installer 11.0.7101.89"
    Install = "Symantec AntiVirus.msi"
    Lecteur = "Z:"
     
    if oFSO.DriveExists(Lecteur) Then WSHNetwork.RemoveNetworkDrive(Lecteur)
    WSHNetwork.MapNetworkDrive Lecteur, Sources
    [...]
    'Ajoute ton code de test
    WSHShell.run Lecteur & "\" & Install, 1, True
    [...]
    WSCript.Sleep 30000
    if oFSO.DriveExists(Lecteur) Then WSHNetwork.RemoveNetworkDrive(Lecteur)
    WScript.Quit
    ++

  6. #6
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Si ton partage réseau a des accès en lecture pour tout le monde, alors la GPO ordinateur devrait pouvoir y accéder. (Attention : "Tout le monde" est différent de "Utilisateurs du domaine" --> le compte local System n'est pas utilisateur de domaine mais est inclu dans "Tout le monde").

    Je pense qu'il faudrait mieux comprendre d'où vient réellement le problème avant d'essayer de le contourner de cette manière : as-tu mis en place une gestion d'erreur te permettant de tracer dans un fichier de log ce qui ne fonctionne pas ?

    Après si tu continues à vouloir mettre un login/password pour y accéder, je pense que le XRunas ne fonctionnera pas en GPO Ordinateur car le script n'est pas lancé dans une session utilisateur "normale" (graphique) et donc le SendKeys ne peut pas envoyer le mot de passe dans une fenêtre qui n'est pas réellement ouverte.
    Comme je t'ai dit précédemment, penche toi alors vers psexec qui lui ne nécessite pas de session graphique pour fonctionner.

    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter mon programme en tant que service
    Par tonymx15 dans le forum Windows
    Réponses: 3
    Dernier message: 04/12/2010, 12h04
  2. Executer un programme en tant que
    Par poussin_44 dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/08/2007, 09h58
  3. Réponses: 3
    Dernier message: 15/05/2006, 09h49
  4. s'amuser dans la programmation en tant que métier ?
    Par Bruno75 dans le forum Etudes
    Réponses: 9
    Dernier message: 02/02/2006, 21h36
  5. [VB6] Exécuter un programme en tant que...
    Par Le_Tolier dans le forum VB 6 et antérieur
    Réponses: 36
    Dernier message: 28/05/2004, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo