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 :

Liste logiciels 32/64 bits [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Octobre 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2016
    Messages : 65
    Par défaut Liste logiciels 32/64 bits
    Salut à tous,

    J'aurais besoin de votre aide pour compléter mon script qui chercher si un logiciel existe depuis mon fichier texte qui contient le nom des logiciels.
    Mon script fonctionne actuellement que pour les logiciels 32 bits ce qui donne :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $srclogi = "monchemin\srclogi.txt"
        foreach($logi in $srclogi){
            If (Get-WmiObject -Class Win32_Product -ComputerName $name -Filter "name='$logi'"){
                write-host "Le logiciel $logi est installé sur la machine $name"
            } else {
                write-host "Le logiciel $logi n'est pas installé sur la machine $name"
            }    
        }

    J'ai trouvé cette commande la qui me liste tous les logiciels présent sur la machine, 32 et 64 bits mais je n'arrive pas à l'utiliser de la même manière que mon script ci-dessus.
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | ? {![string]::IsNullOrWhiteSpace($_.DisplayName) } | select DisplayName

    Merci

    Alexis

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Bonjour,

    Microsoft déconseille l'appel de la classe WMI Win32_Product.
    https://support.microsoft.com/en-us/...d-applications
    J'ai moi même constaté des effets de bord indésirables.

    Je te propose d'utiliser la commande comme ceci :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $apps = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {![string]::IsNullOrWhiteSpace($_.DisplayName) } | Select-Object -ExpandProperty DisplayName -Unique
    foreach($logi in $srclogi)
    {
        If ($apps -contains $logi)
        {
            Write-Host "Le logiciel $logi est installé sur la machine $name"
        }
        else
        {
            Write-Host "Le logiciel $logi n'est pas installé sur la machine $name"
        }    
    }

    PS : Je "n'aime pas" les alias dans les scripts, je l'ai ai donc modifiés

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Octobre 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2016
    Messages : 65
    Par défaut
    Bonjour,

    Juste ce dont j'avais besoin. Merci

    Qu'entendez-vous par "Alias" ?

    Encore merci

    Alexis

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Les alias sont des commandes plus courte, taper "Get-Alias" pour obtenir la liste.

    gp est un alias pour la commande "Get-ItemProperty".

    Je trouve la commande plus lisible et compréhensible que l'alias.
    Sans parler que Microsoft ne garantie pas les alias et que nous pouvons les modifier nous même (je suppose).

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Octobre 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2016
    Messages : 65
    Par défaut
    Ah oui, comme pour le "?" qui remplace "Where-Object"

    C'est vrai que c'est plus clair sans l'alias, après c'est des bouts de script que je trouve à droite à gauche et que je remet à ma sauce donc je ne comprend pas encore tout ^^'

    Encore un grand merci pour votre aide.

    Alexis

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

Discussions similaires

  1. [WS 2008] Logiciel Onduleur 64 bits
    Par kersmit76 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 17/07/2009, 09h29
  2. Réponses: 18
    Dernier message: 17/01/2008, 11h54
  3. Réponses: 5
    Dernier message: 10/07/2006, 18h11
  4. Liste des logiciels installés
    Par Civodul4 dans le forum Windows
    Réponses: 4
    Dernier message: 06/10/2004, 14h51
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

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