1

Я следую учебник здесь для того , чтобы изменить экран входа в систему, он работает до сих пор. Однако я хотел бы немного больше функциональности, если это возможно.

Я могу отобразить заголовок , отредактировав следующий ключ reg;

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

legalnoticecaption

Я также могу добавить сообщение , отредактировав

legalnoticetext 

Теперь я хотел бы получить еще одно уведомление : « Этот компьютер заблокирован на x минут ».

Что мне нужно отредактировать / создать, чтобы добиться этого? Это вообще возможно?

Причина в том, что в нашей лаборатории некоторые компьютеры заблокированы, а пользователи просто уходят от них. Они выходят из системы через 30 минут, однако я хотел бы четко показать другим проходящим пользователям, как долго ПК был заблокирован.

1 ответ1

1

С самого начала - это не возможно изначально.

ТЕМ НЕ МЕНИЕ! это может быть возможно через скрипт.

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

Этот пост, посвященный сценаристам, показывает, как читать, когда появляется заставка. Если вы выполните различие между датой и временем и найдете истекшее время - вы сможете обновить раздел реестра: "Заставка работает в течение x минут".

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

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

Это не совсем чисто, но может работать .. просто.

Попробуйте что-то вроде:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objProcess in colProcesses
    If Right(objProcess.Name, 4) = ".scr" Then
        Wscript.Echo "Screen saver start time: " & DateDiff("n",WMIDateStringToDate(objProcess.CreationDate),now())
        'Set Registry Key to "x mins"
    End If
Next

Wscript.Echo "The screen saver is not running."
'Set Registry Key to "0 minutes"

Function WMIDateStringToDate(dtmStart)
    WMIDateStringToDate = CDate(Mid(dtmStart, 5, 2) & "/" & Mid(dtmStart, 7, 2) & "/" & Left(dtmStart, 4) & " " & Mid (dtmStart, 9, 2) & ":" & Mid(dtmStart, 11, 2) & ":" & Mid(dtmStart,13, 2))
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .