[VBScript] Charger une ruche pour changer un paramètre Default user

Le
Eric G.
Bonjour tout le monde,

Ca faisait un bail que j'étais venu vous embéter.
Je suis en train de faire un script pour modifier deux variables
d'environement dans le registre du Default User.
Je passe par un outil tiers qui s'appele REG.exe qui permet de charger la
ruche du NTUSER.DAT de ce profil.

Mon problème est que je tricote avec les espaces dans la ligne de commande
du shell.run :) (Et oui encore mes chr(34) qui merdouillent)
Je me suis inspiré d'un bout de script que m'avait dépanné Gilles mais sans
résultat positif. (pas d'erreur mais pas de ruche chargée)

= Couic=
Option Explicit

'Déclaration des variables
Dim oSh, Commande1, Commande2
Const defaultprofilepath = "C:Documents and SettingsDefault
UserNTUSER.DAT"

'Initialisation des Objets
Set oSh = WScript.CreateObject("WScript.Shell")

' Chargement de la ruche default user
Commande1 = "Cmd /c \ServeurPartagePatchseg.exe Load" & " "& Chr (34) &
defaultprofilepath & Chr (34) & " " & "HKEY_USERSUser"
'Visu ligne de commande
msgbox Commande1 ,vbinformation,"chargement"

oSh.Run Commande1

'Modification du profil ouvert
oSh.RegWrite "HKUUserEnvironmentTMP", "D:TEMP", "REG_SZ"
oSh.Regwrite "HKUUserEnvironmentTEMP", "D:TEMP", "REG_EXPAND_SZ"

' Déchargement de la ruche default user
Commande2 = "Cmd /c \ServeurPartagePatchseg.exe unLoad HKEY_USERSUser"
'Visu ligne de commande
msgbox commande2 ,vbinformation,"déchargement"

oSh.Run Commande2
' Fin
MsgBox "blablabla",vbinformation,"Mise à jour"
=Couic

Mon problème réside dans le Command1.
La ligne de commande est simple : reg.exe load chemin_ntuser.dat nom_cle
De plus je sais pas si en VB on peut modifier les clefs REG_EXPAND_SZ.
Si par contre vous avez une methode plus simple, je suis preneur.

Merci d'avance
Eric Galais
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT
Le #664425
"Eric G." news:
| Bonjour tout le monde,

Bonjour,

| Ca faisait un bail que j'étais venu vous embéter.
| Je suis en train de faire un script pour modifier deux variables
| d'environement dans le registre du Default User.
| Je passe par un outil tiers qui s'appele REG.exe qui permet de
| charger la ruche du NTUSER.DAT de ce profil.
|
| Mon problème est que je tricote avec les espaces dans la ligne de
| commande du shell.run :) (Et oui encore mes chr(34) qui merdouillent)
| Je me suis inspiré d'un bout de script que m'avait dépanné Gilles
| mais sans résultat positif. (pas d'erreur mais pas de ruche chargée)
[...]

| Mon problème réside dans le Command1.
| La ligne de commande est simple : reg.exe load chemin_ntuser.dat
| nom_cle

Le problème vient du délai de chargement de la ruche du profil Default
User. Modifiez les lignes suivantes comme suit :

' on attend le chargement complet de la ruche Default User
oSh.Run Commande1,,True

' on modifie la ruche Default User via le map HKUUser
oSh.RegWrite "HKEY_USERSUserEnvironmentTMP", "D:TEMP", "REG_SZ"
oSh.Regwrite "HKEY_USERSUserEnvironmentTEMP", "D:TEMP",
"REG_EXPAND_SZ"

' on attend le déchargement complet de la ruche Default User
oSh.Run Commande2,,True

Note: La modification du registre sera prise en compte uniquement par
les nouveaux profils utilisateur. Est-ce bien ce que vous souhaitez ?

| De plus je sais pas si en VB on peut modifier les clefs REG_EXPAND_SZ.

Oui.
Seul le type REG_MULTI_SZ n'est pas supporté
Support partiel du type REG_BINARY

--
Gilles LAURENT
http://glsft.free.fr
Eric Galais
Le #664169
[...]

Note: La modification du registre sera prise en compte uniquement par
les nouveaux profils utilisateur. Est-ce bien ce que vous souhaitez ?

| De plus je sais pas si en VB on peut modifier les clefs REG_EXPAND_SZ.

Oui.
Seul le type REG_MULTI_SZ n'est pas supporté
Support partiel du type REG_BINARY

--
Gilles LAURENT
http://glsft.free.fr




Grand merci Gilles, je vais tester çà de suite.
Je me focalise sur le "Default user" car ce script sera lancé par les
techniciens réseaux sur les nouvelles machines non personnalisées. (donc pas
de session user de créée)

Par contre il va falloir que je vois pour les autres profiles dans le cas ou
les sessions user sont déjà créées (machines déjà sur site ou oubli du patch
par un technicien).
Ca par contre j'ai pas commencé à voir la méthode.

Eric

Publicité
Poster une réponse
Anonyme