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

Scripts/Batch Discussion :

[XP] Obtenir la date de fabrication du PC via une commande DOS


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut [XP] Obtenir la date de fabrication du PC via une commande DOS
    bonjour,
    je cherche la commande DOS qui permet de donner la date de création d'un PC portable??????????
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Points : 6 800
    Points
    6 800
    Par défaut
    Il est très difficile de connaître cette date via une commande DOS.
    Est-ce que l'on veut la date de fabrication de tel ou tel composant ? Est-ce qu'on veut la date d'assemblage des composants ? Est-ce qu'on veut la date du premier démarrage de la machine ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut date de fabrication
    on veut la date de fabrication de l'ordinateur ?
    je sait pas, peut être l'assamblage!!!!!!!!

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Ben ca parait impossible, comment l'ordinateur saurait quand il a été assemblé?
    Après il y a peut etre des données spécifiques laissées par un constructeur quelque part sur la machine mais rien de générique je le crains.

  5. #5
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par Flamby38 Voir le message
    Ben ca parait impossible, comment l'ordinateur saurait quand il a été assemblé?
    Après il y a peut etre des données spécifiques laissées par un constructeur quelque part sur la machine mais rien de générique je le crains.
    +1

    mais s'il s'agit de l'age du pc, alors ça sera un autre problème.

    essayes ceci pour voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "skip=1" %%a in ('wmic path Win32_OperatingSystem get installdate') do set installdate=%%a
    set installdate=%installdate:~0,4%/%installdate:~4,2%/%installdate:~6,2%
    echo aa/mm/jj = %installdate%
    ou bien ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    systeminfo | find /i "date"

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    - Allez dans l'Invite de commande (Exécuter>Cmd pour les newbies ),

    - Tapez Debug et faites Entree,

    - Tapez ensuite df000:fff5 à coté du '-' et faites Entree :

    A la fin de la ligne qui apparaît, il y a une date du style "--/--/--", c'est la date de fabrication de votre PC...

  7. #7
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par GELDROC Voir le message
    - Allez dans l'Invite de commande (Exécuter>Cmd pour les newbies ),

    - Tapez Debug et faites Entree,

    - Tapez ensuite df000:fff5 à coté du '-' et faites Entree :

    A la fin de la ligne qui apparaît, il y a une date du style "--/--/--", c'est la date de fabrication de votre PC...
    je crois que ça ne fonctionne pas avec win7

    quant à la syntaxe tu peux aussi faire ceci: pour ne pas avoir a taper un "q" (pas de jeu de mot )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (echo df000:fff5 & echo q) | debug | find "/"
    une autre manière consiste à faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path win32_bios get ReleaseDate
    mais avec un flashage du bios je ne crois pas que ça passera: à tester donc

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par GELDROC Voir le message
    A la fin de la ligne qui apparaît, il y a une date du style "--/--/--", c'est la date de fabrication de votre PC...
    C'est plutôt la date du BIOS, à mon avis... Qui devrait donc évoluer si tu le mets à jour.

  9. #9
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    à mettre dans un fichier de commandes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    
    set item=installdate
    for /f "tokens=1-3 delims== " %%a in (
     'netsh diag show os /v ^| find /i "%item%"') do set %item%=%%c
    set installdate
    pause

  10. #10
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    autre solution:

    avec date approximative:

    en invite de commandes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %a in (%windir%\repair) Do for /f %i in ("%~ta") do @echo %i
    dans un fichier de commandes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%a in (%windir%\repair) Do for /f %%i in ("%%~ta") do echo %%i

  11. #11
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    et en voici une autre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Echo oFF
    :: By Walid ::
    
    >'.vbs echo set sec = wsh.arguments : wsh.echo dateadd("s",sec(0),"1-Jan-70")
    set Item=installdate
    for /F "tokens=3" %%a in ('
      reg query "hklm\software\microsoft\windows nt\currentversion" /v %Item% ^|find /i "%Item%"
     ') do set /A %Item%=%%a 
    cscript /nologo /e:vbscript '.vbs %installdate%
    del '.vbs
    
    Pause

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut date de mise en service PC par VBA
    Bonjour à tous et merci d'avance pour votre aide.

    Je me permet de rebondir sur cette discussion pour vous demander comment sonder PAR VBA une machine pour connaitre au mieux sa date de mise en service (PC sous Windows XP/Office 2003 Ou Seven/Office 2010)
    ).
    Merci beaucoup!

  13. #13
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    Par défaut
    Citation Envoyé par fredlesbre Voir le message
    Bonjour à tous et merci d'avance pour votre aide.
    Je me permet de rebondir sur cette discussion pour vous demander comment sonder PAR VBA une machine pour connaitre au mieux sa date de mise en service (PC sous Windows XP/Office 2003 Ou Seven/Office 2010)
    ).
    Merci beaucoup!
    Vous pouvez par exemple tester ce script PCData.vbs
    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
    '==========================================================================
    ' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 2007
    ' NAME: PCData.vbs
    ' AUTHOR: David Taylor
    ' DATE  : 10/22/2008
    ' Modified by Hackoo on 02/09/2013
    ' Modification : Adding Function WriteLog
    ' COMMENT: 
    '==========================================================================
    On Error Resume Next
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
    arrComputers = Array(".")
    Set ws = CreateObject("Wscript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    LogFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "log"
    if fso.FileExists(LogFile) Then
        fso.DeleteFile LogFile
    end if
    For Each strComputer In arrComputers
        WriteLog "====================="
        WriteLog "Computer: " & strComputer
        WriteLog "====================="
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem",,48) 
        For Each objItem In colItems
            WriteLog "Operating System: " & objItem.Caption & " Service Pack " & objItem.ServicePackMajorVersion
            WriteLog "Version: " & objItem.Version
                  WriteLog "Operating System Install Date: : " & WMIDateStringToDate(objItem.InstallDate)
            WriteLog "Last Boot Up Time: " & WMIDateStringToDate(objItem.LastBootUpTime)
        Next
        Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
        Set colDiskDrives = objWMIService.ExecQuery _
        ("Select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk Where " _
        & "Name <> '_Total'")
        For Each objDiskDrive in colDiskDrives
            WriteLog "Drive Name: " & objDiskDrive.Name
            WriteLog "Free Space in MB: " & objDiskDrive.FreeMegabytes
        Next
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem",,48) 
        For Each objItem In colItems 
            WriteLog "Local Date Time: " & WMIDateStringToDate(objItem.LocalDateTime)
        Next
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem",,48) 
        For Each objItem In colItems 
            WriteLog "Free Physical Memory: " & objItem.FreePhysicalMemory
        Next
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem",,48) 
        For Each objItem In colItems 
            WriteLog "Free Space In Paging Files: " & objItem.FreeSpaceInPagingFiles
        Next
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem",,48) 
        For Each objItem In colItems 
            WriteLog "Free Virtual Memory: " & objItem.FreeVirtualMemory
        Next
        Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
        Set colComputer = objWMIService.ExecQuery _
        ("Select * from Win32_ComputerSystem")
        For Each objComputer In colComputer
            WriteLog "Logged-on user: " & objComputer.UserName
        Next
        Set colItems = objWMIService.ExecQuery( _
        "SELECT * FROM Win32_NetworkLoginProfile",,48) 
        For Each objItem In colItems 
            WriteLog "Full Name: " & objItem.FullName
        Next     
    Next
    Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_BIOS",,48) 
    For Each objItem In colItems 
        WriteLog "==================================="
        WriteLog "BIOS Information"
        WriteLog "==================================="
        If isNull(objItem.BIOSVersion) Then
            WriteLog "BIOS Version: "
        Else
            WriteLog "BIOS Version: " & Join(objItem.BIOSVersion, ", ")
        End If
    Next
    
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colAdapters = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    
    n = 1
    
    For Each objAdapter In colAdapters
        WriteLog "============================="
        WriteLog "Network Adapter Information " & n
        WriteLog "============================="
        WriteLog "  Description: " & objAdapter.Description
        
        WriteLog "  MAC address: " & objAdapter.MACAddress
        WriteLog "  Host name:              " & objAdapter.DNSHostName
        If Not IsNull(objAdapter.IPAddress) Then
            For i = 0 To UBound(objAdapter.IPAddress)
                WriteLog "  IP address:             " & objAdapter.IPAddress(i)
            Next
        End If
        If Not IsNull(objAdapter.IPSubnet) Then
            For i = 0 To UBound(objAdapter.IPSubnet)
                WriteLog "  Subnet:                 " & objAdapter.IPSubnet(i)
            Next
        End If
        If Not IsNull(objAdapter.DefaultIPGateway) Then
            For i = 0 To UBound(objAdapter.DefaultIPGateway)
                WriteLog "  Default gateway:        " & _
                objAdapter.DefaultIPGateway(i)
            Next
        End If
        
        WriteLog "  ---"
        WriteLog "  DNS"
        WriteLog "  ---"
        WriteLog "    DNS servers in search order:"
        
        If Not IsNull(objAdapter.DNSServerSearchOrder) Then
            For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
                WriteLog "      " & objAdapter.DNSServerSearchOrder(i)
            Next
        End If
        
        WriteLog "    DNS domain: " & objAdapter.DNSDomain
        
        If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
            For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
                WriteLog "    DNS suffix search list: " & _
                objAdapter.DNSDomainSuffixSearchOrder(i)
            Next
        End If
        
        WriteLog "  ----"
        WriteLog "  DHCP"
        WriteLog "  ----"
        WriteLog "    DHCP enabled:        " & objAdapter.DHCPEnabled
        WriteLog "    DHCP server:         " & objAdapter.DHCPServer
        
        If Not IsNull(objAdapter.DHCPLeaseObtained) Then
            utcLeaseObtained = objAdapter.DHCPLeaseObtained
            strLeaseObtained = WMIDateStringToDate(utcLeaseObtained)
        Else
            strLeaseObtained = ""
        End If
        WriteLog "    DHCP lease obtained: " & strLeaseObtained
        
        If Not IsNull(objAdapter.DHCPLeaseExpires) Then
            utcLeaseExpires = objAdapter.DHCPLeaseExpires
            strLeaseExpires = WMIDateStringToDate(utcLeaseExpires)
        Else
            strLeaseExpires = ""
        End If
        WriteLog "    DHCP lease expires:  " & strLeaseExpires
        
        WriteLog "  ----"
        WriteLog "  WINS"
        WriteLog "  ----"
        WriteLog "    Primary WINS server:   " & objAdapter.WINSPrimaryServer
        WriteLog "    Secondary WINS server: " & objAdapter.WINSSecondaryServer
        n = n + 1
    Next
    
    ws.run LogFile
    
    Function WMIDateStringToDate(dtmDate)
    'WriteLog dtm: 
        WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
        Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
        & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
    End Function
    
    Sub WriteLog(strText)
        Dim fs,ts 
        Const ForAppending = 8
        Set fs = CreateObject("Scripting.FileSystemObject")
         Set ts = fs.OpenTextFile(Left(Wscript.ScriptFullName,  InstrRev(Wscript.ScriptFullName, ".")) & "log", ForAppending, True)
        ts.WriteLine strText
        ts.Close
    End Sub
    Source : http://community.spiceworks.com/scri...749-pcdata-vbs

  14. #14
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Voici ma contribution au sujet, en fait ça ne fait que répeter les solutions qui sont décrites plus haut.

    A savoir les 2 uniques éléments qui peuvent te donner une piste "relative"
    quant à l'âge du système.

    La date de la version du BIOS à condition qu'il n´ai pas été mis à jour.
    Et la date de l'installation de l'OS à condition qu'il n'y ai pas eu de reformatage.

    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
    @Echo off
    
    set $opt="wmic path win32_bios get ReleaseDate" "wmic os get installdate"
    set $elem="la version du bios"
    
    for %%a in (%$opt%) do (for /f %%b in ('%%~a ^| find "0"') do (call:traite %%b %$elem%)
                            set $elem="l'installation de l'OS")
                            
    pause
    goto:eof
    
    :traite
    set #=%1
    echo Date de %$elem:"=% : %#:~6,2%/%#:~4,2%/%#:~0,4%
    Sortie :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    c:\>bat\test.bat
    Date de la version du bios : 08/11/2007
    Date de l'installation de l'OS : 19/06/2013
    Pressione qualquer tecla para continuar. . .
    Amicalement

Discussions similaires

  1. Obtenir la date de prise de vue d'une photo
    Par 10say dans le forum C#
    Réponses: 8
    Dernier message: 06/05/2020, 12h51
  2. Réponses: 4
    Dernier message: 19/03/2008, 11h50
  3. Comment obtenir la date dans une store proc?
    Par Dnx dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/10/2005, 17h31
  4. Comment obtenir la date de début d'une semaine ?
    Par Vodkha dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2005, 09h54
  5. Obtenir des dates en fonction du n° de la semaine
    Par coeur74 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/02/2005, 13h42

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