Как узнать дату и время установки Windows?

Это может показаться немного безумным вопросом, но как я могу узнать (надеюсь, через ключ API/реестра) время и дату установки Windows?

Лучшее, что я могу придумать, — это посмотреть на различные файлы в C: Windows и попытаться угадать … но это не совсем хорошее решение.


В regedit.exe перейдите в:

  HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  Windows NT  CurrentVersion  InstallDate  

Это количество секунд с 1 января 1970 года. (Примечание: для Windows 10 эта дата будет, когда было установлено последнее обновление функции, а не исходная дата установки.)

Чтобы преобразовать это число в удобочитаемую дату/время, просто вставьте десятичное значение в поле «UNIX TimeStamp:» онлайн-инструмента Unix Time Conversion.


Другой вопрос, уместный для « code-challenge »: вот несколько исполняемых файлов исходного кода, которые отвечают на проблему, но они не полные.
Сможете ли вы найти сценарий vb, который каждый сможет выполнить на своем компьютере с ожидаемым результатом?


  systeminfo | find/i "original  " 

даст вам фактическую дату … не количество секунд;)
Как отмечает Сэмми, find/i" install " дает больше, чем вам нужно.
И это работает, только если языковой стандарт — английский: он должен соответствовать языку.
Для шведского это будет « ursprungligt «и» ursprüngliches «для немецкого языка.


В сценарии Windows PowerShell вы можете просто ввести:

  PS> $ os = get-wmiobject win32_operatingsystemPS> $ os.ConvertToDateTime ($ os.InstallDate) -f "MM/dd/yyyy"  

Используя WMI (инструментарий управления Windows)

Если вы не используете WMI, вы должны прочитать и преобразовать значение реестра:

  PS> $  path = 'HKLM:  SOFTWARE  Microsoft  Windows NT  CurrentVersion'PS> $ id = get-itemproperty -path $ path -name InstallDatePS> $ d = get  -date -year 1970 -month 1 -day 1 -hour 0 -minute 0 -second 0 ## добавить к часам (смещение по Гринвичу) ##, чтобы программно получить смещение часового пояса: ## get-date -f zzPS> ($ d  .AddSeconds ($ id.InstallDate)). ToLocalTime (). AddHours ((get-date -f zz)) -f "MM/dd/yyyy"  

Остальная часть этот пост дает вам другие способы доступа к той же информации. Выберите свой яд;)


В VB.Net это даст что-то вроде:

  Dim dtmInstallDate As DateTimeDim oSearcher As New  ManagementObjectSearcher ("ВЫБРАТЬ * ИЗ Win32_OperatingSystem") Для каждого oMgmtObj как объекта управления в oSearcher.Get dtmInstallDate = ManagementDateTimeConverter. ToDateTime (CStr (oMgmtO bj ("InstallDate"))) Далее  

В Autoit (язык сценариев Windows) это будет:

 ; Дата установки Windows; $ readreg = RegRead ("HKLM  SOFTWARE  MICROSOFT  WINDOWS NT  CURRENTVERSION ", "InstallDate") $ sNewDate = _DateAdd ('s', $ readreg, "  1970/01/01 00:00:00 ") MsgBox (4096," "," Date: "& $ sNewDate) Exit  

В Delphy 7 это будет выглядеть так:

  Функция GetInstallDate: String; Var di: longint;  buf: Массив [0..3] байтов; Начало результата: = 'Неизвестно';  С TRegistry.Create Начните RootKey: = HKEY_LOCAL_MACHINE;  LazyWrite: = True;  OpenKey (' SOFTWARE  Microsoft  Windows NT  CurrentVersion', False);  di: = readbinarydata ('InstallDate', buf, sizeof (buf));//Результат: = DateTimeToStr (FileDateToDateTime (buf [0] + buf [1] * 256 + buf [2] * 65535 + buf [3] *)  16777216)); showMessage (inttostr (di));  Свободный;  End; End;  

В качестве альтернативы CoastN предлагает в комментариях:

В качестве system.ini-file остается нетронутым при типичном развертывании Windows, вы можете фактически получить дату установки, используя следующую строку:

  (PowerShell): (Get-Item "C:  Windows  system.ini"). CreationTime  

17


У нас достаточно ответов, но я хочу положить свои 5 центов.

У меня Windows 10 установлена ​​ 30.10.2015 , а Creators Update установлен 14.04.2017 поверх моего предыдущего установка. Все методы, описанные в ответах до моего, дают мне дату установки Creators Update.

Мне удалось найти дату создания нескольких файлов, которая соответствует реальной (чистой) дате установки моей Windows 10:

  • в C:Windows

  • в C:

4


Открыть командную строку, введите « systeminfo » и нажмите клавишу ВВОД. Для получения информации вашей системе может потребоваться несколько минут. На странице результатов вы найдете запись «Дата установки системы». Это дата установки Windows. Этот процесс работает в XP, Win7, а также в Win8.

2


Как узнать дату/время установки Windows 7:

просто посмотрите это …

  • start> введите CMD
  • введите systeminfo

вот и все; тогда вы сможете увидеть всю информацию о вашей машине; очень простой метод


Когда-либо хотели узнать дату установки операционной системы на ваш компьютер? Вот быстрый и простой способ узнать дату и время, когда на вашем ПК была установлена ​​операционная система (или последнее обновление).

Откройте командную строку (start-> run -> type cmd- > нажмите Enter) и выполните следующую команду

systeminfo | find/i «дата установки»

Через пару секунд вы увидите дату установки

1


В Powershell выполните команду:

  systeminfo |  Select-String «Дата установки:»  

1


В ОС Windows 10 есть еще один подраздел реестра, он находится в файле куста SYSTEM:

ComputerHKEY_LOCAL_MACHINESYSTEMSetup 

Информация о дате установки — это дата/время установки исходной операционной системы компьютера. Он также сообщает вам, когда началось обновление, то есть

  Computer  HKEY_LOCAL_MACHINE  SYSTEM  Setup  Source OS (обновлено xxxxxx). " 

Это, конечно, может быть не по окончании обновления, пользователь может выбрать выключение вместо перезагрузки при появлении запроса и т. д.

На самом деле обновление может завершиться в другой день , и

  Computer  HKEY_LOCAL_MACHINE  SYSTEM  Setup  Source OS (Обновлено xxxxxx) " 

будет отражать дату/ время началось обновление.


HKLM SOFTWARE Microsoft Windows NT CurrentVersion InstallDate и systeminfo.exe выдает неправильную дату .

Определение временной метки UNIX не зависит от часового пояса. Временная метка UNIX определяется как количество секунд, прошедших с 00:00:00 по всемирному координированному времени (UTC), четверг, 1 января 1970 г., без учета дополнительных секунд.

Другими словами, если вы установили свой компьютер в Сиэтле, штат Вашингтон, и переехали в Нью-Йорк, штат Нью-Йорк, HKLM SOFTWARE Microsoft Windows NT CurrentVersion InstallDate не будет отражать этого. Это неправильная дата , он не сохраняет часовой пояс, в котором компьютер был изначально установлен.

Эффект от этого: , если вы измените часовой пояс при запуске этой программы, дата будет неправильной. Вам необходимо повторно запустить исполняемый файл, чтобы он учел изменение часового пояса.

Но вы можете получить информацию о часовом поясе из класса WMI Win32_Registry.

InstallDate находится в формате UTC (yyyymmddHHMMSS.xxxxxx ± UUU) согласно статье Microsoft TechNet «Работа с датами и временем с использованием WMI», где xxxxxx — миллисекунды, а ± UUU — количество минут, отличное от Время по Гринвичу.

  частная статическая строка RegistryInstallDate () {DateTime InstallDate = new DateTime (1970, 1, 1, 0, 0, 0); //НЕ временная метка unix. 99% онлайн-решений неверно определяют это как !!!!  ManagementObjectSearcher searchcher = новый ManagementObjectSearcher ("ВЫБРАТЬ * ИЗ Win32_Registry");  foreach (ManagementObject wmi_Windows в search.Get ()) {try {///CultureInfo ci = CultureInfo.InvariantCulture;  строка installdate = wmi_Windows ["InstallDate"]. ToString (); //Дата установки находится в формате UTC (yyyymmddHHMMSS.xxxxxx ± UUU), где критически////xxxxxx - миллисекунды, а//± UUU - количество минут, отличное от среднего времени по Гринвичу.  если (installdate.Length == 25) {строка yyyymmddHHMMSS = installdate.Split ('.') [0];  строка xxxxxxsUUU = installdate.Split ('.') [1]; //± = s для знака int year = int.Parse (yyyymmddHHMMSS.Substring (0, 4));  int месяц = ​​int.Parse (ггггммддЧЧММСС.Substring (4, 2));  int date = int.Parse (ггггммддЧЧММСС.Substring (4 + 2, 2));  int час = int.Parse (ггггммддЧЧММСС.Substring (4 + 2 + 2, 2));  int mins = int.Parse (ггггммддЧЧММСС.Substring (4 + 2 + 2 + 2, 2));  int secs = int.Parse (ггггммддЧЧММСС.Substring (4 + 2 + 2 + 2 + 2, 2));  интервал msecs = int.Parse (xxxxxxsUUU.Substring (0, 6));  double UTCoffsetinMins = double.Parse (xxxxxxsUUU.Substring (6, 4));  TimeSpan UTCoffset = TimeSpan.FromMinutes (UTCoffsetinMins);  InstallDate = new DateTime (год, месяц, дата, час, минуты, секунды, миллисекунды) + UTCoffset;  } перерыв;  } catch (исключение) {InstallDate = DateTime.Now;  }} return String.Format ("{0: ддд д-МММ-гггг ч: мм: сс тт}", InstallDate);  }  

3


Я считаю, что дата создания c: pagefile.sys в большинстве случаев может быть довольно надежной. Его легко получить с помощью этой команды (при условии, что Windows установлена ​​на C :):

  dir/as/t:cc:pagefile.sys pre> 

Символ '/as' указывает на 'системные файлы', иначе он не будет найден. '/T: c' устанавливает в поле времени отображение слова «создание».

3


Определите дату установки Windows с помощью WMIC

wmic os get installdate

1


Используйте speccy. Дата установки отображается в разделе «Операционная система». Http://www.piriform. com/speccy

1


Вы также можете проверить любую папку в системный диск вроде «виндовс» и «программных файлов». Щелкните правой кнопкой мыши папку, щелкните свойства и проверьте на общей вкладке дату создания папки.

3


В RunCommand напишите "MSINFO32" и нажмите Enter. Будет показана вся информация, относящаяся к системе

1


Вы можете просто проверить дату создания папки Windows (щелкните ее правой кнопкой мыши и проверьте свойства) 🙂


Очень простой способ из PowerShell:

  (Get-CimInstance -Class Win32_OperatingSystem) .InstallDate  

Извлечено из: https://www.sysadmit.com/2019/10/windows-cuando-fue-instalado.html


Нажмите Wi ndowsKey + R и введите cmd

В командном окне введите:

  systeminfo |  find/i "Original"  

(для более старых версий Windows введите «ORIGINAL» заглавными буквами).

3


Вы можете сделать это с помощью PowerShell:

  Get-ItemProperty -Path 'HKLM:  SOFTWARE  Microsoft  Windows NT  CurrentVersion ' -Name InstallDate |  Select-Object -Property @ {n = 'InstallDate'; e = {[DateTime] :: new (1970,1,1,0,0,0,0, 'UTC'). AddSeconds ($ _. InstallDate).  ToLocalTime ()}}  


Попробуйте эту команду powershell :

  Get-ChildItem -Path HKLM:  System  Setup  Source * |  ForEach-Object {Get-ItemProperty -Path Registry :: $ _} |  Select-Object ProductName, ReleaseID, CurrentBuild, @ {n = "Дата установки";  e = {([DateTime] '1/1/1970'). AddSeconds ($ _. InstallDate)}} |  Сортировка объекта «Дата установки»  

1


Попробовав различные методы, я решил, что время создания тома NTFS системного тома, вероятно, является лучшим прокси. Хотя есть инструменты для проверки (см. Эту ссылку), мне нужен метод без дополнительной утилиты. Я остановился на дате создания «C: System Volume Information» , и мне показалось, что в разных случаях он проверялся.

Однострочный PowerShell для получения это:

  ([DateTime] (Get-Item -Force 'C:  System Volume Information '). CreationTime) .ToString ('MM/dd/yyyy'  )  



Как узнать, когда Windows была установлена ​​на компьютер?

Есть несколько способов определить текущую версию Windows. Использование было установлено на компьютере. Ниже приведен список каждого из способов.

Поиск даты установки Windows с помощью systeminfo

Пользователи, работающие под управлением Microsoft Windows XP Professional, Windows Vista, Windows 7, Windows 8 или Windows 10 может использовать команду systeminfo, чтобы показать, когда Windows была установлена ​​на компьютере. Чтобы запустить и использовать команду systeminfo, выполните следующие действия.

Примечание

Если вы обновили до более новой версии Windows (например, обновили Windows 8 до Windows 10) исходный Показанная дата установки — это дата обновления.

  1. Откройте командную строку Windows.
  2. В командной строке введите следующая команда, чтобы показать только исходную дату установки. Если вы используете неанглийскую версию Windows, эта команда может не работать, и вы можете использовать один из других вариантов.
 systeminfo | find/i "original  "

Если все сделано правильно, systeminfo должна вернуть вывод, аналогичный показанному в примере.

 Исходная дата установки: 17.12.2015, 19:09:50 

или

  1. Откройте командную строку Windows.
  2. В командной строке введите systeminfo и нажмите Enter , чтобы увидеть результат, аналогичный следующему примеру. «Исходная дата установки» — это дата установки Windows на компьютер.
 Имя хоста: COMPUTERHOPE 
Имя ОС: Microsoft Windows 10 Pro
OS Версия: 10.0.10586 Н/Д Сборка 10586
Производитель ОС: Microsoft Corporation
Конфигурация ОС: Автономная рабочая станция
Тип сборки ОС: Многопроцессорная бесплатная
Зарегистрированный владелец: Computerhope
Зарегистрированная организация: Computer Hope
Идентификатор продукта: 00000-00000-00000-AAAAA
Исходная дата установки: 17.12.2015, 7:09:50 PM
Время загрузки системы: 28 марта 2016 г., 6:57:39
Производитель системы: Dell Inc.
Модель системы: XPS 8300
Тип системы: ПК на базе x64
Процессор (ы): 1 Процессор (ы) установлен.
[01]: Intel64 Family 6 Model 42 Stepping 7 Genuine Intel ~ 3401 Mhz
Версия BIOS: Dell Inc. A06, 17.10.2011
Каталог Windows: C: WINDOWS
Системный каталог: C: WINDOWS system32
Загрузочное устройство: Device HarddiskVolume1
Системный языковой стандарт: en-us; английский (США)
Язык ввода: en-us; английский (США)
Часовой пояс: (UTC-07: 00) Горное время (США и Канада )
Общий объем физической памяти: 8,174 МБ
Доступная физическая память: 2,955 МБ
Виртуальная память: максимальный размер: 16,366 МБ
Виртуальная память: Доступно: 6,455 МБ
Виртуальная память: Используется: 9 911 МБ
Расположение файла подкачки: C: pagefile.sys
Домен: WORKGROUP
Сервер входа в систему: \ MicrosoftAccount
Исправления: установлено 10 исправлений.
[01]: KB3116900
[02]: KB3124200
[03]: KB3124262
[04]: KB3124263
[05]: KB3135173
[06]: KB3139907
[07]: KB3140741
[08]: KB3140743
[09]: KB3140768
[10]: KB3144756
Сетевая карта (и): установлено 2 сетевых адаптера (и).
[01]: DW1501 Wireless-N WLAN Half-Mini Карта
Имя подключения: Wi-Fi
Статус: Media disco nnected
[02]: Broadcom NetLink (TM) Gigabit Ethernet
Имя подключения: Ethernet
DHCP включен: Да
DHCP-сервер: 192.168.1.1
IP-адрес (а)
[01]: 192.168.1.52
[02]: fe00 :: b0b0: 0000: 0000: 0000
Требования Hyper-V: режим монитора виртуальной машины Расширения: Да
Виртуализация включена во встроенном ПО: Да
Трансляция адресов второго уровня: Да
Доступно предотвращение выполнения данных: Да

Определение даты установки Windows в реестр

Дата установки также находится в реестре Windows для всех версий Windows, выполнив следующие действия.

  1. Откройте реестр.
  2. Перейдите по следующему пути.
 HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  Windows NT  CurrentVersion  
  1. Оказавшись в папке выше, найдите ключ «InstallDate», который содержит шестнадцатеричное и десятичное значение даты установки Windows. Откройте ключ «InstallDate».
  2. Выберите Decimal , чтобы получить десятичное значение, которое представляет собой дату в эпоху. После того, как это значение скопировано, вам нужно использовать преобразователь эпох, чтобы преобразовать это значение в читаемую дату. Ниже приведен пример эпохи и ее преобразованного значения даты.

Значение эпохи: 1450404590

GMT значение: пт, 18 декабря 2015 г., 02:09:50 GMT

Оцените статью
clickpad.ru
Добавить комментарий