Adicionando mensagens à tela de logon do Win7

1

Estou seguindo o tutorial aqui para mudar para a tela de logon, está funcionando até agora. No entanto, gostaria de ter um pouco mais de funcionalidade, se possível.

Eu posso exibir um título editando a seguinte chave reg;

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

legalnoticecaption

Eu também posso adicionar uma mensagem editando

legalnoticetext 

Gostaria agora de outro aviso para dizer " Este computador foi bloqueado por x minutos ".

O que preciso editar / criar para conseguir isso? Isso é possível?

A razão para fazer isso é porque em nosso laboratório alguns dos PCs estão sendo bloqueados e os usuários estão simplesmente se afastando deles. Eles fazem o logoff após 30 minutos, no entanto, eu gostaria de mostrar claramente a outros usuários que passam por quanto tempo um PC foi bloqueado.

    
por jonboy 22.05.2015 / 11:21

1 resposta

1

Sem o bastão - isso não é nativamente possível.

NO ENTANTO! pode ser possível através de um script.

Teoricamente, você poderia escrever um pequeno pedaço de VBScript para atualizar a chave do registro a cada minuto ou dois minutos com um novo valor lendo a hora de início da proteção de tela.

Esse cara do Scripting mostra como ler quando um protetor de tela é ativado. Se você fizer um diff de data / hora e encontrar o tempo decorrido - você deve ser capaz de atualize a chave de registro com "O protetor de tela está sendo executado por x minutos".

Isso pressupõe que a chave do aviso legal seja lida cada vez que é mostrada - não tenho o kit reserva ou o tempo para testar no minuto, mas deve apontar na direção certa.

Isso pode ser definido como uma tarefa agendada para ser executada a cada minuto ou dois.

Não é exatamente limpo, mas poderia funcionar .. apenas sobre.

Tente 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
    
por 22.05.2015 / 11:37