Liste des logiciels installés (par VBS) [Résolu]

cs_glad 97 Messages postés lundi 26 novembre 2001Date d'inscription 24 février 2012 Dernière intervention - 27 sept. 2010 à 15:26 - Dernière réponse : cs_glad 97 Messages postés lundi 26 novembre 2001Date d'inscription 24 février 2012 Dernière intervention
- 30 sept. 2010 à 13:10
Bonjour,

Je suis un peu perplexe, je viens de m'apercevoir que certains logiciels ne "remontaient" pas ds WMI via le script suivant :

    
Set WMI_ObjProps = WMI_Obj.ExecQuery("SELECT * FROM Win32_Product", , 48)
    For Each ObjClsItem In WMI_ObjProps
    WScript.echo ObjClsItem.name + "/"+ ObjClsItem.description + "/"+ ObjClsItem.caption  + "/"+ ObjClsItem.installlocation
    Next


C'est le cas par exemple de mozilla firefox.

J'ai écrit une suite de logiciel pour gérer le parc logiciel de manière automatisée et s'il me manque la moitié des logiciels, ça va pas le faire

Avez-vous des idées d'où ça peut provenir ?
Pour info, je suis utilisateur d'un domaine.

A+
Afficher la suite 

3 réponses

Répondre au sujet
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 30 sept. 2010 à 12:17
+3
Utile
Bonjour,
Essayez cela:

Set oShell = CreateObject("wscript.Shell")
Set env = oShell.environment("Process")
strComputer = env.Item("Computername")
Const HKEY_LOCAL_MACHINE = &H80000002
Const UnInstPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_
".\root\default:StdRegProv")
oReg.EnumKey HKEY_LOCAL_MACHINE, UnInstPath, arrSubKeys
software = "*******************************" & Now & "****************************" & vbCrLf
software = software & "*******************************Logiciels installés********************************" & vbCrLf
For Each subkey In arrSubKeys
        'MsgBox subkey
        If Left (subkey, 1) <> "{" Then
                software = software & subkey & vbCrLf
        End If
Next
software = software & "*********************************************************" & vbCrLf
 
Set fso = CreateObject("Scripting.FileSystemObject")
 
'Détermine si le fichier csv existe déjà ou s'il doit le créer
If Not fso.FileExists("inventaire " & strComputer & ".csv") Then
        set ts = fso.CreateTextFile("inventaire " & strComputer & ".csv", True)
Else
        set ts = fso.OpenTextFile("inventaire " & strComputer & ".csv", 2, True)
End If
 
ts.write software


Cela fonctionne chez moi
@+
Le Pivert
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Le Pivert
cs_glad 97 Messages postés lundi 26 novembre 2001Date d'inscription 24 février 2012 Dernière intervention - 30 sept. 2010 à 11:48
0
Utile
j'ai pas de succès avec ma question...

Vraiment aucune idée ?
Commenter la réponse de cs_glad
cs_glad 97 Messages postés lundi 26 novembre 2001Date d'inscription 24 février 2012 Dernière intervention - 30 sept. 2010 à 13:10
0
Utile
Ca marche !

Merci ...
Au passage voici ton code un peu revu :

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" &_
".\root\default:StdRegProv")
oReg.EnumKey HKEY_LOCAL_MACHINE, UnInstPath, arrSubKeys

For Each subkey In arrSubKeys
        	WScript.echo subkey & vbCrLf
        	tmp=WshShell.RegRead ("HKLM" & UnInstPath & subkey & "\DisplayName")
        	If tmp="" Then tmp=SubKey
        	f.Write(";Appl;" & tmp)
        	tmp=""
        	tmp=WshShell.RegRead ("HKLM" & UnInstPath & subkey & "\InstallDate")
        	f.Write(";ApplInstallDate;" & tmp)
        	tmp=""
        	tmp=WshShell.RegRead ("HKLM" & UnInstPath & SubKey & "\DisplayVersion")
        	f.writeline(";ApplVersion;" & tmp )
Next



A++
Commenter la réponse de cs_glad

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.