Inventaire d'un ordinateur avec windows xp/2003

Description

Le script VBS fait un résumé complet du matériel et des logiciels installés sur l'ordinateur dans un fichier texte portant le nom de votre ordinateur.

Source / Exemple :


'------------------------------------------------------------------------------
'Ce script est composé de 30 à 40 % du script MemProcDiskInventory.vbs de
'de Mark D. MacLachlan de ITSynergy.
'
'Le reste est ajouté par moi-même afin d'avoir plus de fonctions.
'Auteur: Mathieu Demers (http://www.mathieudemers.com)
'Dates: 1er au 2 avril 2005
'But: Faire un inventaire complet de l'ordinateur, soit:
'       - Du matériel installé
'       - Des périphériques installés
'       - Des logiciels installés
'       - De certaines configurations
'       - De faire certaines recommandations
'
'Le résultat de la vérification aboutit dans un fichier texte appelé
'       inventaireNOMDELORDINATEUR.txt
'------------------------------------------------------------------------------
on error resume Next

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

report = report & "******************************************" & vbCrLf
report = report & " - Inventaire de l'ordinateur " & strComputer & " - " & vbCrLf
report = report & "******************************************" & vbCrLf & vbCrLf
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)

report = report & vbCrLf & "******************************************" & vbCrLf
report = report & "Informations sur Windows" & vbCrLf & "******************************************" & vbCrLf

For Each objItem in colItems
    report = report &  "- Nom du poste: " & strComputer  & vbCrLf
    report = report &  "- Description de l'ordinateur: " & objItem.Description & vbCrLf
    report = report &  "- Utilisateur possédant la licence Windows: " & objItem.RegisteredUser & vbCrLf
    report = report &  "- Organisation possédant la licence Windows: " & objItem.Organization & vbCrLf
    report = report & "******************************************" & vbCrLf
    report = report &  "- Nom du système d'exploitation: " & objItem.Caption & vbCrLf
    If (objItem.OSProductSuite <> "")Then
        report = report &  "- Système d'exploitation de la suite " & objItem.OSProductSuite & vbCrLf
    End If
    report = report &  "- Version: " & objItem.Version & vbCrLf
    report = report &  "- Date de son installation: " & objItem.InstallDate & vbCrLf
    report = report &  "- Numéro de série de " & objItem.Caption & ": " & objItem.SerialNumber & vbCrLf
    report = report & vbCrLf
    report = report & "******************************************" & vbCrLf
    report = report & "Détails techniques sur Windows"& vbCrlf
    report = report & "******************************************" & vbCrLf
    report = report &  "- Numéro du dernier Service Pack majeur installé: "
    report = report & objItem.ServicePackMajorVersion & vbCrLf
    If (objItem.ServicePackMinorVersion<>0) AND (objItem.ServicePackMinorVersion<>"") Then
        report = report &  "- Numéro du dernier Service Pack mineur installé: " & objItem.ServicePackMinorVersion & vbCrLf
    End If
    report = report &  "- - - - - -" & vbCrLf
    report = report &  "Les Service Pack et les mises-à-jour de sécurité de Windows sont disponibles sur:" & vbCrLf
    report = report &  "===> http://windowsupdate.microsoft.com <===" & vbCrLf
    report = report &  "- - - - - -" & vbCrLf & vbCrLf
    'report = report &  "- Emplacements du système d'exploitation sur l'ordinateur: " & vbCrLf & objItem.Name & vbCrLf
    report = report &  "- Répertoire où Windows est installé: " & objItem.WindowsDirectory & vbCrLf
    report = report &  "- Niveau d'encryption des données: " & objItem.EncryptionLevel & " bits" & vbCrLf
    If (objItem.MaxNumberOfProcesses="-1") Then
        report = report &  "- Maximum de processus pouvant être ouvert: Aucune limite fixée" & vbCrLf
    Else
        report = report &  "- Maximum de processus pouvant être ouvert: " & objItem.MaxNumberOfProcesses & vbCrLf
    End If
Next

Set colBaseBoards =  objWMIService.ExecQuery _
    ("Select * from Win32_BaseBoard")
report = report & vbCrLf & "******************************************" & vbCrLf
report = report & "Carte-mère" & vbCrLf & "******************************************" & vbCrLf

For Each objBaseBoard in colBaseBoards

        report = report & "- Nom: " & objBaseBoard.Name & vbCrLf
        report = report & "- Modèle: " & objBaseBoard.Model & vbCrLf
        report = report & "- Manufacturier: " & objBaseBoard.Manufacturer & vbCrLf
        report = report & "- Numéro de série: " & objBaseBoard.SerialNumber & vbCrLf
        report = report & "- Numéro d'inventaire (SKU): " & objBaseBoard.SKU & vbCrLf
        report = report & vbCrLf
Next

Conclusion :


Le script prend normalement une à deux minutes avant de créer le fichier texte et de se terminer.

Codes Sources

A voir également

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.