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

Scripts/Batch Discussion :

Configurer un programme par défaut


Sujet :

Scripts/Batch

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Configurer un programme par défaut
    Bonjour,
    J'ai un script qui déploie Mozilla Firefox ESR sur tout un parc informatique...
    J'aimerais ajouter du code PowerShell qui permet de lui assigner toutes les valeurs par défaut (Panneau de configuration > Programmes par défaut > Définir les programmes par défaut > Firefox)
    car je n'ai pas trouvé d'option le permettant (via les fichiers \conf.ini, \browser\override.ini, \defaults\pref\local-settings.js, \mozilla.cfg)
    Savez-vous si cela est possible ? et bien sûr si oui... comment !???

    Merci d'avance !

  2. #2
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Bonjour à toi,

    Action à réaliser sur le profil utilisateur.
    Je te propose ceci :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Set-defaultBrowserFirefox {
      Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoice' -name ProgId FirefoxURL
      Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice' -name ProgId FirefoxURL
      Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice' -name ProgId FirefoxURL
    }

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Merci cerede2000 !
    Cela semble fonctionner correctement cependant cela n'est valable que pour l'utilisateur en cours...
    Est-il possible de faire la même chose pour tous les comptes locaux du poste ?
    et d'associer les extensions de fichiers HTM, HTML, etc...

  4. #4
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    D'ou ma précision :
    Action à réaliser sur le profil utilisateur.
    Je ne connais pas ton environnement mais il serais du coup largement plus judicieux si tu souhaites appliquer ça sur tout tes postes de faire une GPO/GPP pour définir cette partle là.
    Ça sera beaucoup plus simple à gérer et appliquer de manière automatique à l'ensemble des tes users

  5. #5
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    les postes ne sont pas dans un domaine...

  6. #6
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Pfffff ben la c'est galère à traiter.....
    Il faut faire un parcours des PC depuis une liste CSV par exemple, puis pour chaque PC, le script va lister les profils, mais il va devoir monter les ruches registres des users non connectés.....

    Belle rigolade en perspective

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par cerede2000 Voir le message
    mais il va devoir monter les ruches registres des users non connectés.....
    Un exemple via un outil externe :
    Code powershell : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
        try {
           Reg Save HKEY_CURRENT_USER\Environment C:\temp\RegistryHiveTest.hiv
           REG LOAD HKU\PowerShell_TEST C:\temp\RegistryHiveTest.hiv
           new-Psdrive -name Test -Psprovider Registry -root HKEY_USERS\PowerShell_Test
           cd Test:
           $key = Get-Item $pwd
           $values = Get-ItemProperty $key.PSPath
           $key.Property.GetEnumerator()|
             Foreach { 
               New-Object PSObject -Property @{
                 Path=$key.PSPath; 
                 Name="$_"; 
                 Value=$values."$_"
               }#Property 
             }|
             Replace-String @{"C:\\"="D:\"} -Property Value|
             Set-ItemProperty -name {$_.Name} -Whatif
         }#try
        finally 
         { 
           cd C:
           Remove-PSDrive Test
           key=$null;values=$null
          [GC]::Collect(GC]::MaxGeneration)
          REG UNLOAD HKU\PowerShell_TEST
        }#finally
    Le code n'est pas lié à ton besoin mais donne une piste pour une partie de ton traitement.
    L'usage d'un pc de test va sans dire et un backup de la ruche aussi :-)

  8. #8
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    cerede2000 : j'ai un "agent" sur chaque poste qui me donne un accès administrateur à distance...

    Laurent Dardenne : désolé je comprends rien à ton script et je ne vois pas comment je pourrais l'adapter à mes besoins.

  9. #9
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Et ton agent permet d’exécuter des scripts ?

    Ce qu'as donné Laurent Dardenne est exactement ce qu'il te faut, montage/demontage d'une ruche utilisateur.
    Donc il te reste à adapter pour parcourir la liste de profils qu'on peux trouver dans HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList

  10. #10
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Un autre moyen, qui est utilisé en packaging (MSI), est la mise en place d'un ActiveSetup, cela permet d’effectuer une personnalisation dans le profil utilisateur.
    On peut donc exécuter un script une seule fois à l'ouverture de chaque session avec les droits de l’utilisateur.

  11. #11
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Heu......
    Pour 3 valeurs registre à modifier, créé un package MSI et le mettre dans ActiveSetup tu n'as pas l'impression que c'est un peu surdimensionné ?

  12. #12
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Je ne souhaite pas créer un MSI, mais juste utiliser leur mécanisme.

    C'était une information supplémentaire pour aiguiller les recherches.

  13. #13
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Je comprends la démarche mais déjà Mozilla ne propose Firefox en MSI.
    Après on trouve des packages non officiels...

  14. #14
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Est tu d'accord que ce principe répond au besoin ?
    Exécuter un script une seule fois à l'ouverture de chaque session avec les droits de l’utilisateur.

  15. #15
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Pas un script justement....
    ActiveSetup c'est pour installer des applications !

    Pour lancer n'importe quoi juste une seule fois, à ce moment là on va plutôt utiliser le RunOnce

  16. #16
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Le RunOnce ne s'exécute qu'une fois c'est tout et pas une fois par utilisateur.
    Je pense qu'il utilise le compte utilisateur je ne sais plus.

    Pas d'accord
    ActiveSetup c'est pour installer des applications !

  17. #17
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Pas tout à fais justement, il est intéressant de connaitre les subtilité de la chose.....
    Il suffit de placer ce que tu veux dans le RunOnce du profil Default.
    Et à chaque nouveau profil qui sera créé alors le RunOnce sera exécuté la première fois !

    Le problème ici restera les profiles déjà existant certes, qui dans le cas de l'ActiveSetup serais traité en effet.

    On en revient au même, créé un package pour 3 valeurs à modifier....
    Il faut adapter au besoin c'est tout, une modifs des ruches registre n'est pas si complexe une fois qu'on à compris le mécanisme.

    Et si environnement AD, encore plus simple, une GPP et c'est terminé !

  18. #18
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Oui les nouveaux profil c'est la cas facile.
    Mais pourquoi veux tu absolument créer un package.

    Voici un exemple de mise en place d'un ActiveSetup personnalisé (pas plus compliqué qu'un RunOnce, mais sa répond au besoin des profils existant et des futurs):
    Registre :
    Créer une clé, 'script', dans 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components'
    Créer une chaine Version = 1
    Créer une chaine extensible = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NonInteractive -File "%ProgramData%\Script\Script.ps1"
    Fichier
    Copier le script devant s'exécuter à l'ouverture de session dans "%ProgramData%\Script\Script.ps1"

    Fonctionnement :
    A chaque ouverture de session, Windows vérifie si l'ActiveSetup à déjà été exécuté.
    Il vérifie si la chaine 'Version' dans la clé 'HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\Script' est existante ou si sa valeur est inférieur à la valeur de la chaine 'Version' de la clé 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\Script'
    Si c'est le cas il exécute la ligne contenue dans la valeur 'StubPath' de la clé 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\Script'

  19. #19
    Membre expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Points : 3 338
    Points
    3 338
    Par défaut
    Ah bon ça fonctionne ça ?!
    Et le PolicyExecution ne bloque pas le script ?

    Je suis très étonné !

  20. #20
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 201
    Points : 5 795
    Points
    5 795
    Par défaut
    Je préfère l'utilisation de l'ActiveSetup, le montage des ruches peut poser certains problèmes, certaines ruches peuvent être en cours d'utilisation (autre que celle de l'utilisateur courant) :
    Programme 'Exécuter en tant qu'autre utilisateur'
    Poste ayant plusieurs session ouverte
    Ruche pas (encore) déchargé...

Discussions similaires

  1. Polices et programme par défaut
    Par K20 dans le forum Langage
    Réponses: 14
    Dernier message: 20/10/2008, 12h13
  2. Réponses: 1
    Dernier message: 13/07/2007, 14h20
  3. Connaitre et modifier le programme par défaut
    Par bob1980 dans le forum Delphi
    Réponses: 3
    Dernier message: 23/05/2007, 10h50
  4. Configurer le chemin par défaut de recherche des images (balise <img src>)
    Par DJ Caësar 9114 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/03/2007, 08h00
  5. [Apache 2] Configurer le répertoire par défaut
    Par sylsau dans le forum Apache
    Réponses: 5
    Dernier message: 22/02/2006, 15h46

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