Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
797 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide Explication script vbs (getenvironnement)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide Explication script vbs (getenvironnement)

n°1305304
jojik27
Posté le 14-02-2006 à 15:24:57  profilanswer
 

Bonjour
Voila jai un script a comprendre avec plein de fonctions/sub...
Mais cette fonction (getenvirnomment) me bloque et est utilisé dans tout le script.
Si il y a qqn qui peut m'aider (à quoi cela correspond, variables ce que ça fait...) ... Merci. ++
 

Code :
  1. Set WshShell = WScript.CreateObject("WScript.Shell" )
  2. Set WshSysEnv = WshShell.Environment("SYSTEM" )
  3. function GetEnvironnement(Noyau, Variable)
  4. Set WshSysEnv = WshShell.Environment(noyau)
  5. ret=WshSysEnv(Variable)
  6. Set WshSysEnv = nothing'
  7. GetEnvironnement = ret
  8. end function

mood
Publicité
Posté le 14-02-2006 à 15:24:57  profilanswer
 

n°1305330
olivthill
Posté le 14-02-2006 à 15:45:39  profilanswer
 

La huitième ligne permet d'affecter la valeur de la variable ret à la valeur de retour de la fonction.
 
C'est une convention qui existe aussi dans beaucoup d'autres langages, comme par exemple le C.
Dans les procédures en asssembleur, la valeur de retour est mise dans le registre AX.
Dans les fonctions des langages plus évolués, où le registre AX est masqué, la valeur de retour est mise dans une variable qui porte le nom de la fonction (et comme par hasard, la taille de cette valeur de retour est de la taille d'un entier, ou d'un pointeur, soit la taille de AX ou EAX).
 
Edit : Je m'aperçois que je me suis focalisé sur la huitième ligne, parce qu'elle apparait en rouge, mais en fait, c'est peut-être autre chose que tu ne comprends pas. Est-ce que c'est la huitième ligne ou une autre ligne qui pose problème ? Si c'est une autre, laquelle ?


Message édité par olivthill le 14-02-2006 à 15:48:27
n°1305436
tegu
Posté le 14-02-2006 à 16:54:09  profilanswer
 

Je pense que la fonction GetEnvironnement() renvoit la valeur de la variable d'environnement passée en second paramètre.
Comme le path du système par exemple. Ou des variables path d'un compilateur, etc.
D'une manière générale, sous Windows ça renvoit les valeurs de variables d'environnement définies par la commande SET, par exemple (ou l'interface idoine)


Message édité par tegu le 14-02-2006 à 16:56:44
n°1305635
olivthill
Posté le 14-02-2006 à 21:04:40  profilanswer
 

Oui, tu a raison tegu.
Cependant, je précise pour Jojik27 qu'il existe quatre types de variable d'environnement qui sont : system, user, process, et volatile.
Donc, il peut exister, par exemple, un PATH au niveau système, au niveau de l'utilisateur, etc. C'est pour cela qu'il faut procéder en deux étapes : 1. préciser dans quel contexte (system, user, ....), et 2. pour quelle variable d'environnement.

n°1305820
jojik27
Posté le 15-02-2006 à 10:08:05  profilanswer
 

Ba voilà merci beaucoup en fait j'avais besoin de comprendre cette fonction pour comprendre  
MAP "O", GetEnvironnement("USER","serv1" ) & "\user\" & Utilisateur
 
Le USER me bloquait, je savais pas que c'était une variable d'environnement comme tu as dit... donc le path de USER doit être définit préalablement alors?   Cela peut correspondre à quoi?  

n°1305826
olivthill
Posté le 15-02-2006 à 10:16:48  profilanswer
 

Dans l'exemple, il n'est pas question d'un "Path" (chemin par défaut), il est question d'une variable d'environnement nommée "serv1", définie dans l'environnement du user (de l'utilisateur, et non pas dans l'environnement du système). Je crois qu'avec les versions modernes de Windows, les variables d'environnement sont stockées dans la base de registre.

n°1305912
jojik27
Posté le 15-02-2006 à 11:21:52  profilanswer
 

...................MERCI !
Sérieux j'attends depuis une semaine l'aide du créateur de ce script pr qu'il m'explique... je mets un msg sur le forum...en 2/3 messages c'est réglé ! alors merci encore ... en espérant "réobtenir" ton aide pour un pb futur...  ++++   (c'était bien dans le registre ...)

n°1306866
jojik27
Posté le 16-02-2006 à 10:15:50  profilanswer
 

encor moi ^^
jai parlé un peu vite... le lecteur se conecte pour 1 user sUR 1 poste alors que c'est un script placé dans une stratégie de groupe ! jvois pas comment c'est possible !!  le script aurait fonctionné sur un seul pc ou que pour un user, ok! mais là un user sur un PC !... le script peut il être en cause avec une variable quelconque, une ligne oubliée.. etc ou cela n'a rien à voir?

n°1307723
pilosite
Posté le 17-02-2006 à 10:48:55  profilanswer
 

c'est un script lancé par GPO c'est ça?
 
je ne sais pas si ça répondra à ta question, mais le script s'éxecute dans ce cas dans le contexte de l'utilisateur c'est normal. Il est placé en tant que script machine ou utilisateur?


---------------
Envie de scripting ? Lisez donc "Scripting Windows" aux Editions Eyrolles ! tout pour apprendre le scripting orienté infrastructure Microsoft, en français dans les textes et exemples.  http://www.eyrolles.com/Informatiq [...] 212116922/
n°1307860
jojik27
Posté le 17-02-2006 à 12:02:47  profilanswer
 

IL est placé dans louverture de session de l'utilisateur. (appliqué pour utililsateur du domaine) or le script ne marche que sur un user sur un poste.. mystere.... Lorsque je me connecte avec un autre user ou avec celui qui marche mais sur autre machine >>"erreur nom de réseau introuvable" source "WSHNetwork.MapNetworkDrive" L.11 dans la fonction MAP :
 
 

Code :
  1. Map "G:",  GetEnvironnement("USER","SRV1" ) & "\user\" & Utilisateur
  2. function Map(drv,unc)
  3. dim er
  4. on error resume next
  5. 'err.clear
  6. 'WshNetwork.RemoveNetworkDrive drv
  7. 'er=err.number
  8. 'err.clear
  9. WshNetwork.MapNetworkDrive drv,unc
  10. er=err.number
  11. err.clear
  12. on error goto 0
  13. map=er
  14. end function


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide Explication script vbs (getenvironnement)

 

Sujets relatifs
[VB.Net] Application Pocket PC / Aideaide datagridview
aide !!!!!!!!!Texte d'aide
besoin d'aide pour périphériqueRelancer le service Apache2 via un script php
Aide SVP !! Affichage d'un nombre au hasardaide pour formulaire
[QST] Sur un script [RESOLU]Script style xt dump pou restaurer une BDD mysql ?
Plus de sujets relatifs à : Aide Explication script vbs (getenvironnement)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR