Avisa o usuário se ele tentar se desconectar

10

Eu quero que um determinado usuário local não faça logoff. sempre. É muito parecido com essa pergunta idiota , mas eu não me importo se os botões estão lá, Eu quero pop-up uma caixa de mensagem que diz "Por favor, não faça logoff do console" com um botão "OK" que, em seguida, cancela a tentativa de logoff. Isso pode ser feito em um script de logoff?

existem políticas de grupo para desabilitar o botão de logoff no menu start e na caixa de diálogo CTRL-ALT-DEL. No entanto, o que eu gostaria mais é link , que parece não estar no servidor 2008 R2? Ou eu estou sentindo falta?

Eu até tentei desativar o botão de início de sessão , mas não funciona , apontado por Matt sobre essa questão semelhante

É possível criar um script de logoff que exiba uma caixa de diálogo avisando o usuário para não fazer logoff e, em seguida, cancelar o logoff?

Eu entendo que isso é uma necessidade tola - infelizmente não está em meu poder mudar ou retroceder. Eu exausto essas opções. Sinta-se à vontade para receber uma tonelada de votos positivos em um comentário explicando que esse é realmente um plano estúpido que obviamente está mitigando um sintoma de muitos problemas sistêmicos em vez de resolver qualquer problema. Compreendo perfeitamente que esse curso de ação está realmente criando problemas. Eu quero que isso seja feito para que eu possa terminar com este contrato e nunca mais trabalhe com eles novamente.

    
por dfstandish 27.02.2014 / 18:43

2 respostas

14

Quando tive a oportunidade de fazer isso, a maneira que eu efetivamente desabilitei o logoff (e o shutdown / restart) é fazendo três coisas.

  1. Use GPOs ou políticas de segurança locais (ou uma configuração de registro) para remover a opção de logoff disponível através do menu Ctrl + Alt + Del .

    • Para remover a opção do menu Ctrl + Alt + Del , você precisa navegar para User Configuration - > Administrative Templates - > System - > Ctrl+Alt+Del Options e ative a política Remove Logoff .

  2. Use GPOs ou políticas de segurança locais (ou uma configuração de registro) para configurar as opções disponíveis de logoff, reinicialização e desligamento disponíveis no menu Iniciar.

    • Para alterar o comportamento padrão do "Botão de energia", navegue até User Configuration - > Administrative Templates - > Start Menu and Taskbar e ative a política Change Start Menu power button .
      • Configurar para Lock é provavelmente o que você está procurando.
    • Para remover os botões Desligar / Reiniciar / Suspender / Hibernar do menu Iniciar, você precisa navegar para User Configuration - > Administrative Templates - > Start Menu and Taskbar e ative o Remove and prevent access to the Shut Down, Restart, Sleep and Hibernate command
    • Para remover a opção de logoff, navegue até User Configuration - > Administrative Templates - > Start Menu and Taskbar e ative a política Remove Logoff on the Start Menu

  3. Altere as permissões em shutdown.exe e logoff.exe (obrigado, Ryan!) para que nenhuma conta de usuário possa executá-lo. (Se você não precisa se preocupar com usuários executando shutdown.exe de uma linha de comando, você pode pular isso.)

    • (normalmente, deixo uma conta de serviço ou minha conta de administrador de backup com permissões para que eu possa alterá-la, se necessário, com o mínimo de esforço).
    • Por padrão, está em C:\Windows\systm32\ e as permissões permitem que usuários e administradores leiam e executem, mas reservam controle total para SYSTEM e Trusted Installer .
    • Trusted Installer também é o proprietário, por isso, para alterar as permissões, você precisa se apropriar de uma conta administrativa.

Uma vez que você tenha feito isso, não há como fazer logoff, reiniciar, desligar, hibernar ou dormir no computador sem passar por um bom esforço ... ou desconectar o cabo de alimentação.

Agora o menu Iniciar do meu servidor se parece com a imagem abaixo (e alternar o usuário apenas permite que outro usuário faça login):

EomenuCtrl+Alt+Delseparececom:

    
por 28.02.2014 / 16:22
4

Eu preferiria adicionar isso como um comentário, mas, graças às políticas do site, não devo comentar ...

Com relação aos scripts de Logoff, não sei o que pode ser feito. Mas em um aplicativo Windows Forms C #, você pode registrar para SystemEvents como SessionSwitch e SessionEnding. O último mesmo fornece uma propriedade Cancel no EventArgs. Tal aplicativo .Net poderia ajudar no seu caso, mas é claro que o usuário poderia fechar esse aplicativo primeiro (ou matá-lo do TaskManager) e depois ainda fazer logoff.

A propósito: sim, eu sei que coisas tão idiotas às vezes precisam ser feitas: existem empresas de software escrevendo programas que deveriam ser do Windows Services, mas rodando com uma GUI em uma sessão interativa ...

    
por 28.02.2014 / 12:56