Pergunta

Esta é uma máquina Windows 2003 que fica ligado a cada manhã, mas ninguém faz logon até algumas horas mais tarde.

Eu quero usar o tempo entre executar um script de backup c: \ script \ backup.cmd

Como posso começar este autônoma após a máquina veio acima?

Eu tentei 2 chaves de registro, mas isso resultou no script a ser executado após um usuário faz logon (que é tarde demais):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

No final, eu usei o Windows TaskScheduler, que tem uma tal opção, mas eu queria saber se existe outra possibilidade?

Foi útil?

Solução

Resposta curta: GPEDIT.MSC (Iniciar, Executar, GPEdit.msc)

Windows 2000 e acima [1] oferecer um computador Scripts de inicialização coleta no editor de política:

  • Configurações do computador -> Configurações do Windows -> Scripts (arranque / encerramento)

Há um equivalente logon área de roteiro (ou seja, após a inicialização do computador, quando um usuário faz logon) no bit configuração do usuário.

Longer:

GPEDIT.MSC é o console editar Group Policy, e corre contra o armazenamento de política de grupo do computador local quando ele é usado diretamente, por isso é útil para a definição de parâmetros somente locais. Ao usar o Active Directory, a mesma interface é usado para editar a floresta hospedado objetos política de grupo (GPO), de modo que as mesmas configurações estão disponíveis através de um monte de máquinas.

Os scripts de inicialização do computador executado no contexto do computador , ou seja LocalSystem, como você observou, de modo que muitas vezes pode unidades de rede não acesso que exigem uma certa participação do usuário ou grupo de trabalho e assim por diante . Quando os computadores acessar a rede, eles geralmente (com exceções) usar a sua conta MACHINENAME $.

A script de inicialização é uma maneira rápida e fácil de começar um processo em execução durante a inicialização da máquina.

O processo de inicialização do computador será afetado pelo tempo que leva para executar o programa, porém, assim que você pode querer garantir que você chamá-lo com o comando START a partir de um arquivo de lote, ou especificar a não esperar para o executável para completa em qualquer linguagem de script que você usa. (O ponto chave é: executar o script de forma assíncrona a menos que seja crítico, ou não precisa ser executado de forma assíncrona cos ele sempre terá nenhum tempo em tudo longas botas. = usuários insatisfeitos).

Usando um serviço Win32 é uma opção alternativa - você pode usar o SRVANY utilitário do Resource Kit para "serviço de ify" praticamente qualquer executável. VS.Net 2002 e mais tarde também permitem que você crie um serviço gerenciado diretamente.

e Agendador de tarefas recebe muito mais capaz como de Vista / 2008, capaz de executar scripts na inicialização, em estado ocioso, e / ou quando logs de eventos são gerados ou certa outras condições sejam cumpridas: é muito legal! Tarefas agendadas tem a possível vantagem de ser capaz de especificar a conta de usuário sob a qual a tarefa é executada, se isso é importante para você.

Caveat Scriptor: http://support.microsoft.com/kb/256320

Executar scripts de inicialização assincronamente: http://msdn.microsoft.com/en-us/library/ms811602. aspx

Vista Agendador de Tarefas (o que é novo): http://technet.microsoft.com/en-us/appcompat/aa906020. aspx

[1] Windows XP, 2003, Vista / 2008, Windows 7 / 2008R2, o Windows 8/2012, o Windows 8.1 / 2012R2, Windows 10 / Windows Server 2016. Tudo. Mas NT4 não!

Outras dicas

Você já delineou uma boa solução:

Configuração de uma tarefa agendada para executar no arranque e permitir o trabalho a ser executado quando o usuário não está conectado no momento.

Você pode executar um script na inicialização do sistema usando política de grupo gpedit.msc

A maneira como você aleady fazer isso parece-me muito bem; No entanto, se você quiser uma abordagem alternativa, em seguida, serviços começar quando a máquina for assim que você poderia escrever um serviço que detecta se é um novo dia (para permitir reinicializações) e se ele é, então, executar o backup.

Se I estava fazendo isso como um serviço que eu usaria TCL porque eu sei que e como ela e tem uma extensão twapi que lhe permite executar um script como um serviço. Outras linguagens de script pode muito bem ter instalações similares.

Não é, se você estiver usando o Active Directory. Se você pode isolar o computador para o seu próprio OU ou usar a filtragem WMI, você pode atribuir um GPO que tem um script de inicialização do computador. Isto assegura que mesmo se alguém entrou através do modo seguro e desativado o Agendador de Tarefas, na inicialização e conexão com o domínio, o script seria executado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top