Recherche script de récupération

Résolu/Fermé
Alexis973 - 22 mars 2010 à 23:28
 Utilisateur anonyme - 29 mars 2010 à 12:22
Bonjour,

Je recherche un script permettant de récupérer le nom et la version des logiciels installés sur une machine pour ensuite référencer ces informations dans une base de données.

Quelqu'un pourrait-il m'aider?

Merci d'avance.
A voir également:

5 réponses

Utilisateur anonyme
22 mars 2010 à 23:32
Salut,

Il y a plusieurs méthodes, mais la plus fiable à mon sens est d'aller récupérer les infos directement dans la registry. Le script qui sait faire ça est ici :

https://ss64.com/nt/installed.txt

Tu peux très facilement rediriger les résultats vers un fichier texte ou .csv

0
Merci de ton aide BugCrusher.

Pourrais-tu m'expliquer comment faire pour rediriger les résultats dans un fichier .csv? (Je t'avou que je ne suis pas un expert en développement)

Merci d'avance
0
Utilisateur anonyme
23 mars 2010 à 14:14
Voilà ce qui arrive quand on ne teste pas les liens qu'on donne... Te bile pas, le script ne fonctionne pas. En revanche, celui qui suit, il est testé et approuvé :o)

Il te génère un fichier texte avec les applis installées. Deux choses à savoir :

1. Le gazier a mis le point d'interrogation à l'envers comme séparateur, mais tu peux le remplacer par ce que tu veux (facile à trouver dans le code).

2. Le fichier texte est créé à la racine de ton disque C: avec comme nom le nom de ton PC.txt Tu peux changer le chemin, m'enfin bon, au moins comme ça c'est pas dur à trouver :o)


Voilà le code :


-------------------------------------------------------


on error resume next

Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\" & strcomputer & ".txt", True)

strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry1a = "DisplayName"
strEntry1b = "QuietDisplayName"

Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey, arrSubkeys

For Each strSubkey In arrSubkeys
intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _
strEntry1a, strValue1)
If intRet1 <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry1b, strValue1
End If
If strValue1 <> "" Then
objTextFile.WriteLine strValue1 & "¿ " & strcomputer & "¿"
End If
Next

strKey2 = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry2a = "DisplayName"
strEntry2b = "QuietDisplayName"

Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey2, arrSubkeys

For Each strSubkey In arrSubkeys
intRet2 = objReg.GetStringValue(HKLM, strKey2 & strSubkey, _
strEntry2a, strValue2)
If intRet2 <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry2b, strValue2
End If
If strValue2 <> "" Then
objTextFile.WriteLine strValue2 & "¿ " & strcomputer & "¿"
End If
Next

objTextFile.Close
0
Merci pour ton aide.

Connaitrais-tu également un moyen de récupérer une liste des tâches planifiées dans un fichier texte.

J'ai essayé avec la commande suivante "at > taches.txt" mais il ne renvoi pas toutes les taches...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
29 mars 2010 à 12:22
Tu peux essayer schtasks /query, ça devrait normalement tout renvoyer.
0