Agregar mensajes a la pantalla de inicio de sesión de Win7

Agregar mensajes a la pantalla de inicio de sesión de Win7

estoy siguiendo el tutorialaquíPara cambiar a la pantalla de inicio de sesión, está funcionando hasta ahora. Sin embargo, me gustaría un poco más de funcionalidad si es posible.

Puedo mostrar untítuloeditando la siguiente clave de registro;

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

legalnoticecaption

También puedo agregar unmensajeeditando

legalnoticetext 

ahora quisiera otroavisodecir "Esta computadora ha estado bloqueada durante x minutos".

¿Qué necesito editar/crear para lograr esto? ¿Es esto siquiera posible?

La razón para hacer esto es porque en nuestro laboratorio algunas de las PC están bloqueadas y los usuarios simplemente se alejan de ellas. Cierran la sesión después de 30 minutos, sin embargo, me gustaría mostrar claramente a otros usuarios que pasan cuánto tiempo ha estado bloqueada una PC.

Respuesta1

Desde el principio, esto no es posible de forma nativa.

¡SIN EMBARGO! puede ser posible a través de un guión.

En teoría, podría escribir una pequeña parte de VBScript para actualizar la clave de registro cada minuto o dos minutos con un nuevo valor leyendo la hora de inicio del protector de pantalla.

Este tipo de secuencias de comandosLa publicación le muestra cómo leer cuándo se activa un protector de pantalla. Si hace una diferencia de fecha/hora y encuentra el tiempo transcurrido, debería poderactualizar la clave de registrocon "El salvapantallas ha estado funcionando durante x minutos".

Esto supone que la clave del aviso legal se lee cada vez que se muestra; no tengo el kit de repuesto ni tiempo para realizar pruebas en este momento, pero debería indicarle la dirección correcta.

Esto podría configurarse como una tarea programada para que se ejecute cada uno o dos minutos.

No está exactamente limpio, pero podría funcionar... más o menos.

Pruebe algo como:

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

información relacionada