0

Le même programme compilé .Net/C++/Com fait des choses différentes sur deux ordinateurs apparemment identiques. Les deux ont des dizaines de choses installées sur eux. Je voudrais comprendre quelle est la différence entre les deux en regardant un diff ASCII. Avant cela, j'ai besoin de "sérialiser" la liste des choses installées dans un format lisible - trié par ordre alphabétique + un élément par ligne.Recherche d'un script/outil pour vider une liste de fonctions et de programmes installés sur Windows Server 2008 R2

Un script Python serait idéal, mais j'ai également Perl, PowerShell installé.

Merci.

+0

Voir http://stackoverflow.com/questions/802499/how-can-i-enumerate-list-all-installed-applications-in-windows-xp http: // stackoverflow.com/questions/908850/get-installé-applications-dans-un-système http://stackoverflow.com/questions/1603455/in-c-net-2-0-or-greater-how-to-get-list -of-all-installed-applications-on-vista et http://stackoverflow.com/questions/2246768/finding-all-installed-applications-with-powershell – Helen

Répondre

1

Vous pouvez obtenir la liste des programmes installés à partir du registre. Il est sous HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall

Si cela est un exercice une fois sur vous pouvez même pas besoin d'écrire de code - pour exporter la clé d'un fichier .reg il suffit d'utiliser Regedit. Si vous voulez l'automatiser, Python fournit le module _ winreg pour l'accès au registre.

+0

Vous pouvez également utiliser un simple script PowerShell pour le faire, Quelque chose like (Get-Item $ RegPath) .Property peut être utile ici. –

1

Il existe deux outils de Microsoft qui peuvent être ce dont vous avez besoin: RegDump et RegDiff. Vous pouvez les télécharger à partir de various places, y compris dans le cadre du Microsoft Vista Logo Testing Toolkit.

En outre, il existe l'article de support Microsoft How to Use WinDiff to Compare Registry Files.

Pour une façon Pythonic, here est une recette ActiveState pour obtenir une sortie formatée de toutes les sous-clés pour une clé particulière (HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall par exemple).

1

Personnellement j'ai toujours aimé les trucs de Sysinternals (powerfull, de la lumière, des outils réels - pas besoin d'installer)

Il est un outil de ligne de commande psinfo qui peut vous obtenir ce que vous voulez (et puis certains) dans différents formats, distinguer les correctifs et les logiciels installés, sur un ordinateur local ou distant (en fournissant les politiques du système le permettent sur la télécommande).

Vous pouvez également l'exécuter en direct à partir de here, donc si ce n'est pas strictement pythonien, vous pouvez le brancher assez bien.

1

Taken de List installed software from the command line:

Si vous voulez la liste des logiciels connus pour Windows Management Instrumentation (WMI) à partir de la ligne de commande, utilisez la commande WMI ligne d'interface (WMIC).

Pour répertorier tous les produits installés localement, exécutez la commande suivante :

wmic product

caveat: Il semble que cette commande seul logiciel de liste installé par Windows Installer. Voir Win32_Product class