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 :

Exécute un script en tant qu’administrateur sur une session utilisateur


Sujet :

VBScript

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Exécute un script en tant qu’administrateur sur une session utilisateur
    Bonjour a tous

    J’ai récupéré un script qui permet de mettre le nom des utilisateurs dans la description de leur machine
    Je veux le déployé par GPO sur toutes les machine du domaine.

    Voici le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set WSHNetwork = WScript.CreateObject("WScript.Network")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    '--------------------------------------------------------
    ' Remplacement de la description de la machine par le nom de user
    ' -------------------------------------------------------
    WSHShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\srvcomment", WSHNetwork.UserName
    Le problème c’est que la gpo utilise le compte system le résultat du déploiement du scripte :
    Je retrouve le compte system sur toutes les descriptions des machines au lieu des noms des utilisateurs

    Je peux pas déployer le script sur « script d’ouverture de session » car l’utilisateur ne son pas administrateur de leur machine.

    Merci de m’aidé

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    En fait, le but est de trouver le nom de l'utilisateur à ajouter depuis le compte sys. (donc sans l'objet WshNetwork).

    La liste des profiles sous forme de SID (cf. http://fr.wikipedia.org/wiki/Security_Identifier) dans le registre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
    Le problème est de connaître l'utilisateur courant du système. Sûrement pas l’un 3 premiers qui sont des « SID bien connus ». Donc le quatrième ? Si l’utilisateur en question est le seul à s’être connecté sur ce système alors oui. Je conseille un petit entretien de tous les postes avec delprof (http://support.microsoft.com/kb/315411/fr).

    Donc pour aller au but :

    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
    Const HKEY_LOCAL_MACHINE = &H80000002
    Set objRegistry = GetObject("winmgmts:root\default:StdRegProv")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    strRegSIDList = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
    strRegComment = "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\srvcomment"
     
    'On va chercher la liste des profiles
    objRegistry.EnumKey HKEY_LOCAL_MACHINE, strRegSIDList, arrSID
    'On prend le 4ème
    strRegSID = strRegSIDList & "\" & arrSID(3)
    'On récupère son chemin
    objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE, strRegSID, "ProfileImagePath", strProfilePath
    'On en extrait le nom
    strProfileName = Mid(strProfilePath, InStrRev(strProfilePath,"\")+1)
    'On l’inscrit en commentaire
    WSHShell.RegWrite strRegComment, strProfileName
    Voilà ce que je propose...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Pour aller un peu plus loin tu peux récupérer le nom complet pour ta description, et plus seulement le nom du profile comme tu voulais le faire avec WSHNetwork.UserName.
    En effet, il existe une propriété fullname dans la classe WMI Win32_UserAccount qui retourne un nom dans le style "Dan Wilson" et non "dwilson".

    http://msdn2.microsoft.com/en-us/library/aa394507.aspx

    [Résolu] ?

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour
    j'ai rsolu le problem autrement
    j'ai donne le drois d'ecrutire sur le cle de registre elle meme c'est possible avec de gpo

    Merci a tous

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/02/2011, 14h43
  2. Réponses: 1
    Dernier message: 16/04/2010, 08h19
  3. Réponses: 1
    Dernier message: 10/10/2008, 22h50
  4. [MySQL] exécuter un script php en commande linux : problème sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2007, 16h34
  5. [Système] Exécuter un script en tant que root
    Par grunk dans le forum Langage
    Réponses: 3
    Dernier message: 09/01/2007, 19h39

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