Como eu desabilito o “Shutdown” no menu ctrl + alt + delete para usuários autenticados, mas deixo o botão liga / desliga no computador habilitado?

1

Estou trabalhando na configuração de um quiosque PC no trabalho. O único grande problema que eu tive é que eu não consigo desativar o botão de desligamento no menu controle + alt + delete sem também desativar o botão liga / desliga no próprio computador (para que apenas os funcionários possam desligá-lo). Desativar o menu control + alt + delete inteiramente para usuários específicos também é aceitável.

A única resposta real que encontrei envolve escrever meu próprio esboço GINA, e isso está um pouco além do escopo do projeto (e de minhas habilidades).

Detalhes adicionais: O shell do explorer não é usado, Um programa que relança o aplicativo de quiosque se ele for usado como o shell. O computador também será bloqueado em um gabinete, deixando os usuários acessarem apenas o monitor e o kb / mouse.

    
por voretaq7 17.06.2009 / 21:24

6 respostas

4

regedit hacks -

(evitar) desligamento sem logon:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
"shutdownwithoutlogon"=dword:00000000

funciona até o XP - não tentei com > = win7

Ctrl + Alt + Del quando conectado:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoClose"=dword:00000001

menu Iniciar:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"NoClose"=dword:00000001
    
por 21.06.2013 / 20:27
2

Já pensou em usar o Microsoft SteadyState ?

Há também um utilitário que permite ativar ou desativar facilmente o Gerenciador de Tarefas.

    
por 17.06.2009 / 22:03
2

Acho que esse método aborda o que você precisar. Não tenho certeza se isso afeta o botão de energia ou não (pode depender das configurações de energia da BIOS).

    
por 17.06.2009 / 22:07
0

Não tenho certeza se esse quiosque faz parte de um domínio. Se você estiver efetuando login como um determinado usuário, poderá criar um GPO que impeça o desligamento e vinculá-lo a uma unidade organizacional com esse usuário. Os logins de seus funcionários não estariam na unidade organizacional, portanto, eles não obteriam o GPO e manteriam a capacidade de desligamento por meio do menu Iniciar. Fazemos isso em nosso call center, onde queremos que o PC seja deixado ligado durante a noite, para que eles possam ser corrigidos. Se eles realmente precisarem ser desligados, um administrador ou gerente poderá fazer o login e encerrar.

    
por 18.06.2009 / 02:04
0

Eu deixei de me registrar mais cedo e não posso adicionar um comentário, então vou adicionar isso como uma resposta.

Estou um pouco longe no projeto para considerar o uso de outro método de bloquear o computador (como o SteadyState), e tudo, exceto o botão de desligamento e ctrl + alt + delete, estão bloqueados, mas vou mantê-lo mente para o futuro.

Como o computador faz parte de um domínio, não, ele não está em um domínio e o usuário é um usuário local.

Eu vou olhar para o método que zerrias 'sugeriu amanhã e ver se ele faz o que eu preciso.

    
por 18.06.2009 / 08:03
0

Eu encontrei uma maneira de desativar o menu ctrl + alt + del para usuários autenticados. Acontece que eu precisava usar um stub gina (na verdade, eu modifiquei um stub existente ) .

Este stub gina aparentemente tem vários recursos extras, como scripts de logon / logoff forçado e desabilitando o prompt ctrl + alt + del antes de efetuar login sem editar o registro. Eu tive que usar este aqui, pois o exemplo da Microsoft no SDK da plataforma Windows XP não foi iniciado corretamente para mim e não consegui encontrar outro stub adequado.

A única modificação que fiz no stub foi alterar o conteúdo de WlxLoggedOnSAS em gina.c para

#ifdef DEBUGLOG
    fprintf(fpginalog,"WlxLoggedOnSAS, SasType=%i.\n",dwSasType);
    fflush(fpginalog);
#endif
    if (dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL)
    {
        /* Eat the ctrl+alt+del event */
        return WLX_SAS_ACTION_NONE;
    }
    else{
        return GWlxLoggedOnSAS( pWlxContext, dwSasType, pReserved );
    }

Eu então construí o projeto no Visual Studio e movi o newgina resultante para C: \ Windows \ system32

O último passo foi adicionar uma chave de registro para que ela carregasse o stub gina na inicialização

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"GinaDLL"="C:\windows\system32\newgina.dll"

Desvantagens:

  • Isso também desativa ctrl + alt + del para administradores, mas eles têm o menu iniciar, por isso não é realmente um problema para mim. Poderia provavelmente ser corrigido com uma pequena modificação

  • Se você não usa o shell do explorer, você não pode sair, redefinindo o computador é sua única opção. isto pode ser possível usar outro programa para registrar uma tecla de atalho para sair.

  • A tela pisca por uma fração um segundo quando ctrl + alt + del é pressionado.

  • Pode não funcionar no XP SP3 ou Vista (de acordo com vários tópicos em outros sites)

Nota:

Eu não tenho uma versão binária do stub modificado disponível agora (e o login do OpenID do Google está bloqueado no trabalho, então não posso fazer o upload de lá), mas se você quiser compilar o stub você mesmo, é só pegar o Visual C ++ Express Edition e abrir o projeto, então substitua o código dentro de WlxLoggedOnSAS em gina.c pelo código mencionado anteriormente. Quando você construí-lo, você deve acabar com um newgina.dll

    
por 19.06.2009 / 06:44