Bonjour à tous,
Est-il moyen d'obtenir, dans un fichier texte, la liste de tous les logiciels installés sur une machine ?
Ceci me permettrait de voir les différences sur mon parc windows de 30 PCs et me faciliterait la vie !
Merci à tous.
-----
Bonjour à tous,
Est-il moyen d'obtenir, dans un fichier texte, la liste de tous les logiciels installés sur une machine ?
Ceci me permettrait de voir les différences sur mon parc windows de 30 PCs et me faciliterait la vie !
Merci à tous.
Je pense (sans certitude) que cette liste est située dans la base de registre windows. Mais aucune idée concernant son emplacement précis.
Mais si tu veux la générer rapidement, faut te programmer un petit soft![]()
Bonjour
tu peux te servir de Hijackthis et de sa section Misc Tool
Ca ressemble à ça :
Lance HiJackThis, choisis Open the Misc tools sections, clique sur open Uninstall manager, clique sur Save list, enregistre le fichier et poste le rapport en pièce jointe dans ta prochaine réponse.
Voila qui devrait t'aider
Bonne journée
Bonsoir,
Merci pour vos réponses.
Je vais me diriger vers PowerShell. Je suis de culture intégriste-Libriste-Linuxien, mais je dois avouer que PowerShell a l'air pas mal du tout.
Je vous tiens au courant.
+
Hello,
Ca fonctionne très bien avec PowerShell. J'ai fait un script, tout à l'heure, au boulot. Je le posterai ici demain.
Depuis mon poste, je lance le script et 10 secondes plus tard, j'ai la liste de tous les logiciels installés sur le parc de 20 machines, c'est génial.
+
Voilà le bout de code. Il se lance depuis une console PowerShell 1.0.
En 10 secondes, je récupère, dans des fichiers séparés, la liste des applications installés sur les 17 Windows XP du parc.# This program is under GPL v3 or later
# author : XXXXXXXXXXXXX
# date of release : 2 sept 2008
# version : 0.0.1
#$HOSTNAMES = "H:\My Documents\PARC INFO\scripts\computers.txt"
#$OUTPUT = "H:\My Documents\PARC INFO\scripts\output"
clear-host
foreach ($HOSTNAME in Get-Content($HOSTNAMES))
{}Write-Host ("processing computer $HOSTNAME");
# fecth data on a computer :
$distant=[microsoft.win32.registrykey]::openremotebasekey("LOCALMACH INE",$HOSTNAME)
$val=$distant.opensubkey("SOFT WARE")
$val.GetSubKeyNames() > "output\$HOSTNAME-softares-list.txt"
$val.SubKeyCount
C'est vrai que ca a l'air pas trop mal ce powershell, ca manquait à Windows.
Sinon une question que je me pose, tu ne récupère que des infos dans le registres ? pas moyen de détecté les installation faites "à l'arrache" sur un poste ? (genre un logiciel qui n'écrit pas ds le registre, ...)
J'avais à une époque tenté de faire de même, le résultat c'était soldé par un scan de tous les executables et comparaisons à une base de connaissance. C'etait bourrin, c'était lent, mais au moins j'avais tous les logiciels![]()
Bonsoir,
Ca fait plaisir d'avoir des réponses/commentaires !
Effectivement, mon code tapes cash dans la base de registre. Ca a le mérite d'être IMMEDIAT, mais, comme tu le supposes, ça ne détecte pas les logiciels qui ne touchent pas à la base de registre.
Ta méthode est, c'est vrai, bourrin, mais comme tu le dis... elle permet de tout voir !
Et oui, PowerShell, ça manquait vraiment à Windaube. Je suis 100% GNU/Linux depuis 10 ans et je ne suis pas développeur. Mais j'ai réussi à pondre ce bout de code en 3 heures (en incluant la découverte de PowerShell). Le PowerShell, c'est vraiment très simple, mais malheureusement, il n'y a pas de doc. Le manque de doc est volontaire, c'est pour faire vendre des livres.
En Bash, sous GNU/Linux, ça aurait aussi été facile, de tout lister les programmes. Par exemple, un grand coup de "dpkg -l > $output" et hop, on a tout !
+
Bof, tu es aussi confronté aux logiciels installés à partir des sources, et la pareil, la meme recherche bien lente (mais plus facile que sous windows sans PowerShellEn Bash, sous GNU/Linux, ça aurait aussi été facile, de tout lister les programmes. Par exemple, un grand coup de "dpkg -l > $output" et hop, on a tout !)
Par contre la syntaxe de PS à l'air un peu plus sympa (niveau programmation) que le bash. Mais un peu plus longue à écrire.