Comment puis-je trouver L'heure et la date d'installation de Windows?
cela peut sembler une petite question un peu folle, mais comment puis-je savoir (avec un peu de chance via une API/clé de registre) l'heure et la date d'installation de Windows?
le mieux que je puisse trouver jusqu'à présent est de regarder divers fichiers C:Windows et essayez de deviner... mais ce n'est pas vraiment une bonne solution.
15 réponses
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
c'est donné comme le nombre de secondes depuis le 1er janvier 1970.
pour convertir ce nombre en une date/heure lisible il suffit de coller la valeur décimale dans le champ" horodatage UNIX: "de ce outil en ligne de Conversion de temps Unix .
une Autre question elligeable pour un " code-défi ': voici quelques code source, les fichiers exécutables à répondre au problème, mais ils ne sont pas complets.
Vous trouverez un script vb que n'importe qui peut exécuter sur son ordinateur, avec le résultat attendu ?
systeminfo|find /i "original"
vous donnerait la date réelle... pas le nombre de secondes ;)
Comme Sammy 1519240920 "commentaires , find /i "install"
donne plus que vous avez besoin.
Et cela ne fonctionne que si le lieu est anglais: il doit correspondre à la langue.
Pour le suédois, ce serait " ursprungligt
" et " ursprüngliches
" pour l'allemand.
dans Windows PowerShell script, vous pouvez juste taper:
PS > $os = get-wmiobject win32_operatingsystem
PS > $os.ConvertToDateTime($os.InstallDate) -f "MM/dd/yyyy"
By using WMI ( Windows Management Instrumentation )
si vous n'utilisez pas WMI, vous devez lire puis convertir la valeur d'enregistrement:
PS > $path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
PS > $id = get-itemproperty -path $path -name InstallDate
PS > $d = get-date -year 1970 -month 1 -day 1 -hour 0 -minute 0 -second 0
## add to hours (GMT offset)
## to get the timezone offset programatically:
## get-date -f zz
PS > ($d.AddSeconds($id.InstallDate)).ToLocalTime().AddHours((get-date -f zz)) -f "MM/dd/yyyy"
Le reste de ce post vous donne d'autres moyens d'accéder à la même information. Choisissez votre poison ;)
VB.Net cela donnerait quelque chose comme:
Dim dtmInstallDate As DateTime
Dim oSearcher As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
For Each oMgmtObj As ManagementObject In oSearcher.Get
dtmInstallDate =
ManagementDateTimeConverter.ToDateTime(CStr(oMgmtO bj("InstallDate")))
Next
Autoit (un langage de script Windows), qui serait:
;Windows Install Date
;
$readreg = RegRead("HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\", "InstallDate")
$sNewDate = _DateAdd( 's',$readreg, "1970/01/01 00:00:00")
MsgBox( 4096, "", "Date: " & $sNewDate )
Exit
Dans Delphy 7, qui irait comme:
Function GetInstallDate: String;
Var
di: longint;
buf: Array [ 0..3 ] Of byte;
Begin
Result := 'Unknown';
With TRegistry.Create Do
Begin
RootKey := HKEY_LOCAL_MACHINE;
LazyWrite := True;
OpenKey ( '\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False );
di := readbinarydata ( 'InstallDate', buf, sizeof ( buf ) );
// Result := DateTimeToStr ( FileDateToDateTime ( buf [ 0 ] + buf [ 1 ] * 256 + buf [ 2 ] * 65535 + buf [ 3 ] * 16777216 ) );
showMessage(inttostr(di));
Free;
End;
End;
Ouvrez l'invite de commande, tapez " systeminfo " et appuyez sur enter. Votre système peut prendre quelques minutes pour obtenir les informations. Dans la page de résultat, vous trouverez une entrée comme "date D'Installation du système". C'est la date de l'installation de windows. Ce processus fonctionne dans XP, Win7 et aussi sur win8.
nous avons assez de réponses ici mais je veux mettre mes 5 cents.
J'ai Windows 10 installé sur 10/30/2015
et les créateurs de mise à jour installé sur 04/14/2017
sur le dessus de mon installation précédente. Toutes les méthodes décrites dans les réponses avant la mienne me donne la date de L'installation de mise à jour des créateurs.
j'ai réussi à trouver la date de création de quelques fichiers qui correspond à la date d'installation réelle (propre) de mon Windows 10:
- dans
C:\Windows
- dans
C:\
comment trouver Windows 7 Date/heure d'installation:
regardez ça...
- démarrer > entrer CMD
- entrez systeminfo
c'est cela, alors vous pouvez voir toutes les informations sur votre machine; méthode très simple
vous avez déjà voulu connaître la date d'installation du système d'exploitation de votre PC? Voici un moyen rapide et facile de savoir la date et l'heure à laquelle votre système D'exploitation PC installé(ou dernière mise à jour).
Ouvrir l'invite de commande (démarrer-> exécuter -> tapez cmd-> appuyez sur entrée) et exécutez la commande suivante
systeminfo | find /i "date d'installation"
dans quelques secondes vous verrez la date d'installation
dans Powershell exécuter la commande:
systeminfo | Select-String "Install Date:"
utilisez speccy. Il montre la date d'installation dans la section Système D'exploitation. http://www.piriform.com/speccy
vous pouvez également vérifier la vérification de n'importe quel dossier dans le lecteur de système comme" windows "et"fichiers de programme". Faites un clic droit sur le dossier, cliquez sur les propriétés et cochez sous l'onglet Général la date à laquelle le dossier a été créé.
Windows 10 OS a encore un autre sous-clé de registre, celui-ci dans le fichier système hive:
> "\Setup\Source OS."
la date D'installation de l'information ici est la date et l'heure d'installation de L'ordinateur original OS. Il vous indique également quand la mise à jour a commencé, i.e.
"\Setup\Source OS (Updated on xxxxxx)."
cela peut bien sûr ne pas être lorsque la mise à jour se termine, l'utilisateur peut choisir de désactiver au lieu de redémarrer lorsqu'on lui demande, etc...
la mise à jour peut effectivement remplir sur un autre jour, et
> "\Setup\Source OS (Updated on xxxxxx)"
reflétera la date/heure à laquelle il a commencé la mise à jour.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate and systeminfo.exe produit le date erronée .
la définition de l'horodatage UNIX est indépendante du fuseau horaire. L'horodatage UNIX est défini comme le nombre de secondes qui se sont écoulées depuis 00:00:00 temps universel coordonné (UTC), le jeudi 1er janvier 1970 et sans compter les secondes intercalaires.
dans les autres mots, si vous avez installé votre ordinateur à Seattle, WA, et a déménagé à New York,NY la HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate ne sera pas tenir compte de cela. C'est le mauvaise date , il ne stocke pas le fuseau horaire où l'ordinateur a été initialement installé.
l'effet est, si vous changez le fuseau horaire pendant l'exécution de ce programme, la date sera erronée. Vous devez relancer l'exécutable pour qu'il tienne compte le fuseau horaire changement.
mais vous pouvez obtenir les informations de fuseau horaire de la classe WMI Win32_Registry .
InstallDate est dans l'heure UTC (format aaaammjjhhmmss.xxxxxx±UUU) selon Microsoft TechNet article "travailler avec les Dates et les heures en utilisant WMI" où notamment xxxxxx est millisecondes et ±UUU est le nombre de minutes différent du temps moyen de Greenwich.
private static string RegistryInstallDate()
{
DateTime InstallDate = new DateTime(1970, 1, 1, 0, 0, 0); //NOT a unix timestamp 99% of online solutions incorrect identify this as!!!!
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Registry");
foreach (ManagementObject wmi_Windows in searcher.Get())
{
try
{
///CultureInfo ci = CultureInfo.InvariantCulture;
string installdate = wmi_Windows["InstallDate"].ToString();
//InstallDate is in the UTC format (yyyymmddHHMMSS.xxxxxx±UUU) where critically
//
// xxxxxx is milliseconds and
// ±UUU is number of minutes different from Greenwich Mean Time.
if (installdate.Length==25)
{
string yyyymmddHHMMSS = installdate.Split('.')[0];
string xxxxxxsUUU = installdate.Split('.')[1]; //±=s for sign
int year = int.Parse(yyyymmddHHMMSS.Substring(0, 4));
int month = int.Parse(yyyymmddHHMMSS.Substring(4, 2));
int date = int.Parse(yyyymmddHHMMSS.Substring(4 + 2, 2));
int hour = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2, 2));
int mins = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2 + 2, 2));
int secs = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2 + 2 + 2, 2));
int msecs = int.Parse(xxxxxxsUUU.Substring(0, 6));
double UTCoffsetinMins = double.Parse(xxxxxxsUUU.Substring(6, 4));
TimeSpan UTCoffset = TimeSpan.FromMinutes(UTCoffsetinMins);
InstallDate = new DateTime(year, month, date, hour, mins, secs, msecs) + UTCoffset;
}
break;
}
catch (Exception)
{
InstallDate = DateTime.Now;
}
}
return String.Format("{0:ddd d-MMM-yyyy h:mm:ss tt}", InstallDate);
}
Dans RunCommand
écrire "MSINFO32"
et appuyer sur Entrée
Il affiche Toutes les informations relatives au système
je trouve la date de création de c:\pagefile.LA SAJR peut être assez fiable dans la plupart des cas. Il peut facilement être obtenu en utilisant cette commande (en supposant que Windows est installé sur C:):
dir /as /t:c c:\pagefile.sys
le '/as' spécifie 'les fichiers système', sinon il ne sera pas trouvé. Le '/t:c' définit le champ time pour afficher 'creation'.
déterminer la date D'Installation de Windows avec WMIC
WMIC os get installdate
presser WindowsKey + R et inscrire cmd
dans la fenêtre de commande type:
systeminfo | find /i "Original"
(pour les anciennes versions de windows, tapez "ORIGINAL" en majuscules).