Eu vou dizer o que os outros disseram, mas um pouco diferente, já que eu fiz exatamente isso com um par de programas horríveis (ambos são programas de pesquisa para relógios de tempo - o que é isso? com programas que pesquisam relógios de tempo sendo uma droga? :):
-
Faça logon no computador servidor como o usuário que executará o aplicativo. Defina o protetor de tela do usuário para ser seguro (isto é, exigir uma senha). Você provavelmente deve usar "tela em branco" para economizar CPU.
-
Coloque atalhos no seu script para iniciar o aplicativo e testar sua "vitalidade" no grupo "Inicialização" de "Todos os usuários". (Certifique-se de que seu script forneça ao aplicativo tempo suficiente para iniciar, antes de verificar se está "morto").
-
Pegue uma cópia do "nircmd" de link e jogue-o no diretório% SystemRoot% \ System32 (ou em qualquer lugar, na verdade). Adicione um atalho ao grupo "Todos os usuários" "Inicialização" para chamar:
Protetor de tela% SystemRoot% \ system32 \ nircmd.exe
-
Adicione os seguintes valores do registro, substituindo o nome de usuário e a senha apropriados.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon AutoAdminLogon - REG_SZ - 1 DefaultUsername - REG_SZ - Set to user name to logon with DefaultPassword - REG_SZ - Set to password to logon with DefaultDomain - REG_SZ - Set to either local machine's name if a local account is used to logon, or domain's name if a domain account is used to logon. ForceAutoLogon - REG_SZ - 1
- Modifique a permissão na chave NT \ CurrentVersion \ Winlogon de HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows (usando REGEDT32) para remover os grupos "Usuários avançados" e "Usuários" da ACL nessa chave. (Eu apenas testei isso em uma máquina W2K, e isso não atrapalhou o autologon). Isso impedirá que a senha de texto simples seja lida por um usuário de acesso limitado na caixa.
Neste ponto, o computador inicializará e fará logon automaticamente como o usuário que você especificou, iniciará o aplicativo e seu script "deadness" e entrará imediatamente em um protetor de tela bloqueado. A chave que está sendo mantida durante a inicialização não irá parar o auto-login (mas, como esta está fora do local, esperamos que o teclado / mouse esteja protegido de qualquer maneira).
Se você pode executá-lo no W2K3, você pode usar o argumento "/ admin" ou "/ console" no cliente da Área de Trabalho Remota (dependendo de qual versão você tem-- faça um "/?" para ver) para conectar para a sessão de console. Você precisará fazer logon com o mesmo nome de usuário e senha usados pela conta de logon automático, e qualquer pessoa que não tenha esse nome de usuário e senha não poderá se conectar à sessão de console.
Se você tiver que continuar executando-o no W2K, instale algo como o VNC, para poder controlar remotamente a sessão do console. Se você usar VNC, certifique-se de modificar a permissão na chave do registro onde a configuração VNC da máquina está armazenada (HKEY_LOCAL_MACHINE \ Software \ ORL \ Winvnc para versões mais antigas, outros locais para versões mais recentes) para remover "Usuários" e "Usuários avançados" "da ACL da chave. Isso impedirá que os usuários com acesso limitado acessem o hash da senha do VNC, que pode ser facilmente revertido para a senha do VNC.
É assim que eu faria.