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 :

Installation logiciel .exe


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Installation logiciel .exe
    Bonjour à tous,

    Je dois me lancer et créer un script pour ma société qui permet d'installer des logiciels s'ils ne sont pas présents, via GPO.

    J'ai donc bidouillé pour créer ce code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $ListeProgrammes=Get-WmiObject -Class Win32_Product | Select-Object -Property Name
    $ListeProgrammesD=gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |Select DisplayName, DisplayVersion, Publisher, InstallDate, HelpLink, UninstallString
    
    
    if ($ListeProgrammes -match "CCleaner") {
    	"CCleaner est installé"
    } elseif ($ListeProgrammesD -match "CCleaner") {
    	"CCleaner est installé"
    } else {
    	"CCleaner n'est pas présent, installation en cours"
    	$Path="K:\Install\prog"
    	$Parametre ="/S EULA_ACCEPT=YES /L=1036"
    	$Executable="$Path\ccsetup406.exe"
    	start-process $Executable $Parametre 
    }
    
    if ($ListeProgrammes -match "Adobe Reader") {
    	"Adobe Reader est installé"
    } elseif ($ListeProgrammesD -match "Adobe Reader") {
    	"Adobe Reader est installé"
    } else {
    	"Adobe Reader n'est pas présent, installation en cours"
    	$Path="K:\Install\prog"
    	$Parametre ="/msi EULA_ACCEPT=YES /qn"
    	$Executable="$Path\AdbeRdr11001_fr_FR.exe"
    	start-process $Executable $Parametre 
    }
    Pas de soucis pour le $Path, il est ok, le K est mappé sur tous les postes.

    Le script fonctionne lorsque je l'exécute depuis powershell...

    Plusieurs soucis se posent alors, sur lesquels je sèche pas mal...

    • Quel moyen de vérifier la présence d'un soft plus rapide que ce que je fais?
    • Comment procéder aux installations alors que les utilisateurs n'ont aucun droit administrateur sur leur poste?
    • EULA_ACCEPT=YES ne devrait-il pas nous permettre d'esquiver la demande de l'UAC? Edit : Au temps pour moi, j'ai vu que c'était l'accord de licence.



    Merci par avance pour l'aide que vous pourrez m'apporter

    xakan.

  2. #2
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut lister les logiciels installés
    Je pense que tu peux le faire avec un que tu peux mettre dans une variable. Il faudra y renseigner l'ID (et mdp) autorisé à faire la manip.
    Tu ajouteras ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     -Credential $NomDeTaVariable
    à ton qui utilisera l'ID que tu as renseigné précédemment.

    Sinon, tes 2 commandes suivantes prennent du temps à s’exécuter la première fois seulement car il doit charger les modules correspondant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Get-WmiObject -Class Win32_Product | Select-Object -Property Name
    gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |Select DisplayName, DisplayVersion, Publisher, InstallDate, HelpLink, UninstallString
    D'après moi, la première commande suffit. Elle remonte plus de d'objets (dans mon cas 81, et la 2e 55). Vous pouvez ajouter un à la fin des commandes pour savoir combien de résultats les commandes vous remontent. Si quelqu'un affirme avoir eu des cas où le logiciel n'a été remonté que par la 2e commande, je veux bien le savoir
    Je ne connais pas de commandes plus rapides qui font la même chose.

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Et moi qui nous trouvais archaïque dans notre entreprise 😁

    La classe win32_product est déconseillée par Microsoft et par moi-même de par mon expérience personnelle.
    https://blogs.technet.microsoft.com/...icy-filtering/

    98% des applis seront remontés par les deux commandes, j'ignore volontairement les problèmes plus complexe de contexte d'installation user vs machine et clés de registres 32/64 (émulation via le wow).

    Personnelle j'utilise les clés j'installe et les API/com MSI (Windows installer)

    Les gpo peuvent être exécuté avec les droits "system" permettant les installations.

    Le "system" n'a pas de uac.

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ok, donc si je comprends bien, ces deux commandes seraient plus appropriées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | select-object DisplayName, DisplayVersion, Publisher, InstallDate, UninstallString
    Get-ItemProperty HKLM:\SOFTWARE\Wow6432node\Microsoft\Windows\CurrentVersion\Uninstall\* | select-object DisplayName, DisplayVersion, Publisher, InstallDate, UninstallString
    La première pour lister les logiciels qui correspondent à l'architecture native,
    La deuxième pour lister les logiciels 32 bits installés sur les systèmes 64 bits.
    Mais tu disais que ça ne trouve que 98% des logiciels (c'est déjà pas mal!). Sais-tu comment je peux trouver les 2% restants via une commande?

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je pense que cette méthode est suffisante/rapide et fiable.

    Sinon pour l'utilisation de l'objet installer voir ici :
    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    Tu as aussi la cle HKEY_CLASSES_ROOT\Installer\Products
    qui peut être intéressante, à voir.
    Ce sont les packages de type MSI qui ajoutent des informations.

Discussions similaires

  1. Comment installer notre .exe sans installer CR ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 113
    Dernier message: 01/09/2008, 15h10
  2. [BACKTRACK] installation logiciel amsn
    Par bruno82 dans le forum Autres
    Réponses: 2
    Dernier message: 10/06/2007, 12h25
  3. [BO 5.1.8][INSTALL]Logiciels nécessaires pour faire tourner BO ?
    Par scalpa63 dans le forum Administration-Migration
    Réponses: 6
    Dernier message: 20/02/2007, 10h51
  4. installation logiciel win2000
    Par djibril dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 07/09/2006, 17h52
  5. installation logiciel ?
    Par donny dans le forum Autres Logiciels
    Réponses: 16
    Dernier message: 13/07/2006, 11h51

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