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
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