IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

VBS pour identification poste


Sujet :

VBScript

  1. #1
    Invité
    Invité(e)
    Par défaut VBS pour identification poste
    bonjour a tous
    je suis débutant et un j'ai trouvé un script pour identifier les postes informatiques
    NOM, NUMERO DE SERIE, RESEAU ETC ....

    mais j'ai du modifier quelques chose et le script me met une erreur ligne 1 caractère incorrecte 1 >> erreur 800A0408
    si un spécialiste peut m'aider

    merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
     
    Dim objNetwork, objDrive, intDrive, intNetLetter 
     
    Dim FSO, ObjFile, WshNetwork, SrtNewText, strText
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    Set WshNetwork = WScript.CreateObject("WScript.Network")
     
    Set objShell = CreateObject("WScript.Shell")
     
     
     
    hostname = WshNetwork.computername
     
    username = WshNetwork.username
     
    domainname = WshNetwork.UserDomain
     
     
     
     
     
     
     
    '==========================================================================
     
    'mettez ici l'emplacement du dossier dans lequel sera enregistrer le rapport
     
    'si ce dossier n'existe pas, il sera crée
     
    path = ""
     
     
     
    'sharename = "logs_"&username&""
     
     
     
    If  objFSO.FolderExists (""&path&"") Then
     
      Else
     
    Set objFolder = objFSO.CreateFolder (""&path&"")
     
    End If
     
     
     
    'save softwares configuration In a txt file
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    Set objTextFile = objFSO.CreateTextFile(""&path&""& hostname & " - "&username&".txt", True)
     
    filepath = ""&path&""& hostname & " - "&username&".txt"
     
    objTextFile.WriteLine ""&VbCrLf&"=========================================================================="
     
    objTextFile.WriteLine "==      script pour identification matériel                    =="
     
    objTextFile.WriteLine "=========================================================================="&VbCrLf&""
     
    '==========================================================================
     
    'INFOS GENERALES (Nom du poste, nom de l'utilisateur actuel)
     
    '==========================================================================
     
    objTextFile.WriteLine "== GENERAL =========================================================="&VbCrLf&""
     
    objTextFile.WriteLine "Nom du poste : "& hostname &""
     
    Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
     
     
    Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
     
     
    For Each objItem in colItems
     
        strComputerDomain = objItem.Domain
     
        If objItem.PartOfDomain Then
     
            objTextFile.WriteLine "Domaine : " & strComputerDomain
     
        Else
     
            objTextFile.WriteLine "Workgroup : " & strComputerDomain
     
        End If
     
    objTextFile.WriteLine "Marque : " & objItem.Manufacturer
     
    objTextFile.WriteLine "Modele : " & objItem.Model
     
    Next
     
    Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_BIOS")
     
    for each SN in SNSet
     
    objTextFile.WriteLine "Serial : " & SN.SerialNumber
     
    Next
     
    objTextFile.WriteLine
     
     
     
    '==========================================================================
     
    'INFOS SYSTEME 
     
    '==========================================================================
     
    objTextFile.WriteLine "== SYSTEME EXPLOITATION ============================================="&VbCrLf&""
     
     
     
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
     
     
     
    strComputer = "."
     
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
     
     
    Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
     
     
     
    For Each objOperatingSystem in colOperatingSystems
     
     
     
        objTextFile.WriteLine "OS : " & objOperatingSystem.Caption
     
        objTextFile.WriteLine "Version: " & objOperatingSystem.Version 
     
        objTextFile.WriteLine "Service Pack : " & objOperatingSystem.ServicePackMajorVersion
     
        objTextFile.WriteLine "Numero Serie : " & objOperatingSystem.SerialNumber
     
        objTextFile.WriteLine "Type Version : " & objOperatingSystem.BuildType
     
        dtmConvertedDate.Value = objOperatingSystem.InstallDate
     
        dtmInstallDate = dtmConvertedDate.GetVarDate
     
        objTextFile.WriteLine "Date d'Installation : " & dtmInstallDate 
     
    	objTextFile.WriteLine
     
    Next
     
     
     
     
     
    '==========================================================================
     
    'RESEAU
     
    '==========================================================================
     
    objTextFile.WriteLine ""&VbCrLf&"== RESEAU ==========================================================="&VbCrLf&""
     
    Set colNicConfigs = objWMIService.ExecQuery ("Select * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
     
     
     
     
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
     
     
    Set colAdapters = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
     
     
    n = 1
     
    objTextFile.WriteLine
     
     
     
    For Each objAdapter in colAdapters
     
      objTextFile.WriteLine "Carte Reseau - " & objAdapter.Description
     
      objTextFile.WriteLine "  Adresse MAC : " & vbTab & objAdapter.MACAddress
     
      If Not IsNull(objAdapter.IPAddress) Then
    		if objAdapter.DHCPEnabled = True Then
    			objTextFile.WriteLine "  DHCP : " &vbTab & vbTab & "DHCP activé" 
    		Else
    			objTextFile.WriteLine "  DHCP : " &vbTab & vbTab & "DHCP désactivé" 
     
    			objTextFile.WriteLine "  L'adresse IP suivante est indicative, merci d'indiquer une adresse IP disponible differente de l'adresse affichee " 
     
     
     
    			If Not IsNull(objAdapter.IPAddress) Then
     
    			  For i = 0 To UBound(objAdapter.IPAddress)
     
    				 objTextFile.WriteLine "  Adresse IP : " &vbTab & vbTab & objAdapter.IPAddress(i)
     
    			  Next
     
    			End If
     
     
     
    			If Not IsNull(objAdapter.IPSubnet) Then
     
    			  For i = 0 To UBound(objAdapter.IPSubnet)
     
    				 objTextFile.WriteLine "  Sous Reseau: " &vbTab & vbTab & objAdapter.IPSubnet(i)
     
    			  Next
     
    			End If
     
     
     
    			If Not IsNull(objAdapter.DefaultIPGateway) Then
     
    			  For i = 0 To UBound(objAdapter.DefaultIPGateway)
     
    				 objTextFile.WriteLine "  Passerelle : " &vbTab & vbTab & objAdapter.DefaultIPGateway(i)
     
    			  Next
     
    			End If
     
     
     
    			If IsNull(objAdapter.DefaultIPGateway) Then
     
    				objTextFile.WriteLine
     
    					objTextFile.WriteLine "  Pas de DNS Specifie"
     
    			Else
     
     
     
    				If Not IsNull(objAdapter.DNSServerSearchOrder) Then
     
    					For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
     
    						objTextFile.WriteLine "  DNS : " &vbTab  &vbTab & objAdapter.DNSServerSearchOrder(i)
     
    					Next
     
    				End If
     
     
     
    				objTextFile.WriteLine "  Domaine DNS : " & objAdapter.DNSDomain
     
     
     
    				If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
     
    					For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
     
    						objTextFile.WriteLine "    Liste de recherche suffixe DNS : " & objAdapter.DNSDomainSuffixSearchOrder(i)
     
    					Next
     
    				End If
     
    			End If
    			' Configuration WINS
     
    			 If IsNull(objAdapter.WINSPrimaryServer) And IsNull(objAdapter.WINSSecondaryServer) Then
     
    				  objTextFile.WriteLine
     
    				   objTextFile.WriteLine "Pas de WINS specifié"
     
    					objTextFile.WriteLine
     
    			Else
     
    				   objTextFile.WriteLine "  WINS"
     
    				   objTextFile.WriteLine "  ----"
     
    				   objTextFile.WriteLine "    Serveur WINS Primaire :   " & objAdapter.WINSPrimaryServer
     
    				   objTextFile.WriteLine "    Serveur WINS Secondaire : " & objAdapter.WINSSecondaryServer
     
    			 End If			
     
    		End If
    	End if
     
      n = n + 1 
     
    Next
     
    const HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
     
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
    strValueName = "ProxyServer"
    strproxyactif = "ProxyEnable"
     
    oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strproxyactif,dwValue_test
     
    if dwValue_test = 1 then
     
    	objTextFile.WriteLine "  Serveur Proxy actif. " &vbTab & "SERVEUR PROXY Activé"
    	oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
    	objTextFile.WriteLine " Adresse du Serveur proxy : " &vbTab & dwValue
    Else
    	objTextFile.WriteLine "  Proxy inactif : " &vbTab  & "PAS DE SERVEUR PROXY"
     
    End if
     
     
    Function WMIDateStringToDate(utcDate)
     
       WMIDateStringToDate = CDate(Mid(utcDate, 5, 2)  & "/" & Mid(utcDate, 7, 2)  & "/" & Left(utcDate, 4)    & " " & Mid (utcDate, 9, 2) & ":" & Mid(utcDate, 11, 2) & ":" & Mid(utcDate, 13, 2))
     
    End Function
     
     
     
    objTextFile.WriteLine ""&VbCrLf&"=========================================================================="
     
    objTextFile.WriteLine "==                       File saved @ "&Now&"               =="
     
    objTextFile.WriteLine "=========================================================================="&VbCrLf&""
     
     
     
    objTextFile.close
     
    WScript.Quit(1)

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    En lisant ton code en diagonale, donc pas tout vérifié ligne 32 à 46
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    path = ""
    'sharename = "logs_"&username&""
    If  objFSO.FolderExists (""&path&"") Then
     
      Else
     
    Set objFolder = objFSO.CreateFolder (""&path&"")
     
    End If
    Tu as ta variable path = "" puis If objFSO.FolderExists (""&path&"").
    Forcement le dossier ne risque pas d'exister
    Donc passage au Else, Set objFolder = objFSO.CreateFolder (""&path&""), path étant vide, tu ne risque pas de créer un dossier ayant pour nom ..... RIEN, soit objFSO l'accepte et le nomme "Nouveau dossier" soit ton erreur se situe à cette ligne.

    ligne 54, création d'un fichier: Set objTextFile = objFSO.CreateTextFile(""&path&""& hostname & " - "&username&".txt", True), as tu vérifié se que donnait ce chemin nom de fichier? msgbox ""&path&""& hostname & " - "&username&".txt".
    Pour le reste on pourra continuer suivant ta/tes réponses.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Invité
    Invité(e)
    Par défaut
    j'ai fait la modification mais j'ai la meme erreur je te mets le message en pj

    Nom : Capture.JPG
Affichages : 592
Taille : 20,0 Ko


    la seule ligne que j'ai modifié c'est la ligne 61 > script pour identification matériel ca n'a pas d'importance ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
     
     
    Dim objNetwork, objDrive, intDrive, intNetLetter 
     
    Dim FSO, ObjFile, WshNetwork, SrtNewText, strText
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    Set WshNetwork = WScript.CreateObject("WScript.Network")
     
    Set objShell = CreateObject("WScript.Shell")
     
     
     
    hostname = WshNetwork.computername
     
    username = WshNetwork.username
     
    domainname = WshNetwork.UserDomain
     
     
     
     
     
     
     
    '==========================================================================
     
    'mettez ici l'emplacement du dossier dans lequel sera enregistrer le rapport
     
    'si ce dossier n'existe pas, il sera crée
     
    path = "C:\Infos"
     
     
     
    'sharename = "logs_"&username&""
     
     
     
    If  objFSO.FolderExists (""&path&"") Then
     
      Else
     
    Set objFolder = objFSO.CreateFolder (""&path&"")
     
    End If
     
     
     
    'save softwares configuration In a txt file
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    Set objTextFile = objFSO.CreateTextFile(""&path&""& hostname & " - "&username&".txt", True)
     
    filepath = ""&path&""& hostname & " - "&username&".txt"
     
    objTextFile.WriteLine ""&VbCrLf&"=========================================================================="
     
    objTextFile.WriteLine "==      script pour identification matériel                    =="
     
    objTextFile.WriteLine "=========================================================================="&VbCrLf&""
     
    '==========================================================================
     
    'INFOS GENERALES (Nom du poste, nom de l'utilisateur actuel)
     
    '==========================================================================
     
    objTextFile.WriteLine "== GENERAL =========================================================="&VbCrLf&""
     
    objTextFile.WriteLine "Nom du poste : "& hostname &""
     
    Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
     
     
    Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
     
     
    For Each objItem in colItems
     
        strComputerDomain = objItem.Domain
     
        If objItem.PartOfDomain Then
     
            objTextFile.WriteLine "Domaine : " & strComputerDomain
     
        Else
     
            objTextFile.WriteLine "Workgroup : " & strComputerDomain
     
        End If
     
    objTextFile.WriteLine "Marque : " & objItem.Manufacturer
     
    objTextFile.WriteLine "Modele : " & objItem.Model
     
    Next
     
    Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_BIOS")
     
    for each SN in SNSet
     
    objTextFile.WriteLine "Serial : " & SN.SerialNumber
     
    Next
     
    objTextFile.WriteLine
     
     
     
    '==========================================================================
     
    'INFOS SYSTEME 
     
    '==========================================================================
     
    objTextFile.WriteLine "== SYSTEME EXPLOITATION ============================================="&VbCrLf&""
     
     
     
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
     
     
     
    strComputer = "."
     
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
     
     
    Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
     
     
     
    For Each objOperatingSystem in colOperatingSystems
     
     
     
        objTextFile.WriteLine "OS : " & objOperatingSystem.Caption
     
        objTextFile.WriteLine "Version: " & objOperatingSystem.Version 
     
        objTextFile.WriteLine "Service Pack : " & objOperatingSystem.ServicePackMajorVersion
     
        objTextFile.WriteLine "Numero Serie : " & objOperatingSystem.SerialNumber
     
        objTextFile.WriteLine "Type Version : " & objOperatingSystem.BuildType
     
        dtmConvertedDate.Value = objOperatingSystem.InstallDate
     
        dtmInstallDate = dtmConvertedDate.GetVarDate
     
        objTextFile.WriteLine "Date d'Installation : " & dtmInstallDate 
     
    	objTextFile.WriteLine
     
    Next
     
     
     
     
     
    '==========================================================================
     
    'RESEAU
     
    '==========================================================================
     
    objTextFile.WriteLine ""&VbCrLf&"== RESEAU ==========================================================="&VbCrLf&""
     
    Set colNicConfigs = objWMIService.ExecQuery ("Select * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
     
     
     
     
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
     
     
     
    Set colAdapters = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
     
     
    n = 1
     
    objTextFile.WriteLine
     
     
     
    For Each objAdapter in colAdapters
     
      objTextFile.WriteLine "Carte Reseau - " & objAdapter.Description
     
      objTextFile.WriteLine "  Adresse MAC : " & vbTab & objAdapter.MACAddress
     
      If Not IsNull(objAdapter.IPAddress) Then
    		if objAdapter.DHCPEnabled = True Then
    			objTextFile.WriteLine "  DHCP : " &vbTab & vbTab & "DHCP activé" 
    		Else
    			objTextFile.WriteLine "  DHCP : " &vbTab & vbTab & "DHCP désactivé" 
     
    			objTextFile.WriteLine "  L'adresse IP suivante est indicative, merci d'indiquer une adresse IP disponible differente de l'adresse affichee " 
     
     
     
    			If Not IsNull(objAdapter.IPAddress) Then
     
    			  For i = 0 To UBound(objAdapter.IPAddress)
     
    				 objTextFile.WriteLine "  Adresse IP : " &vbTab & vbTab & objAdapter.IPAddress(i)
     
    			  Next
     
    			End If
     
     
     
    			If Not IsNull(objAdapter.IPSubnet) Then
     
    			  For i = 0 To UBound(objAdapter.IPSubnet)
     
    				 objTextFile.WriteLine "  Sous Reseau: " &vbTab & vbTab & objAdapter.IPSubnet(i)
     
    			  Next
     
    			End If
     
     
     
    			If Not IsNull(objAdapter.DefaultIPGateway) Then
     
    			  For i = 0 To UBound(objAdapter.DefaultIPGateway)
     
    				 objTextFile.WriteLine "  Passerelle : " &vbTab & vbTab & objAdapter.DefaultIPGateway(i)
     
    			  Next
     
    			End If
     
     
     
    			If IsNull(objAdapter.DefaultIPGateway) Then
     
    				objTextFile.WriteLine
     
    					objTextFile.WriteLine "  Pas de DNS Specifie"
     
    			Else
     
     
     
    				If Not IsNull(objAdapter.DNSServerSearchOrder) Then
     
    					For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
     
    						objTextFile.WriteLine "  DNS : " &vbTab  &vbTab & objAdapter.DNSServerSearchOrder(i)
     
    					Next
     
    				End If
     
     
     
    				objTextFile.WriteLine "  Domaine DNS : " & objAdapter.DNSDomain
     
     
     
    				If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
     
    					For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
     
    						objTextFile.WriteLine "    Liste de recherche suffixe DNS : " & objAdapter.DNSDomainSuffixSearchOrder(i)
     
    					Next
     
    				End If
     
    			End If
    			' Configuration WINS
     
    			 If IsNull(objAdapter.WINSPrimaryServer) And IsNull(objAdapter.WINSSecondaryServer) Then
     
    				  objTextFile.WriteLine
     
    				   objTextFile.WriteLine "Pas de WINS specifié"
     
    					objTextFile.WriteLine
     
    			Else
     
    				   objTextFile.WriteLine "  WINS"
     
    				   objTextFile.WriteLine "  ----"
     
    				   objTextFile.WriteLine "    Serveur WINS Primaire :   " & objAdapter.WINSPrimaryServer
     
    				   objTextFile.WriteLine "    Serveur WINS Secondaire : " & objAdapter.WINSSecondaryServer
     
    			 End If			
     
    		End If
    	End if
     
      n = n + 1 
     
    Next
     
    const HKEY_CURRENT_USER = &H80000001
     
    strComputer = "."
     
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
    strValueName = "ProxyServer"
    strproxyactif = "ProxyEnable"
     
    oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strproxyactif,dwValue_test
     
    if dwValue_test = 1 then
     
    	objTextFile.WriteLine "  Serveur Proxy actif. " &vbTab & "SERVEUR PROXY Activé"
    	oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
    	objTextFile.WriteLine " Adresse du Serveur proxy : " &vbTab & dwValue
    Else
    	objTextFile.WriteLine "  Proxy inactif : " &vbTab  & "PAS DE SERVEUR PROXY"
     
    End if
     
     
    Function WMIDateStringToDate(utcDate)
     
       WMIDateStringToDate = CDate(Mid(utcDate, 5, 2)  & "/" & Mid(utcDate, 7, 2)  & "/" & Left(utcDate, 4)    & " " & Mid (utcDate, 9, 2) & ":" & Mid(utcDate, 11, 2) & ":" & Mid(utcDate, 13, 2))
     
    End Function
     
     
     
    objTextFile.WriteLine ""&VbCrLf&"=========================================================================="
     
    objTextFile.WriteLine "==                       File saved @ "&Now&"               =="
     
    objTextFile.WriteLine "=========================================================================="&VbCrLf&""
     
     
     
    objTextFile.close
     
    WScript.Quit(1)

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Déjà dans les lignes 1 et 2 , il n'y a rien d'écrit.

    Le script est-il le résultat d'un Copier/Coller qui n'a pas bien abouti ?
    Quel éditeur utilises-tu pour modifier /enregistrer ton script ?

    Commence par supprimer les 2 premières lignes (qui sont d'ailleurs vides) en mettant le curseur au début de la 3ème ligne puis appuie le nombre de fois qu'il faut pour que le début de la 3ème ligne arrive à la position 1 de la ligne 1; enregistre le fichier puis essaie de l'exécuter.

    Si tu utilises Notepad++, vérifie l'encodage utilisé(Menu Encodage en le mettant en ANSI pas exemple)
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut l_autodidacte et cruzy

    Citation Envoyé par l_autodidacte
    Le script est-il le résultat d'un Copier/Coller qui n'a pas bien abouti ?
    et s'il n'y avait que les premières lignes qui posent problèmes .......
    Bon cela fonctionne avec VB6 et vbsfactor32, mais il y a encore du nettoyage à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    Option Explicit
     
    Dim objNetwork, objDrive, intDrive, intNetLetter
    Dim FSO, objFolder, objTextFile
    Dim WshNetwork, SrtNewText, strText, path, objShell
    Dim HostName, username, domainname
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = CreateObject("WScript.Network")
    Set objShell = CreateObject("WScript.Shell")
     
    HostName = WshNetwork.computername
    username = WshNetwork.username
    domainname = WshNetwork.UserDomain
    '==========================================================================
    'mettez ici l'emplacement du dossier dans lequel sera enregistrer le rapport
    'si ce dossier n'existe pas, il sera crée
    path = "C:\Infos\"
    If Not FSO.FolderExists(path) Then  Set objFolder = FSO.CreateFolder(path)
     
    Set objTextFile = FSO.CreateTextFile(path & HostName & " - " & username & ".txt", True)
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==      script pour identification matériel                    =="
    objTextFile.WriteLine "==      script pour identification matériel                    =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
    '==========================================================================
    'INFOS GENERALES (Nom du poste, nom de l'utilisateur actuel)
    '==========================================================================
    objTextFile.WriteLine "== GENERAL ==========================================================" & vbCrLf
    objTextFile.WriteLine "Nom du poste : " & HostName
     
    Dim objWMISvc, colItems, objItem, strComputerDomain
    Set objWMISvc = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMISvc.ExecQuery("Select * from Win32_ComputerSystem", , 48)
     
    For Each objItem In colItems
        strComputerDomain = objItem.Domain
        If objItem.PartOfDomain Then
            objTextFile.WriteLine "Domaine : " & strComputerDomain
            Else
            objTextFile.WriteLine "Workgroup : " & strComputerDomain
        End If
        objTextFile.WriteLine "Marque : " & objItem.Manufacturer
        objTextFile.WriteLine "Modele : " & objItem.Model
    Next
    Set colItems = Nothing
    Set objWMISvc = Nothing
     
    Dim SNSet, SN
    Set SNSet = GetObject("winmgmts:").InstancesOf("Win32_BIOS")
    For Each SN In SNSet
        objTextFile.WriteLine "Serial : " & SN.SerialNumber
    Next
    objTextFile.WriteLine
    '==========================================================================
    'INFOS SYSTEME
    '==========================================================================
    objTextFile.WriteLine "== SYSTEME EXPLOITATION =============================================" & vbCrLf
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem In colOperatingSystems
        objTextFile.WriteLine "OS : " & objOperatingSystem.Caption
        objTextFile.WriteLine "Version: " & objOperatingSystem.Version
        objTextFile.WriteLine "Service Pack : " & objOperatingSystem.ServicePackMajorVersion
        objTextFile.WriteLine "Numero Serie : " & objOperatingSystem.SerialNumber
        objTextFile.WriteLine "Type Version : " & objOperatingSystem.BuildType
        dtmConvertedDate.Value = objOperatingSystem.InstallDate
        dtmInstallDate = dtmConvertedDate.GetVarDate
        objTextFile.WriteLine "Date d'Installation : " & dtmInstallDate
        objTextFile.WriteLine
    Next
    '==========================================================================
    'RESEAU
    '==========================================================================
    objTextFile.WriteLine vbCrLf & "== RESEAU ===========================================================" & vbCrLf
    Set colNicConfigs = objWMIService.ExecQuery("Select * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    n = 1
    objTextFile.WriteLine
    For Each objAdapter In colAdapters
        objTextFile.WriteLine "Carte Reseau - " & objAdapter.Description
        objTextFile.WriteLine "  Adresse MAC : " & vbTab & objAdapter.MACAddress
        If Not IsNull(objAdapter.IPAddress) Then
            If objAdapter.DHCPEnabled = True Then
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP activé"
                Else
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP désactivé"
                objTextFile.WriteLine "  L'adresse IP suivante est indicative, merci d'indiquer une adresse IP disponible differente de l'adresse affichee "
                If Not IsNull(objAdapter.IPAddress) Then
                    For i = 0 To UBound(objAdapter.IPAddress)
                        objTextFile.WriteLine "  Adresse IP : " & vbTab & vbTab & objAdapter.IPAddress(i)
                    Next
                End If
                If Not IsNull(objAdapter.IPSubnet) Then
                    For i = 0 To UBound(objAdapter.IPSubnet)
                        objTextFile.WriteLine "  Sous Reseau: " & vbTab & vbTab & objAdapter.IPSubnet(i)
                    Next
                End If
                If Not IsNull(objAdapter.DefaultIPGateway) Then
                    For i = 0 To UBound(objAdapter.DefaultIPGateway)
                        objTextFile.WriteLine "  Passerelle : " & vbTab & vbTab & objAdapter.DefaultIPGateway(i)
                    Next
                End If
                If IsNull(objAdapter.DefaultIPGateway) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "  Pas de DNS Specifie"
                    Else
                    If Not IsNull(objAdapter.DNSServerSearchOrder) Then
                        For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
                            objTextFile.WriteLine "  DNS : " & vbTab & vbTab & objAdapter.DNSServerSearchOrder(i)
                        Next
                    End If
                    objTextFile.WriteLine "  Domaine DNS : " & objAdapter.DNSDomain
                    If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
                        For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
                            objTextFile.WriteLine "    Liste de recherche suffixe DNS : " & objAdapter.DNSDomainSuffixSearchOrder(i)
                        Next
                    End If
                End If
                ' Configuration WINS
                If IsNull(objAdapter.WINSPrimaryServer) And IsNull(objAdapter.WINSSecondaryServer) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "Pas de WINS specifié"
                    objTextFile.WriteLine
                    Else
                    objTextFile.WriteLine "  WINS"
                    objTextFile.WriteLine "  ----"
                    objTextFile.WriteLine "    Serveur WINS Primaire :   " & objAdapter.WINSPrimaryServer
                    objTextFile.WriteLine "    Serveur WINS Secondaire : " & objAdapter.WINSSecondaryServer
                 End If
            End If
        End If
        n = n + 1
    Next
    '
    Const HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
    strValueName = "ProxyServer"
    strproxyactif = "ProxyEnable"
    oReg.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strproxyactif, dwValue_test
    If dwValue_test = 1 Then
        objTextFile.WriteLine "  Serveur Proxy actif. " & vbTab & "SERVEUR PROXY Activé"
        oReg.GetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
        objTextFile.WriteLine " Adresse du Serveur proxy : " & vbTab & dwValue
        Else
        objTextFile.WriteLine "  Proxy inactif : " & vbTab & "PAS DE SERVEUR PROXY"
    End If
     
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                       File saved @ " & Now & "               =="
    objTextFile.WriteLine "=========================================================================="
    objTextFile.Close
     
    Set FSO = Nothing
    Set WshNetwork = Nothing
    Set objShell = Nothing
     
    WScript.Quit (1)
     
    'Function WMIDateStringToDate(utcDate)
    '   WMIDateStringToDate = CDate(Mid(utcDate, 5, 2)  & "/" & Mid(utcDate, 7, 2)  & "/" & Left(utcDate, 4)    & " " & Mid (utcDate, 9, 2) & ":" & Mid(utcDate, 11, 2) & ":" & Mid(utcDate, 13, 2))
    'End Function
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Invité
    Invité(e)
    Par défaut
    merci de l'aide en tous cas au moins j'apprends le vbsricpt !!!
    j'ai pas menti,j'ai dit que j'avais trouvé le script (sur un poste d'un client si tu veux tout savoir) mais qu'il ne marche pas
    je ne n'ai pas dit que c'etait moi qu'il avait fait

    > oui notepad ++

    quand je le lance j'ai une erreur
    Nom : Capture.JPG
Affichages : 579
Taille : 21,4 Ko


    dtmconvertedate manque une variable ?

    est ce qu'il peut marché sans logiciel tiers ? sur serveur par exemple

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    dtmconvertedate n'est dans aucun des codes que tu nous a mis.
    Aurais tu un code différent de celui que tu as posté?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Invité
    Invité(e)
    Par défaut
    non j'ai repris le tien ... j'ai juste un décalage sur les lignes
    ligne 59
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")

    si une fonction n'est pas déclaré c'est dans Dim ?

    ça remonte a très très loin mes cours de progs

  9. #9
    Invité
    Invité(e)
    Par défaut
    voila j'ai finit

    script fonctionnel si ça peut servir a quelqu'un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    '==========================================================================
    ' NAME: Script Audit PC
    '==========================================================================
    On Error Resume Next
     
    Dim objNetwork, objDrive, intDrive, intNetLetter 
    Dim FSO, ObjFile, WshNetwork, SrtNewText, strText
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set objShell = CreateObject("WScript.Shell")
     
    hostname = WshNetwork.computername
    username = WshNetwork.username
    domainname = WshNetwork.UserDomain
     
    '==========================================================================
    'mettez ici l'emplacement du dossier dans lequel sera enregistrer le rapport
    'si ce dossier n'existe pas, il sera cree
     
    path = ""
     
    'sharename = "logs_"&username&""
     
    If  objFSO.FolderExists (""&path&"") Then
      Else
    Set objFolder = objFSO.CreateFolder (""&path&"")
    End If
     
    'save softwares configuration In a txt file
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(""&path&""& hostname & " - "&username&".txt", True)
    filepath = ""&path&""& hostname & " - "&username&".txt"
     
    '==========================================================================
    'INFOS GENERALES (Nom du poste, nom de l'utilisateur actuel)
    '==========================================================================
    Set objTextFile = FSO.CreateTextFile(path & HostName & " - " & username & ".txt", True)
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                              GENERAL                                 =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
    objTextFile.WriteLine "Nom du poste : "& hostname &""
    Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
    Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
    For Each objItem in colItems
        strComputerDomain = objItem.Domain
        If objItem.PartOfDomain Then
            objTextFile.WriteLine "Domaine : " & strComputerDomain
        Else
            objTextFile.WriteLine "Workgroup : " & strComputerDomain
        End If
    objTextFile.WriteLine "Marque : " & objItem.Manufacturer
    objTextFile.WriteLine "Modele : " & objItem.Model
    Next
    Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_BIOS")
    for each SN in SNSet
    objTextFile.WriteLine "Serial : " & SN.SerialNumber
    Next
    objTextFile.WriteLine
     
    '==========================================================================
    'INFOS SYSTEME 
    '==========================================================================
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                     SYSTEME EXPLOITATION                             =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
     
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
    	("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
        objTextFile.WriteLine "OS : " & objOperatingSystem.Caption
        objTextFile.WriteLine "Version: " & objOperatingSystem.Version 
        objTextFile.WriteLine "Service Pack : " & objOperatingSystem.ServicePackMajorVersion
        objTextFile.WriteLine "Numero Serie : " & objOperatingSystem.SerialNumber
        objTextFile.WriteLine "Type Version : " & objOperatingSystem.BuildType
        dtmConvertedDate.Value = objOperatingSystem.InstallDate
        dtmInstallDate = dtmConvertedDate.GetVarDate
        objTextFile.WriteLine "Date d'Installation : " & dtmInstallDate 
    	objTextFile.WriteLine
    Next
     
    '==========================================================================
    'INFORMATIONS MATERIEL
    '==========================================================================
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                     PROCESSEUR & RAM                                 =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
     
    '-- Processeur : nom
        Set colComputer = objWMIService.ExecQuery("Select * from Win32_Processor")
    	For Each objComputer In colComputer
    		objTextFile.WriteLine "Processeur :"& vbTab &"" & objComputer.Name
    	Next
    '-- Processeur : type
    Set colSettings = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_Processor")
    For Each objProcessor In colSettings
        objTextFile.WriteLine "Type Processeur : "& vbTab &"" & objProcessor.Description
    Next
    objTextFile.WriteLine
    '-- RAM
    Set colComputer = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")
    For Each objComputer In colComputer
    	objTextFile.WriteLine "RAM Total : "&FormatNumber (objComputer.TotalPhysicalMemory /1048576+1, 0) & "Mo"
    	objTextFile.WriteLine
    Next
    For Each objMem In GetObject("winmgmts:{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2").InstancesOf("Win32_PhysicalMemory")
    	objTextFile.WriteLine ""& vbTab &"+"&  objMem.BankLabel &" : "& objMem.Capacity/1024/1024 & " Mo"
    Next
     
    ' Disques et partition
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                     DISQUE DUR & PARTITIONS                          =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
    objTextFile.WriteLine "Disques Physiques :"
    Set colItems = objWMIService.ExecQuery(_
    "Select * from Win32_DiskDrive")
     
                maxsize = 0
                drive = 0
                For Each objItem in colItems
     
    If objItem.Partitions > 0 Then
    objTextFile.WriteLine ""&vbTab &"Nom : "& vbTab &"" & objItem.Name 
    objTextFile.WriteLine ""&vbTab &"Taille : " & Int(objItem.Size /(1073741824)) & " GB" 
    objTextFile.WriteLine ""&vbTab &"Modèle : " & objItem.Model 
    objTextFile.WriteLine ""&vbTab &"Nbr de partition(s) : "& vbTab &"" & objItem.Partitions &VbCrLf&"" 
    maxsize = maxsize + Int(objItem.Size /(1073741824))
    drive = drive + 1
    Else
    End If
    Next
    objTextFile.WriteLine"Espace Total : "&maxsize&" Go dans "&drive&" disques durs"
    objTextFile.WriteLine ""&VbCrLf&"Partitions"
    	'-- Partitions et Tx Occupation
    		Set colDisks = objWMIService.ExecQuery _
    		("Select * from Win32_LogicalDisk Where DriveType = 3")
    		For Each objDisk In colDisks
    			intFreeSpace = objDisk.FreeSpace /1000000000             'espace disque libre
    			intTotalSpace = objDisk.Size /1000000000
    			pctFreeSpace = intFreeSpace / intTotalSpace
    			intOccupedSpace = intTotalSpace - intFreeSpace
    			pctOccupedSpace = intOccupedSpace / intTotalSpace
    			Disk = objDisk.DeviceID
    	objTextFile.WriteLine ""& vbTab &" "&Disk&" Occupe à "&FormatPercent(pctOccupedSpace,0)&" - Taille Totale : " &FormatNumber (intTotalSpace,0)&" Go ("&FormatNumber(intFreeSpace,0)&" Go utilises)"
    Next
     
    '==========================================================================
    'RESEAU
    '==========================================================================
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                                  RESEAU                              =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
    Set colNicConfigs = objWMIService.ExecQuery("Select * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    n = 1
    objTextFile.WriteLine
    For Each objAdapter In colAdapters
        objTextFile.WriteLine "Carte Reseau - " & objAdapter.Description
        objTextFile.WriteLine "  Adresse MAC : " & vbTab & objAdapter.MACAddress
        If Not IsNull(objAdapter.IPAddress) Then
            If objAdapter.DHCPEnabled = True Then
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP active"
                Else
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP desactive"
                'objTextFile.WriteLine "  L'adresse IP suivante est indicative, merci d'indiquer une adresse IP disponible differente de l'adresse affichee "
                If Not IsNull(objAdapter.IPAddress) Then
                    For i = 0 To UBound(objAdapter.IPAddress)
                        objTextFile.WriteLine "  Adresse IP : " & vbTab & vbTab & objAdapter.IPAddress(i)
                    Next
                End If
                If Not IsNull(objAdapter.IPSubnet) Then
                    For i = 0 To UBound(objAdapter.IPSubnet)
                        objTextFile.WriteLine "  Sous Reseau: " & vbTab & vbTab & objAdapter.IPSubnet(i)
                    Next
                End If
                If Not IsNull(objAdapter.DefaultIPGateway) Then
                    For i = 0 To UBound(objAdapter.DefaultIPGateway)
                        objTextFile.WriteLine "  Passerelle : " & vbTab & vbTab & objAdapter.DefaultIPGateway(i)
                    Next
                End If
                If IsNull(objAdapter.DefaultIPGateway) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "  Pas de DNS Specifie"
                    Else
                    If Not IsNull(objAdapter.DNSServerSearchOrder) Then
                        For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
                            objTextFile.WriteLine "  DNS : " & vbTab & vbTab & objAdapter.DNSServerSearchOrder(i)
                        Next
                    End If
                    objTextFile.WriteLine "  Domaine DNS : " & objAdapter.DNSDomain
                    If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
                        For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
                            objTextFile.WriteLine "    Liste de recherche suffixe DNS : " & objAdapter.DNSDomainSuffixSearchOrder(i)
                        Next
                    End If
                End If
                ' Configuration WINS
                If IsNull(objAdapter.WINSPrimaryServer) And IsNull(objAdapter.WINSSecondaryServer) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "Pas de WINS specifie"
                    objTextFile.WriteLine
                    Else
                    objTextFile.WriteLine "  WINS"
                    objTextFile.WriteLine "  ----"
                    objTextFile.WriteLine "    Serveur WINS Primaire :   " & objAdapter.WINSPrimaryServer
                    objTextFile.WriteLine "    Serveur WINS Secondaire : " & objAdapter.WINSSecondaryServer
                 End If
            End If
        End If
        n = n + 1
    Next
     
    Function WMIDateStringToDate(utcDate)
     
       WMIDateStringToDate = CDate(Mid(utcDate, 5, 2)  & "/" & _
           Mid(utcDate, 7, 2)  & "/" & _
               Left(utcDate, 4)    & " " & _
                   Mid (utcDate, 9, 2) & ":" & _
                       Mid(utcDate, 11, 2) & ":" & _
                          Mid(utcDate, 13, 2))
    End Function
     
     
    objTextFile.WriteLine ""&VbCrLf&"=========================================================================="
    objTextFile.WriteLine "==                       File saved @ "&Now&"               =="
    objTextFile.WriteLine "=========================================================================="&VbCrLf&""
     
    objTextFile.close
     
    WScript.Quit(1)

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    Tu as marqué ta discussion en ben , si tu enlevés ton On Error Resume Next, ben tu plantes au bout de 6/7 lignes du code et ton code prend fin.
    J'ai re travaillé le dernier code proposé, nettoyage conséquent, variables non déclarées, variables non utilisées, fonction non utilisée .......
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    Option Explicit
    Dim FSO, objTextFile
    Dim WshNetwork, path, HostName, username
     
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = CreateObject("WScript.Network")
     
    HostName = WshNetwork.computername
    username = WshNetwork.username
    Set WshNetwork = Nothing
    '==========================================================================
    'mettez ici l'emplacement du dossier dans lequel sera enregistrer le rapport, si ce dossier n'existe pas, il sera crée
    path = "C:\Infos\"
    If Not FSO.FolderExists(path) Then FSO.CreateFolder path
     
    Set objTextFile = FSO.CreateTextFile(path & HostName & " - " & username & ".txt", True)
    Set FSO = Nothing
     
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==              script pour identification matériel                     =="
    objTextFile.WriteLine "==========================================================================" & vbCrLf
     
    '==========================================================================
    'INFOS GENERALES (Nom du poste, nom de l'utilisateur actuel)
    '==========================================================================
    objTextFile.WriteLine "======= GENERAL ==========================================================" & vbCrLf
    objTextFile.WriteLine "Nom du poste : " & HostName
     
    Dim objWMISvc, colItems, objItem, strComputerDomain
    Set objWMISvc = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMISvc.ExecQuery("Select * from Win32_ComputerSystem", , 48)
     
    For Each objItem In colItems
        strComputerDomain = objItem.Domain
        If objItem.PartOfDomain Then
            objTextFile.WriteLine "Domaine : " & strComputerDomain
            Else
            objTextFile.WriteLine "Workgroup : " & strComputerDomain
        End If
        objTextFile.WriteLine "Marque : " & objItem.Manufacturer
        objTextFile.WriteLine "Modele : " & objItem.Model
    Next
    Set colItems = Nothing
    Set objWMISvc = Nothing
     
    Dim SNSet, SN
    Set SNSet = GetObject("winmgmts:").InstancesOf("Win32_BIOS")
    For Each SN In SNSet
        objTextFile.WriteLine "Serial : " & SN.SerialNumber
    Next
    objTextFile.WriteLine
     
    '==========================================================================
    'INFOS SYSTEME
    '==========================================================================
    objTextFile.WriteLine "== SYSTEME EXPLOITATION =============================================" & vbCrLf
    Dim dtmConvertedDate, strComputer, objWMIService, colOperatingSystems, objOperatingSystem, dtmInstallDate
    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem In colOperatingSystems
        objTextFile.WriteLine "OS : " & objOperatingSystem.Caption
        objTextFile.WriteLine "Version: " & objOperatingSystem.Version
        objTextFile.WriteLine "Service Pack : " & objOperatingSystem.ServicePackMajorVersion
        objTextFile.WriteLine "Numero Serie : " & objOperatingSystem.SerialNumber
        objTextFile.WriteLine "Type Version : " & objOperatingSystem.BuildType
        dtmConvertedDate.Value = objOperatingSystem.InstallDate
        dtmInstallDate = dtmConvertedDate.GetVarDate
        objTextFile.WriteLine "Date d'Installation : " & dtmInstallDate
        objTextFile.WriteLine
    Next
    Set dtmConvertedDate = Nothing
    Set colOperatingSystems = Nothing
     
    '==========================================================================
    'RESEAU
    '==========================================================================
    objTextFile.WriteLine vbCrLf & "== RESEAU ===========================================================" & vbCrLf
    Dim colAdapters, N, I, objAdapter
    Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    Set objWMIService = Nothing
    N = 1
    objTextFile.WriteLine
    For Each objAdapter In colAdapters
        objTextFile.WriteLine "Carte Reseau - " & objAdapter.Description
        objTextFile.WriteLine "  Adresse MAC : " & vbTab & objAdapter.MACAddress
        If Not IsNull(objAdapter.IPAddress) Then
            If objAdapter.DHCPEnabled = True Then
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP activé"
                Else
                objTextFile.WriteLine "  DHCP : " & vbTab & vbTab & "DHCP désactivé"
                objTextFile.WriteLine "  L'adresse IP suivante est indicative, merci d'indiquer une adresse IP disponible differente de l'adresse affichee "
                If Not IsNull(objAdapter.IPAddress) Then
                    For I = 0 To UBound(objAdapter.IPAddress)
                        objTextFile.WriteLine "  Adresse IP : " & vbTab & vbTab & objAdapter.IPAddress(I)
                    Next
                End If
                If Not IsNull(objAdapter.IPSubnet) Then
                    For I = 0 To UBound(objAdapter.IPSubnet)
                        objTextFile.WriteLine "  Sous Reseau: " & vbTab & vbTab & objAdapter.IPSubnet(I)
                    Next
                End If
                If Not IsNull(objAdapter.DefaultIPGateway) Then
                    For I = 0 To UBound(objAdapter.DefaultIPGateway)
                        objTextFile.WriteLine "  Passerelle : " & vbTab & vbTab & objAdapter.DefaultIPGateway(I)
                    Next
                End If
                If IsNull(objAdapter.DefaultIPGateway) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "  Pas de DNS Specifie"
                    Else
                    If Not IsNull(objAdapter.DNSServerSearchOrder) Then
                        For I = 0 To UBound(objAdapter.DNSServerSearchOrder)
                            objTextFile.WriteLine "  DNS : " & vbTab & vbTab & objAdapter.DNSServerSearchOrder(I)
                        Next
                    End If
                    objTextFile.WriteLine "  Domaine DNS : " & objAdapter.DNSDomain
                    If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
                        For I = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
                            objTextFile.WriteLine "    Liste de recherche suffixe DNS : " & objAdapter.DNSDomainSuffixSearchOrder(I)
                        Next
                    End If
                End If
                ' Configuration WINS
                If IsNull(objAdapter.WINSPrimaryServer) And IsNull(objAdapter.WINSSecondaryServer) Then
                    objTextFile.WriteLine
                    objTextFile.WriteLine "Pas de WINS specifié"
                    objTextFile.WriteLine
                    Else
                    objTextFile.WriteLine "  WINS"
                    objTextFile.WriteLine "  ----"
                    objTextFile.WriteLine "    Serveur WINS Primaire :   " & objAdapter.WINSPrimaryServer
                    objTextFile.WriteLine "    Serveur WINS Secondaire : " & objAdapter.WINSSecondaryServer
                 End If
            End If
        End If
        N = N + 1
    Next
    Set colAdapters = Nothing
    '
    Const HKEY_CURRENT_USER = &H80000001
    Dim oReg, strKeyPath, strValueName, strproxyactif, dwValue_test, dwValue
    Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
    strValueName = "ProxyServer"
    strproxyactif = "ProxyEnable"
    oReg.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strproxyactif, dwValue_test
    If dwValue_test = 1 Then
        objTextFile.WriteLine "  Serveur Proxy actif. " & vbTab & "SERVEUR PROXY Activé"
        oReg.GetStringValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
        objTextFile.WriteLine " Adresse du Serveur proxy : " & vbTab & dwValue
        Else
        objTextFile.WriteLine "  Proxy inactif : " & vbTab & "PAS DE SERVEUR PROXY"
    End If
    Set oReg = Nothing
     
    objTextFile.WriteLine vbCrLf & "=========================================================================="
    objTextFile.WriteLine "==                       File saved @ " & Now & "               =="
    objTextFile.WriteLine "=========================================================================="
    objTextFile.Close
     
    MsgBox "TERMINEE"
    Exemples de fichier en sortie:
    ==========================================================================
    == script pour identification matériel ==
    ==========================================================================

    ======= GENERAL ==========================================================

    Nom du poste : FRANCIS-PC
    Workgroup : WORKGROUP
    Marque : Hewlett-Packard
    Modele : HP G72 Notebook PC
    Serial : 4CZ0223H4P

    == SYSTEME EXPLOITATION =============================================

    OS : Microsoft Windows*7 Édition Intégrale
    Version: 6.1.7601
    Service Pack : 1
    Numero Serie : xxxxx-OEM-8992662-xxxxx
    Type Version : Multiprocessor Free
    Date d'Installation : 27/12/2010 12:35:23


    == RESEAU ===========================================================


    Carte Reseau - Realtek PCIe FE Family Controller
    Adresse MAC : 90:FB:A6:A1:8C:A1
    DHCP : DHCP activé
    Proxy inactif : PAS DE SERVEUR PROXY

    ==========================================================================
    == File saved @ 06/05/2017 16:38:26 ==
    ==========================================================================
    ==========================================================================
    == script pour identification matériel ==
    ==========================================================================

    ======= GENERAL ==========================================================

    Nom du poste : DESKTOP-P9IK88D
    Workgroup : WORKGROUP
    Marque : Hewlett-Packard
    Modele : HP EliteBook Folio 9470m
    Serial : CNU4369CZH

    == SYSTEME EXPLOITATION =============================================

    OS : Microsoft Windows 10 Professionnel
    Version: 10.0.14393
    Service Pack : 0
    Numero Serie : xxxxx-10000-00001-xxxxx
    Type Version : Multiprocessor Free
    Date d'Installation : 08/04/2017 09:26:48


    == RESEAU ===========================================================


    Carte Reseau - Intel(R) Centrino(R) Advanced-N 6205
    Adresse MAC : E0:9D:31:94:6E:40
    DHCP : DHCP activé
    Proxy inactif : PAS DE SERVEUR PROXY

    ==========================================================================
    == File saved @ 06/05/2017 17:02:48 ==
    ==========================================================================
    ==========================================================================
    == script pour identification matériel ==
    ==========================================================================

    ======= GENERAL ==========================================================

    Nom du poste : MMICELINE-PC
    Workgroup : WORKGROUP
    Marque : Packard Bell
    Modele : imedia S3720
    Serial : PVU3302022948023932700

    == SYSTEME EXPLOITATION =============================================

    OS : Microsoft Windows 10 Famille
    Version: 10.0.14393
    Service Pack : 0
    Numero Serie : xxxxx-10000-00000-xxxxx
    Type Version : Multiprocessor Free
    Date d'Installation : 30/09/2016 10:14:05


    == RESEAU ===========================================================


    Carte Reseau - NVIDIA nForce 10/100/1000 Mbps Ethernet
    Adresse MAC : 00:25:11:88:65:89
    DHCP : DHCP activé
    Proxy inactif : PAS DE SERVEUR PROXY

    ==========================================================================
    == File saved @ 06/05/2017 17:09:22 ==
    ==========================================================================
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quels composants pour communiquer poste à poste
    Par grimlock dans le forum Web & réseau
    Réponses: 12
    Dernier message: 06/07/2005, 21h32
  2. algo pour identification unique
    Par quiyai dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 05/07/2005, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo