Como forçar o 'desligamento' em um horário pré-definido, na conta de administrador?

6

Eu quero forçar um PC doméstico do Windows7 Professional, uma única conta de administrador, a encerrar todos os dias em um horário predefinido (por exemplo, 22h). Eu quero tornar complicado para o usuário interferir com o desligamento.

  • As minhas primeiras ideias foram executadas shutdown.exe /s /t x quando o computador é iniciado, onde x é o diferença entre a hora do sistema e 10pm em segundos. Infelizmente, shutdown.exe /s pode ser facilmente cancelado chamando shutdown.exe /a .

  • Minha segunda ideia foi usar o Windows agendador de tarefas para agendar shutdown.exe /s /t 0 às 10 da noite. este pode ser facilmente contornado por brincando com a hora do sistema.

  • Um VBScript que Sleep s até 22:00 e depois desliga pode ser parado de o gerenciador de tarefas.

Por favor, assuma que o usuário está ciente do método que eu instalo para forçar o desligamento. (Por exemplo, renomear shutdown.exe para um nome desconhecido não é uma boa solução, porque o usuário descobrirá o nome desconhecido). O acesso à Internet está disponível, mas eu gostaria de evitar muito mais tráfego / conexões adicionais por causa disso.

O usuário geralmente não é malicioso e não agirá às 16h para cancelar um desligamento. Às 9h50, por outro lado, ele pode ficar tentado a cancelar o próximo desligamento. O usuário não removerá programas da pasta de inicialização.

    
por Frank Seifert 31.05.2011 / 13:45

5 respostas

3

Podemos estar fazendo isso de maneira errada. Nós não podemos realmente controlar um usuário de impedir um processo de desligamento quando eles estão logados como um administrador. O que você pode fazer é controlar se o computador tem energia ou não.

Pegue uma régua de energia com um temporizador anexado e defina-a para sair às 10:15 ou 10 : 30 Proteja essa faixa para que o usuário não possa acessá-la facilmente. Se eles desligarem o PC como deveriam, a régua de energia não os afetará. Se eles ignorarem o temporizador ou contornarem o sistema, o sistema perderá energia, desligando efetivamente o PC.

Isso tem o benefício adicional de impedir que o usuário reinicie a máquina depois das 10 da noite. Esse é o problema com um evento de desligamento, isso acontece apenas uma vez e não protege contra o usuário ligar a máquina novamente.

BIG CAVEAT (POR FAVOR, LEIA ANTES DE IMPLEMENTAR)

De repente, cortar energia em uma máquina pode danificar seu sistema. Enquanto a maioria dos discos rígidos é capaz de lidar com uma perda repentina de energia, seu sistema operacional pode não funcionar. Existe o potencial que o seu sistema operacional pode corromper-se ou ter outros problemas associados. Esta é uma sugestão do Do your risk ".

Se você gosta da ideia de cortar o poder. Você pode simplesmente conectar o monitor na faixa de pico temporizada. Isso efetivamente tornaria o computador inutilizável e não danificará seu sistema. Contanto que eles não possam ligar o cabo ou conectar em outra tomada, isso deve funcionar.

Espero que isso ajude (pode ser louco o suficiente para trabalhar)

    
por 31.05.2011 / 21:42
8

Se o usuário é administrador e sabe disso, não há como impedi-lo de impedir o desligamento. Parece que este é o computador de uma criança e você precisa deles para sair em um determinado momento. Ninguém deve administrar seu computador doméstico como administrador, ainda menos jovem.

Uma tarefa agendada executando o comando adequado é o melhor caminho a seguir, juntamente com a alteração dos direitos do usuário.

Com o Windows 7, se você configurou as contas corretamente, há uma boa ferramenta de controle dos pais do Windows Live que permitirá que você defina todos os tipos de controles e limitações.

Mas a primeira etapa, como outras pessoas notaram, é alterar a conta de usuário para uma conta de nível de usuário e criar uma conta de administrador que você possa acessar e não torne a senha fácil de adivinhar.

    
por 31.05.2011 / 17:05
3

Esta questão tem muito contra isso. Seu problema não é real. Não espere controlar uma conta de administrador. Torne o usuário não administrador e você pode fazer o que quiser.

    
por 31.05.2011 / 16:55
1

Use schtasks e execute via runuser /RU "SYSTEM" e dê um nome como "Atualização do Serviço Local".

Agora, mesmo que alguém liste todas as tarefas agendadas, elas verão uma lista de várias tarefas do sistema, e o nome de suas tarefas também parecerá técnico e o nome de usuário não dará identidade (o usuário seria "SYSTEM ").

Agora, talvez o momento seja um problema, então o que você poderia fazer é criar um programa em lote e executá-lo em, por exemplo, 21: 30hrs.

Dê este programa em lote no campo /TR .

(Para um backup, no caso de a energia acabar, crie uma tarefa. Mesmo conceito, mas no momento exato do desligamento e um nome um pouco diferente.

@echo off

:: DELAYING TIME TILL 22:00HRS

PING -n 3600 127.0.0.0>NUL

SHUTDOWN /S /F

EXIT

Tenha o arquivo armazenado em algum lugar impossível de encontrar e como o schtasks não mostra o caminho do executável, ele estará seguro a menos que alguém decida encontrar a string "SHUTDOWN" em cada arquivo!

Também para induzir em erro, eu sugiro fazer uma tarefa agendada que diga algo como "boa noite" / "desligamento" ou algo facilmente capturado para que a pessoa possa pensar que ganhou, mas onde o arquivo real estará em o fundo como um ninja.

    
por 08.09.2013 / 12:44
-1

A solução simples para torná-lo "combersome" é implementar muitos deles como cofres com falha e reduzir o tempo de espera de desligamento para próximo de 0. Dessa forma, enquanto eles estiverem preocupados um com o outro ainda estará em vigor. Ou se eles acham que, removendo um deles, estão livres e, de repente, o PC é desligado. Ter uma dúzia escondida em espera e possivelmente outro programa escondido em pastas do sistema (com nomes semelhantes) para substituí-las como excluídas é pura loucura. ;) Não haveria como impedir isso.

    
por 02.02.2017 / 16:54