Script VBS listing applications/logiciels installés
Bonjour à tous,
Je suis nouveau sur ce forum et j'aurai besoin de votre aide.
Je ne suis pas un développeur et n'y connais pas grand chose en scripting.
Récemment on m'a demandé dans ma société de lister l'ensemble des applications/logiciels installés sur le réseau.
J'ai essayé de trouver des logiciels d'inventaire gratuit car ils ne veulent pas de logiciels d'inventaire payant mais je n'en suis pas satisfait.
Je me tourne donc vers le scripting VBS.
Connaitriez-vous un script qui permet de lister les applications/logiciels installés sur des machines dans un domaine avec plusieurs sous-réseaux.
Par exemple au lancement le script me demandrait quel sous-réseaux je veux attaquer et avec quel compte se connecter aux machines distantes et par la suite me mettrai cela dans un fichier excel avec comme colonne "nom de la machine, nom appli, version, serial du logiciel"
Merci de votre retour
Inventaire dans un fichier CSV pour une machine locale
Citation:
Envoyé par
vince91170
Bonjour à tous,
Je suis nouveau sur ce forum et j'aurai besoin de votre aide.
Je ne suis pas un développeur et n'y connais pas grand chose en scripting.
Récemment on m'a demandé dans ma société de lister l'ensemble des applications/logiciels installés sur le réseau.
J'ai essayé de trouver des logiciels d'inventaire gratuit car ils ne veulent pas de logiciels d'inventaire payant mais je n'en suis pas satisfait.
Je me tourne donc vers le scripting VBS.
Connaitriez-vous un script qui permet de lister les applications/logiciels installés sur des machines dans un domaine avec plusieurs sous-réseaux.
Par exemple au lancement le script me demandrait quel sous-réseaux je veux attaquer et avec quel compte se connecter aux machines distantes et par la suite me mettrai cela dans un fichier excel avec comme colonne "nom de la machine, nom appli, version, serial du logiciel"
Merci de votre retour
Salut ;) Bon j'ai ce script pour une machine locale qui donne son inventaire dans un fichier CSV avec ses applications installées!
Donc inspire-toi de ce script pour le moment qui lui manque la partie réseau :zoubi:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Function inventaire
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
inventaire=software
call Explorer("Inventaire " & strComputer & ".csv")
end function
Function Explorer(File)
' Ouverture du Dossier par l'explorateur windows
If Err.Number = vbEmpty Then
Set objShell = CreateObject("WScript.Shell")
objShell.Run ("Explorer" & " " & File & "\")
Else
MsgBox "VBScript Error: " & Error(Err.Number)
End If
end Function
Call inventaire |