Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как узнать время, прошедшее после пуска Windows? (http://forum.oszone.net/showthread.php?t=303696)

Masutin 09-08-2015 00:43 2539040

Как узнать время, прошедшее после пуска Windows?
 
Если не командой (скриптом), то где искать? Например, Total Commander показывает такое значение, но ограниченное 1000 часами. Может, учитывается даже чистое время работы, вне спящего режима.

mwz 09-08-2015 01:37 2539047

Masutin, http://mydiv.net/arts/view-kak-uznat...i-Windows.html
и вообще
Как узнать время, прошедшее после пуска Windows

А в Windows Commander, позже ставший Total Commander, я при переводе этого термина схулиганил, поставив необязательное слово"уже:" тогда, в годы Win-3.1 и Win-95 (перевод стал официальным с 1997 года; последние несколько лет официальный перевод поддерживает группа Власова, мой же является теперь запасным), термины ещё не были так стандартизованы, как сейчас, а падала система гораздо чащё. И слово "уже" несло двойной смысл, второй с оттенком удивления: "Так долго??" :)

Foreigner 09-08-2015 02:02 2539050

Powershell:
Код:

$(get-date) - $(get-ciminstance win32_operatingsystem).lastbootuptime | ft days,hours,minutes,seconds -auto

Georgio 09-08-2015 10:13 2539089

Код пакетного файла для вывода времени работы системы в секундах:

Код:

@echo off

for /f "tokens=2 delims=," %%i in ('typeperf "\Система\Время работы системы" -sc 1^| findstr :') do echo %%~i

pause>nul

.

Пакетный файл сохраните в кодировке "OEM-866".

Iska 09-08-2015 12:42 2539152

Georgio, признавайтесь — до «typeperf» долго копали?

greg zakharov 09-08-2015 13:31 2539167

Iska, это во-первых. Ну а во-вторых:
Код:

$ptr = [Runtime.InteropServices.Marshal]::AllocHGlobal(48)

if ([Regex].Assembly.GetType(
  'Microsoft.Win32.NativeMethods'
).GetMethod(
  'NtQuerySystemInformation'
).Invoke(
  $null, @(3, $ptr, 48, 0)
) -eq 0) {
  [DateTime]::FromFileTime(
    [Runtime.InteropServices.Marshal]::ReadInt64($ptr)
  )
}

[Runtime.InteropServices.Marshal]::FreeHGlobal($ptr)


Iska 09-08-2015 13:41 2539169

Цитата:

Цитата greg zakharov
Iska, это во-первых. »

greg zakharov, а Вы?

Masutin 03-12-2015 05:25 2580913

Уважаемые! Слегка иная задача: вывод количества месяцев или дней а) со дня пуска, б) работы системы.
По PowerShell: Якобы get-ciminstance доступна начиная с v3, не для XP. Возможно ли нечто для PowerShell не выше v2?
По третьему скрипту (WSH?): При его запуске на XP в файле *.WSH - ошибка о том, что файл скрипта не указан, no script file specified. Виноват, не знаком с запуском таких скриптов.

Iska 03-12-2015 06:33 2580923

Цитата:

Цитата Masutin
а) со дня пуска, б) работы системы. »

Объясните разницу.

Цитата:

Цитата Masutin
По третьему скрипту (WSH?): »

Тут нет WSH.

Masutin 03-12-2015 06:51 2580928

Виноват, дополняю.
а) Количество месяцев или дней, прошедших со дня пуска системы.
б) Чистое время работы. Задача выполняется скриптом №2 для CMD, но в секундах.

Запуск скрипта №3 файлами с разрешениями VBS и JS вызывал ошибки. Как ещё запускать, к сожалению, не знаю.

Iska 03-12-2015 07:49 2580936

Цитата:

Цитата Masutin
дополняю.
а) Количество месяцев или дней, прошедших со дня пуска системы. »

«День пуска системы» — это Вы так называете дату/время инсталляции ОС, что ли?

Цитата:

Цитата Masutin
Запуск скрипта №3 файлами с разрешениями VBS и JS вызывал ошибки. »

1. Скрипты здесь не нумеруются. Указывайте номер или ссылку на сообщение (а вот внутри сообщения, если приведено несколько кодов, можете нумеровать — «первый», «второй код» и т.д.).
2. Я уже писал выше, что в этой теме нет скриптов WSH — ни VBScript, ни JScript. Есть только скрипты PowerShell и пакетные файлы.

Foreigner 03-12-2015 08:29 2580944

Должно работать в PowerShell-2
Код:

$lastboot = get-wmiobject win32_operatingsystem |

        foreach { ([wmi]'').converttodatetime($_.lastbootuptime) }

new-timespan $lastboot | format-table days,hours,minutes,seconds -autosize


Iska 03-12-2015 10:48 2580983

Цитата:

Цитата Foreigner
Должно работать в PowerShell-2 »

Работает.


Время: 11:12.

Время: 11:12.
© OSzone.net 2001-