Recherche script de récupération

Résolu
Alexis973 -  
 Utilisateur anonyme -
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.

5 réponses

  1. Utilisateur anonyme
     
    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
  2. Alexis973
     
    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
  3. Utilisateur anonyme
     
    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
  4. Alexis973
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Tu peux essayer schtasks /query, ça devrait normalement tout renvoyer.
    0