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

Windows 7 Discussion :

Variable d'environnement ProgramFiles


Sujet :

Windows 7

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut Variable d'environnement ProgramFiles
    Bonsoir,

    Je suis en train de mettre à jour mes scripts vbs pour des GPO en vue de les utiliser sur Seven.

    je me suis vite rendu compte que les différents répertoire d'installation étaient complexe à utiliser.... Histoire d'uniformiser mes scripts je souhaite utiliser les variables d'environnement windows...

    Mais après de nombreux tests, il y a quelques subtilité que je ne comprends pas. Par exemple quand on fait un code du genre (vbs):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim WshShell,FSO, WshNetwork, WshReg
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")
    
    
    Dim Repertoire
    Repertoire = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
    MsgBox(Repertoire)
    FSO.CreateFolder(Repertoire & "\DSI")
    MsgBox(Err.Number)
    il semblerait que le répertoire se créé... mais quand on recherche ce fameux répertoire il est introuvable (dans Programe, programData etc... x86) ni dans un quelconque sous répertoire local du profil utilisateur (ici admin simple).

    Quand on relance le script, windows nous informe gentiment que ce fichier existe déjà... donc lui il sait ou il se trouve (et ou il le met ce qui me rassure lol)...

    bref quelqu'un aurait il une explication ou une idée sur ce problème?

    D'avance merci

  2. #2
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    En faite il s'avère que cela fonctionne lorsqu'on lance avec le super admin... ce que je ne comprends pas c'est que des logiciels installés avec un compte admin standard arrivent tout de même à le faire...?

  3. #3
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Si ça peut te servir, j'avais écrit ceci il y a quelque temps :
    Citation Envoyé par shawn12 Voir le message
    Windows Vista intègre une nouvelle protection des dossiers et fichiers systèmes (nottament le dossier "Program files" ou "Programmes").

    Pour cela Vista utilise une sorte de principe de "virtualisation".

    Aucun utilisateur (compte limité ou admin) ne peut écrire dans les dossiers protégés de windows sans élévation de privilège.

    Afin d'éviter les problèmes de compatibilité que cela aurait pu générer, lorsqu'un programme (comme le tien) essaie d'écrire dans un répertoire protégé, Windows Vista ne provoque pas d'erreur et "simule" l'écriture du fichier dans program files/Ton Groupe/Ton programme/. En réalité, comme il est interdit d'y écrire réellement, il les stocke dans un "virtual store" situé dans "C:\Users\nom_utilisateur\AppData\Local\VirtualStore\Program Files\Ton groupe\Ton programme.".
    C'est pour cela que chaque utilisateur a un fichier différent.

    Tu peux d'ailleur le voir dans l'explorateur windows. Si tu va dans le dossier protégé dans lequel se situe ton fichier cfg, tu verra apparaitre un bouton "fichiers de compatibilité" qui te renverra vers le virtual store.

    Essaie d'écrire ton fichier config dans un répertoire partagé accessible à tous les utilisateurs (tu leur donne les droits) et qui ne soit pas protégé par windows

  4. #4
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    ça pourrait être en effet une bonne explication, je testerais ça demain au boulot.

    Cependant en lançant les scripts par la GPO le problème est réglé (c'est le compte admin du domaine donc du coup il a les droits). Mais pour ce qui est de futurs scripts locaux ou appli ... c'est bon a savoir

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

Discussions similaires

  1. utilisation de la variable d'environnement "ProgramFiles"
    Par arnaudperfect dans le forum VBScript
    Réponses: 2
    Dernier message: 26/11/2008, 16h24
  2. Variable environnement %ProgramFiles% et l' objet Run ?
    Par liocifer dans le forum VBScript
    Réponses: 4
    Dernier message: 22/06/2008, 20h49
  3. [BES] Création d'une variable d'environnement
    Par NGI80 dans le forum Autres
    Réponses: 2
    Dernier message: 17/10/2002, 08h31
  4. nom de fichier et variables d'environnement
    Par joebarthib dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2002, 16h21
  5. Réponses: 4
    Dernier message: 18/07/2002, 14h32

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