pro - ¿Cómo encuentro la fecha y hora de instalación de Windows?
windows download (13)
¿Alguna vez quiso saber la fecha de instalación del sistema operativo de su PC? Esta es una manera rápida y fácil de averiguar la fecha y la hora en que se instaló (o se actualizó por última vez) el sistema operativo de su PC.
Abra el símbolo del sistema (start-> run -> type cmd-> hit enter) y ejecute el siguiente comando
systeminfo | encontrar / i "fecha de instalación"
En unos segundos, verá la fecha de instalación
Esto puede sonar como una pregunta un poco loca, pero ¿cómo puedo averiguar (con suerte mediante una API / clave de registro) la fecha y hora de instalación de Windows?
Lo mejor que puedo hacer hasta ahora es mirar varios archivos en C: / Windows y tratar de adivinar ... pero esa no es exactamente una buena solución.
Abra el símbolo del sistema, escriba " systeminfo " y presione enter. Su sistema puede tardar unos minutos en obtener la información. En la página de resultados, encontrará una entrada como "Fecha de instalación del sistema". Esa es la fecha de instalación de Windows. Este proceso funciona en XP, Win7 y también en win8.
Cómo averiguar la fecha / hora de instalación de Windows 7:
solo mira esto ...
- inicio> ingrese CMD
- entrar en systeminfo
Eso es; entonces puedes ver toda la información sobre tu máquina; método muy simple
El sistema operativo Windows 10 tiene otra subclave de registro, esta en el archivo de subárbol SYSTEM:
> "/Setup/Source OS."
La información de la fecha de instalación aquí es la fecha / hora de instalación del SO original de la computadora. También le dice cuándo comenzó la actualización, es decir,
"/Setup/Source OS (Updated on xxxxxx)."
Por supuesto, esto no puede ocurrir cuando finaliza la actualización, el usuario puede optar por apagar en lugar de reiniciar cuando se le solicite, etc.
La actualización puede completarse en un día diferente, y
> "/Setup/Source OS (Updated on xxxxxx)"
reflejará la fecha / hora en que comenzó la actualización.
En Powershell ejecuta el comando:
systeminfo | Select-String "Install Date:"
En RunCommand escriba "MSINFO32"
y "MSINFO32"
toda la información relacionada con el sistema
HKLM / SOFTWARE / Microsoft / Windows NT / CurrentVersion / InstallDate y systeminfo.exe produce la fecha incorrecta .
La definition de indicación de fecha y hora de UNIX es independiente de la zona horaria. La marca de tiempo de UNIX se define como la cantidad de segundos transcurridos desde la 00:00:00 hora universal coordinada (UTC) del jueves 1 de enero de 1970 y sin contar los segundos intercalares.
En otras palabras, si instaló su computadora en Seattle, WA y se mudó a Nueva York, NY, HKLM / SOFTWARE / Microsoft / Windows NT / CurrentVersion / InstallDate no reflejará esto. Es la fecha incorrecta , no almacena la zona horaria donde se instaló inicialmente la computadora.
El efecto de esto es que si cambia la zona horaria mientras ejecuta este programa, la fecha será incorrecta. Tienes que volver a ejecutar el ejecutable, para que represente el cambio de zona horaria.
Pero puede obtener la información de zona horaria de la clase WMI Win32_Registry .
InstallDate está en formato UTC (aaaammddHHMMSS.xxxxxx ± UUU) según el article Microsoft TechNet "Trabajar con fechas y horas usando WMI" donde notablemente xxxxxx es milisegundos y ± UUU es el número de minutos diferente al tiempo medio 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);
}
Otra pregunta elligeable para un '' code-challenge '': aquí hay algunos ejecutables de código fuente para responder el problema, pero no están completos.
¿Encontrará un script vb que cualquiera pueda ejecutar en su computadora, con el resultado esperado?
systeminfo|find /i "original"
le daría la fecha real ... no la cantidad de segundos;)
Como comments Sammy , find /i "install"
da más de lo que necesita.
Y esto solo funciona si la configuración regional es el inglés: debe coincidir con el idioma.
Para sueco, esto sería " ursprungligt
" y " ursprüngliches
" para alemán.
En el script de Windows PowerShell , puede escribir:
PS > $os = get-wmiobject win32_operatingsystem
PS > $os.ConvertToDateTime($os.InstallDate) -f "MM/dd/yyyy"
Mediante el uso de WMI ( Windows Management Instrumentation )
Si no usa WMI, debe leer y luego convertir el valor de registro:
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"
El resto de esta publicación le brinda otras formas de acceder a esa misma información. Elige tu veneno ;)
En VB.Net eso daría algo como:
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
En Autoit (un lenguaje de scripting de Windows), eso sería:
;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
En Delphy 7, eso sería como:
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;
Presione WindowsKey + R e ingrese cmd
En la ventana de comandos escribe:
systeminfo | find /i "Original"
(para versiones anteriores de Windows, escriba "ORIGINAL" en mayúsculas).
También puede verificar la casilla de verificación de cualquier carpeta de la unidad del sistema, como "ventanas" y "archivos de programa". Haga clic derecho en la carpeta, haga clic en las propiedades y verifique en la pestaña general la fecha en que se creó la carpeta.
Tenemos suficientes respuestas aquí, pero quiero poner mis 5 centavos.
Tengo instalado Windows 10 el 10/30/2015
y la Actualización de creadores instalada el 04/14/2017
además de mi instalación anterior. Todos los métodos descritos en las respuestas antes de la mía me dan la fecha de la instalación de Actualización de creadores.
He logrado encontrar la fecha de creación de algunos archivos que coincide con la fecha de instalación real (limpia) de mi Windows 10:
- en
C:/Windows
- en
C:/
Use speccy Muestra la fecha de instalación en la sección Sistema operativo. http://www.piriform.com/speccy
HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/InstallDate
Se da como el número de segundos desde el 1 de enero de 1970.
Para convertir ese número en una fecha / hora legible, simplemente pegue el valor decimal en el campo "Marca de tiempo UNIX:" de esta herramienta en línea de conversión de tiempo de Unix .