Назад | Перейти на главную страницу

Отображение диалогового окна при входе в систему с запросом причины входа - Windows Server

Я ищу способ отобразить диалоговое окно ввода при входе на рабочий сервер с просьбой указать причину входа в систему. Я подумал, может быть, в Windows есть способ сделать это, похожий на диалоговое окно «Завершение работы», которое отображается при перезапуске сервера.

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

Спасибо

В итоге я написал следующий сценарий VBScript и установил его для запуска при входе в систему в GPO.

' Display an input dialog asking the reason for a login and writes it to the event viewer with information of the user.

Const EVENT_TYPE = "Information" 'Available Values: Success, Error, Warning, Information
Const EVENT_SOURCE = "LoginAudit" 'Setting the event source requires that the script runs with administrative privileges

firstname = GetUserFirstname()
username = GetUsername()

loginReason = ""
Do While (loginReason = "")
    loginReason = InputBox("Hi " + firstname + ", please describe the reason of your login:", "Login Audit")
Loop

eventDescription = "User '" & username & "' logged in, providing the following reason: " & Chr(13) & Chr(13) & loginReason

Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = "eventcreate /T " & EVENT_TYPE & " /ID 100 /L Application /SO LoginAudit /D " & _
    Chr(34) & eventDescription & Chr(34)
WshShell.Run strcommand

Function GetUserFirstname()
    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objCurrentUser = GetObject("LDAP://" & objSysInfo.UserName)
    GetUserFirstname = objCurrentUser.givenName
End Function

Function GetUsername()
    Set objNetwork = CreateObject("Wscript.Network")
    GetUsername = objNetwork.UserName
End Function

Я искал, есть ли какой-нибудь интегрированный способ в Windows, прежде чем начать его писать.

Нет, нет. Боюсь, тебе придется написать это самому. Возможно, существует стороннее приложение, которое делает то, что вы хотите, но я боюсь, что рекомендации по продукту / услуге не относятся к теме здесь, в Server Fault.