Arquivo da categoria ‘Parte 18’

Pagina 776 – 820

Publicado: 14 de outubro de 2009 por tshingo em Parte 18

type= {driver | service | all}

Especifica o que deve ser enumerado. O tipo padrão é service.

 

Valor Descrição
driver Especifica que apenas os drivers são enumerados.
service Especifica que apenas os serviços são enumerados.
all Especifica que os drivers e os serviços são enumerados.

type= {own | share | interact | kernel | filesys | rec | adapt}

Especifica os tipos de serviços ou de drivers a serem enumerados.

 

Valor Descrição
own O serviço é executado em seu próprio processo. Ele não compartilha um arquivo executável com outros serviços. Este é o padrão.
share O serviço é executado como um processo compartilhado. Ele compartilha um arquivo executável com outros serviços.
interact O serviço pode interagir com a área de trabalho, recebendo entrada de usuários. Os serviços interativos devem ser executados na conta do sistema local.
kernel Driver.
filesys Driver do sistema de arquivos.

state= {active | inactive | all}

Especifica o estado inicial do serviço a ser enumerado. O estado padrão é active.

 

Valor Descrição
active Especifica todos os serviços ativos.
inactive Especifica todos os serviços em pausa ou parados.
all Especifica todos os serviços.

bufsize=Tamanho_do_Buffer

Especifica o tamanho (em bytes) do buffer de enumeração. O tamanho padrão é 1024 bytes.

ri=Índice_para_Continuação

Especifica o número de índice no qual a enumeração deve começar ou continuar. O padrão é 0.

group=Nome_do_Grupo

Especifica o grupo de serviços a ser enumerado. O padrão é todos os grupos.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Se não houver um espaço entre um parâmetro e seu valor (isto é, type= own, e não type=own), a operação falhará.
  • A operação queryex exibe as seguintes informações sobre um serviço: SERVICE_NAME (nome da subchave do serviço no Registro), TYPE, STATE (bem como estados que não estão disponíveis), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID e FLAGS.
  • O parâmetro type= pode ser usado duas vezes em alguns casos. A primeira ocorrência do parâmetro type= especifica se devem ser consultados serviços, drivers ou tudo. A segunda ocorrência do parâmetro type= especifica um tipo a partir da operação create para restringir ainda mais o escopo de uma consulta.
  • Quando o resultado de um comando queryex ultrapassa o tamanho do buffer de enumeração, é exibida uma mensagem semelhante a esta:
    Enum: more data, need 2130 bytes start resume at index 75
    Para exibir as informações restantes de queryex, execute queryex novamente, definindo bufsize= como o número de bytes e ri= como o índice especificado. Por exemplo, para que a saída restante seja exibida, digite o seguinte na linha de comando:
    sc queryex bufsize= 2130 ri= 75

Exemplos

Os seguintes exemplos mostram como é possível usar o comando sc queryex:

sc queryex messenger

sc queryex group= “”

sc querylock

Consulta e exibe o status de bloqueio do banco de dados do <b>Gerenciador de controle de serviços</b>.

Sintaxe

Sc [Nome_do_Servidor] querylock

Parâmetro

Nome_do_Servidor

Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC (“\\meuservidor”). Para executar SC.exe localmente, ignore este parâmetro.

/?

Exibe ajuda no prompt de comando.

sc sdset

Define o descritor de segurança de um serviço usando a linguagem de definição do descritor de serviços (SDDL).

Sintaxe

Sc [Nome_do_Servidor] sdset Nome_do_Serviço Descritor_de_Segurança_do_Serviço

Parâmetros

Nome_do_Servidor

Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC (“\\meuservidor”). Para executar SC.exe localmente, ignore este parâmetro.

Nome_do_Serviço

Especifica o nome do serviço retornado pela operação getkeyname.

descritor_de_segurança_do_serviço

Especifica o descritor do serviço na linguagem SDDL.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Para obter mais informações sobre SDDL, consulte Security Descriptor Definition Language no site da Microsoft (site em inglês).

sc sdshow

Exibe o descritor de segurança de um serviço usando a linguagem SDDL.

Sintaxe

Sc [Nome_do_Servidor] sdshow Nome_do_Serviço

Parâmetros

Nome_do_Servidor

Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC (“\\meuservidor”). Para executar SC.exe localmente, ignore este parâmetro.

Nome_do_Serviço

Especifica o nome do serviço retornado pela operação getkeyname.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Para obter mais informações sobre SDDL, consulte Security Descriptor Definition Language no site da Microsoft (site em inglês).

Exemplos

sc sdshow rpcss

sc start

Inicia a execução de um serviço.

Sintaxe

Sc [Nome_do_Servidor] start Nome_do_Serviço [Argumentos_de_Serviço]

Parâmetros

Nome_do_Servidor

Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC (“\\meuservidor”). Para executar SC.exe localmente, ignore este parâmetro.

Nome_do_Serviço

Especifica o nome do serviço retornado pela operação getkeyname.

argumentos_de_serviço

Especifica argumentos de serviço que serão transferidos para o serviço a ser iniciado.

/?

Exibe ajuda no prompt de comando.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc start:

sc start tapisrv

sc stop

Envia uma solicitação de controle STOP para um serviço.

Sintaxe

Sc [Nome_do_Servidor] stop Nome_do_Serviço

Parâmetros

Nome_do_Servidor

Especifica o nome do servidor remoto no qual o serviço está localizado. O nome deve seguir o formato UNC (“\\meuservidor”). Para executar SC.exe localmente, ignore este parâmetro.

Nome_do_Serviço

Especifica o nome do serviço retornado pela operação getkeyname.

/?

Exibe ajuda no prompt de comando.

Cuidado

  • A edição incorreta do Registro pode causar danos graves ao sistema. Antes de alterar o Registro, faça backup de todos os dados importantes do computador.

Comentários

  • Não é possível parar todos os serviços.

Exemplos

O seguinte exemplo mostra como é possível usar o comando sc stop:

sc stop tapisrv

***

SchTasks

Agenda comandos e programas para que sejam executados periodicamente ou em um horário específico. Adiciona e remove tarefas da agenda, inicia e interrompe tarefas sob demanda, bem como exibe e altera tarefas agendadas.

Para exibir a sintaxe do comando, clique neste comando:

schtasks create

Agenda uma tarefa.

Schtasks utiliza combinações de parâmetros diferentes para cada tipo de agendamento. Para visualizar a sintaxe combinada de criação de tarefas ou a sintaxe para a criação de uma tarefa com um determinado tipo de agendamento, clique em uma das opções a seguir.

Descrições da sintaxe combinada e de parâmetros

Sintaxe

Schtasks /create /scTipo_de_agendamento /tn Nome_da_tarefa /tr Tarefa_executada [/s Computador [/u [Domínio\]Usuário [/p Senha]]] [/ru {[Domínio\]Usuário | Sistema}] [/rp Senha] [/mo Modificador] [/d Dia[,Dia…] | *] [/m Mês[,Mês…]] [/i Tempo_Ocioso] [/st Hora_De_Início] [/ri Intervalo] [{/et Hora_De_Término | /du Duração} [/k]] [/sd Data_De_Início] [/ed Data_De_Término] [/it] [/Z] [/F]

Parâmetros

/scTipo_de_Agendamento

Especifica o tipo de agendamento. Os valores válidos são MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE.

 

Tipo de agendamento descrição
MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY Especifica a unidade de tempo do agendamento.
ONCE A tarefa é executada uma vez em uma data e hora especificadas.
ONSTART A tarefa é executada sempre que o sistema é iniciado. É possível especificar uma data de início ou executar a tarefa na próxima vez em que o sistema for iniciado.
ONLOGON A tarefa é executada sempre que um usuário (qualquer usuário) faz logon. É possível especificar uma data ou executar a tarefa na próxima vez em que o usuário fizer logon.
ONIDLE A tarefa é executada sempre que o sistema está ocioso durante um período especificado. É possível especificar uma data ou executar a tarefa na próxima vez em que o sistema estiver ocioso.

/tnNome_da_tarefa

Especifica um nome para a tarefa. Cada tarefa do sistema deve ter um nome exclusivo. O nome deve estar em conformidade com as regras para nomes de arquivos e não deve exceder 238 caracteres. Coloque entre aspas os nomes que incluem espaços.

/trTarefa_executada

Especifica o programa ou o comando executado pela tarefa. Digite o caminho totalmente qualificado e o nome de um arquivo executável, arquivo de script ou arquivo em lotes. O nome do caminho não deve exceder 262 caracteres. Se você omitir o caminho, SchTasks pressupõe que o arquivo está no diretório Raiz_do_Sistema\System32.

/s Computador

Agenda uma tarefa no computador remoto especificado. Digite o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local. Os parâmetros /u e /p só são válidos quando você usa /s.

/u [Domínio\]Usuário

Executa este comando com as permissões da conta de usuário especificada. As permissões do usuário atual do computador local constituem o padrão. Os parâmetros /u e /p são válidos somente para agendar uma tarefa em um computador remoto (/s). As permissões da conta especificada são usadas para agendar e executar a tarefa. Para executar a tarefa com as permissões de outro usuário, utilize o parâmetro /ru. A conta de usuário deve pertencer ao grupo Administradores do computador remoto. Além disso, o computador local deve estar no mesmo domínio que o computador remoto, ou deve estar em um domínio no qual o domínio do computador remoto confie.

/p Senha

fornece a senha para a conta de usuário especificada no parâmetro /u. Se você usar o parâmetro /u, mas omitir o parâmetro /p ou o argumento de senha, Schtasks solicitará uma senha e ocultará o texto digitado. Os parâmetros /u e /p são válidos somente para agendar uma tarefa em um computador remoto (/s).

/ru {[Domínio\]Usuário | Sistema}

Executa a tarefa com as permissões da conta de usuário especificada. Por padrão, a tarefa é executada com as permissões do usuário atual do computador local ou com a permissão do usuário especificado pelo parâmetro /u, caso seja utilizado. O parâmetro /ru é válido durante o agendamento de tarefas em computadores locais e remotos.

 

Valor Descrição
[Domínio\]Usuário Especifica uma conta de usuário alternativa.
Sistema ou “” Especifica a Conta do Sistema Local, uma conta altamente privilegiada, usada pelo sistema operacional e pelos serviços do sistema.

/rpSenha

Fornece a senha para a conta de usuário especificada no parâmetro /ru [Domínio\]Usuário. Se você omite esse parâmetro quando especifica uma conta de usuário, o SchTasks.exe solicita a senha e obscurece o texto digitado. Não use o parâmetro /rp para tarefas executadas com permissões da conta do Sistema (/ru System). A conta do sistema não tem uma senha e SchTasks.exe não solicita uma.

/moModificador

Especifica a freqüência com que a tarefa é executada no seu tipo de agendamento. Este parâmetro é válido, mas opcional, para um agendamento MINUTE, HOURLY, DAILY, WEEKLY e MONTHLY. O valor padrão é 1.

 

Tipo de agendamento Valores de modificadores Descrição
MINUTE 11439 A tarefa é executada a cada N minutos.
HOURLY 123 A tarefa é executada a cada N horas.
DAILY 1365 A tarefa é executada a cada N dias.
WEEKLY 152 A tarefa é executada a cada N semanas.
ONCE Nenhum modificador. A tarefa é executada uma vez.
ONSTART Nenhum modificador. A tarefa é executada durante a inicialização.
ONLOGON Nenhum modificador. A tarefa é executada quando o usuário especificado pelo parâmetro /u faz logon.
ONIDLE Nenhum modificador. A tarefa é executada após o sistema ficar ocioso durante o número de minutos especificado pelo parâmetro /i, necessário para uso com ONIDLE.
MONTHLY 112 A tarefa é executada a cada N meses.
MONTHLY LASTDAY A tarefa é executada no último dia do mês.
MONTHLY FIRST, SECOND, THIRD, FOURTH, LAST Utilize com o parâmetro /dDia para executar uma tarefa em uma semana e dia específicos. Por exemplo, na terceira quarta-feira do mês.

/d Dia[,Dia…] | *

Especifica um dia (ou dias) da semana ou do mês. Válido somente com um agendamento WEEKLY ou MONTHLY.

 

Tipo de agendamento Modificador Valores de dia (/d) Descrição
WEEKLY 1 – 52 MONSUN[,MONSUN…] | * Opcional. MON é o padrão. O valor curinga (*) significa todos os dias.
MONTHLY FIRST, SECOND, THIRD, FOURTH, LAST MONSUN Necessário para o agendamento de uma semana específica.
MONTHLY Nenhum ou {1 – 12} 131 Opcional e válido apenas sem nenhum parâmetro de modificador (/mo) (um agendamento de data específico) ou quando /mo é 1 – 12 (um agendamento “a cada N meses”). O padrão é dia 1 (o primeiro dia do mês).

/m Mês[,Mês…]

Especifica um mês (ou meses) do ano durante o qual a tarefa agendada deverá ser executada.. Valores válidos são JAN – DEC. O parâmetro /m é válido somente com um agendamento MONTHLY. É obrigatório quando o modificador LASTDAY é usado.

/iTempo_Ocioso

Especifica durante quantos minutos o computador está ocioso antes do início da tarefa. Um valor válido é um número inteiro de 1 a 999. Esse parâmetro só é válido com um agendamento ONIDLE e, então é obrigatório.

/stHora_de_Início

Especifica a hora do dia em que a tarefa começa (cada vez que ela é iniciada) no formato de 24 horas HH:MM. O valor padrão é o horário atual do computador local. O parâmetro /st é válido com os agendamentos MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY e ONCE. Obrigatório com um agendamento ONCE.

/riIntervalo

Especifica o intervalo de repetição em minutos. Não é aplicável para os tipos de agendamento: MINUTE, HOURLY, ONSTART, ONLOGON, ONIDLE. O intervalo válido vai de 1 a 599940 minutos (599940 minutos = 9999 horas). Se a opção /ET ou /DU for especificada, o padrão do intervalo de repetição será 10 minutos.

/etHora_de_término

Especifica a hora do dia em que a tarefa por minuto ou hora termina no formato de 24 horas HH:MM. Após a hora de término especificada, Schtasks não inicia a tarefa novamente até que a hora de início ocorra outra vez. Por padrão, os agendamentos de tarefa não possuem hora de término. Este parâmetro é opcional e somente é válido em um agendamento especificado como MINUTE ou HOURLY. Para obter um exemplo, consulte:

  • “Para agendar uma tarefa executada a cada 100 minutos durante o horário não comercial” na seção Para agendar uma tarefa executada a cada N minutos.

/duDuração

Especifica o período máximo de tempo para um agendamento por minuto ou hora no formato de 24 horas HHHH:MM. Com o fim do tempo especificado, Schtasks não inicia a tarefa novamente até que a hora de início ocorra outra vez. Por padrão, os agendamentos de tarefa não possuem duração máxima. Este parâmetro é opcional e somente é válido em um agendamento especificado como MINUTE ou HOURLY. Para obter um exemplo, consulte:

  • “Para agendar uma tarefa executada a cada 3 horas durante 10 horas” na seção Para agendar uma tarefa executada a cada N horas.

/k

Interrompe o programa executado pela tarefa na hora especificada por /et ou /du. Sem /k, Schtasks não inicia o programa novamente quando chega a hora especificada por /et ou /du e não interrompe o programa se ele ainda estiver em execução. Este parâmetro é opcional e somente é válido em um agendamento especificado como MINUTE ou HOURLY. Para obter um exemplo, consulte:

  • “Para agendar uma tarefa executada a cada 100 minutos durante o horário não comercial” na seção Para agendar uma tarefa executada a cada N minutos.

/sdData_de_Início

Especifica a data na qual o agendamento de tarefa inicia. O valor padrão é a data atual do computador local. O parâmetro /sd é válido e opcional para todos os tipos de agendamento. O formato do argumento Data_De_Início varia de acordo com o local selecionado para o computador local nas Opções Regionais e de Idioma no Painel de Controle. Apenas um formato é válido para cada local. Os formatos de data válidos estão listados na tabela a seguir. Use o formato mais semelhante ao formato selecionado para Data abreviada nas Opções Regionais e de Idioma no Painel de Controle do computador local.

 

MM/DD/AAAA Use em formatos em que o mês aparece primeiro, como em inglês (Estados Unidos) e em espanhol (Panamá).
DD/MM/AAAA Use em formatos em que o dia aparece primeiro, como em búlgaro e em holandês (Países Baixos).
AAAA/MM/DD Use em formatos em que o ano aparece primeiro, como em sueco e em francês (Canadá).

/edData_de_término

Especifica a data na qual o agendamento termina. Este parâmetro é opcional. Não é válido em um agendamento ONCE, ONSTART, ONLOGON ou ONIDLE. Por padrão, os agendamentos não possuem data de término. O formato do argumento Data_De_Término varia de acordo com o local selecionado para o computador local nas Opções Regionais e de Idioma no Painel de Controle. Apenas um formato é válido para cada local. Os formatos de data válidos estão listados na tabela a seguir. Use o formato mais semelhante ao formato selecionado para Data abreviada nas Opções Regionais e de Idioma no Painel de Controle do computador local.

 

MM/DD/AAAA Use em formatos em que o mês aparece primeiro, como em inglês (Estados Unidos) e em espanhol (Panamá).
DD/MM/AAAA Use em formatos em que o dia aparece primeiro, como em búlgaro e em holandês (Países Baixos).
AAAA/MM/DD Use em formatos em que o ano aparece primeiro, como em sueco e em francês (Canadá).

/it

Especifica que a tarefa seja executada somente quando o usuário de “executar como” (a conta de usuário na qual a tarefa é executada) estiver conectado ao computador. Este parâmetro não afeta as tarefas executadas com permissões do sistema. Por padrão, o usuário “executar como” é o usuário atual do computador local quando a tarefa é agendada ou a conta é especificada pelo parâmetro /u, caso ele seja usado. No entanto, se o comando incluir o parâmetro /ru, o usuário de “executar como” será a conta especificada pelo parâmetro /ru. Para obter exemplos, consulte:

  • “Para agendar uma tarefa executada a cada 70 dias se eu estiver conectado” na seção Para agendar uma tarefa executada a cada N dias.
  • “Para executar uma tarefa somente quando um determinado usuário estiver conectado” na seção Para agendar uma tarefa a ser executada com permissões diferentes.

/Z

Especifica a exclusão da tarefa quando o agendamento estiver concluído.

/F

Especifica a criação da tarefa e a eliminação de avisos se a tarefa já existir.

/?

Exibe ajuda no prompt de comando.

Agendar uma tarefa a ser executada a cada N minutos

Sintaxe de agendamento em minutos

schtasks /create /tnNome_da_tarefa/trTarefa_executada/sc minute [/mo {1 – 1439}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [{/et HH:MM | /du HHHH:MM} [/k]] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Em um agendamento em minutos, o parâmetro /sc minute é necessário. O parâmetro /mo (modificador) é opcional e especifica o número de minutos entre cada execução da tarefa. O valor padrão de /mo é 1 (cada minuto). Os parâmetros /et (hora de término) e /du (duração) são opcionais e podem ser usados com ou sem o parâmetro /k (finalizar tarefa).

Exemplos

Agendar uma tarefa executada a cada 20 minutos

O comando a seguir agenda a execução de um script de segurança, Sec.vbs, a cada 20 minutos. O comando usa o parâmetro /sc para especificar um agendamento em minutos e o parâmetro /mo para especificar um intervalo de 20 minutos.

Como o comando não inclui uma data ou hora de início, a tarefa começa 20 minutos depois que o comando é concluído e, a partir de então, será executada a cada 20 minutos sempre que o computador estiver em execução. Observe que o arquivo de origem do script de segurança está localizado em um computador remoto, mas a tarefa está agendada e é executada no computador local.

schtasks /create /sc minute /mo 20 /tn “Script de segurança” /tr \\central\data\scripts\sec.vbs

Agendar uma tarefa executada a cada 100 minutos durante o horário não comercial

O comando a seguir agenda um script de segurança, Sec.vbs, a ser executado no computador local a cada 100 minutos entre 17:00 e 7:59 a cada dia. O comando usa o parâmetro /sc para especificar um agendamento em minutos e o parâmetro /mo para especificar um intervalo de 100 minutos. Também utiliza os parâmetros /st e /et para especificar a hora de início e término de cada agendamento do dia. Além disso, usa o parâmetro /k para interromper o script se ele ainda estiver sendo executado às 7:59. Sem /k, Schtasks não iniciará o script após 7:59, mas a instância iniciada às 6:20 e que ainda estava em execução, não será interrompida.

schtasks /create /tn “Security Script” /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k

Agendar uma tarefa a ser executada a cada N horas

Sintaxe de agendamento em horas

schtasks /create /tnNome_da_tarefa/trTarefa_executada/sc hourly [/mo {1 – 23}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [{/et HH:MM | /du HHHH:MM} [/k]] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Em um agendamento por hora, o parâmetro /sc hourly é necessário. O parâmetro /mo (modificador) é opcional e especifica o número de horas entre cada execução da tarefa. O valor padrão de /mo é 1 (cada hora). O parâmetro /k (finalizar tarefa) é opcional e pode ser usado com /et (término no horário especificado) ou /du (término após o intervalo especificado).

Exemplos

Agendar uma tarefa executada a cada cinco horas

O comando a seguir agenda o programa MyApp para ser executado a cada cinco horas, começando em 1º de março de 2002. Ele utiliza o parâmetro /mo para especificar o intervalo e o parâmetro /sd para especificar a data de início. Como o comando não especifica uma hora de início, a hora atual é usada.

Como o computador local está definido para usar a opção Inglês (Zimbábue) em Opções regionais e de idioma, o formato da data de início é MM/DD/YYYY (03/01/2002).

schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn “My App” /tr c:\apps\myapp.exe

Agendar uma tarefa executada de hora em hora, cinco minutos depois da hora estabelecida

O comando a seguir agenda o programa Meu_apl para ser executado de hora em hora, começando à meia-noite e cinco. Como o parâmetro /mo é omitido, o comando usa o valor padrão do agendamento por hora, que é a cada (1) hora. Se este comando for executado após 00:05, o programa só será executado no dia seguinte.

schtasks /create /sc hourly /st 00:05 /tn “My App” /tr c:\apps\myapp.exe

Agendar uma tarefa executada a cada 3 horas por 10 horas

O comando a seguir agenda o programa MyApp para ser executado a cada 3 horas durante 10 horas.

O comando usa o parâmetro /sc para especificar um agendamento em horas e o parâmetro /mo para especificar o intervalo de 3 horas. Também utiliza o parâmetro /st para iniciar o agendamento à meia-noite e o parâmetro /du para finalizar as recorrências após 10 horas. Como o programa é executado por apenas alguns minutos, o parâmetro /k, que interrompe o programa se ele ainda estiver sendo executado quando acabar a duração, não é necessário.

schtasks /create /tn “My App” /tr myapp.exe /sc hourly /mo 3 /st 00:00 /du 0010:00

Neste exemplo, a tarefa é executada nos seguintes horários: 00:00., 3:00., 6:00 e 9:00. Como a duração é de 10 horas, a tarefa não é executada novamente ao meio-dia. Em vez disso, ela é iniciada novamente à meia-noite do dia seguinte.

Agendar uma tarefa a ser executada a cada N dias

Sintaxe de agendamento em dias

schtasks /create /tnNome_da_tarefa/tr Tarefa_executada /sc daily [/mo {1 – 365}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Em um agendamento diário, o parâmetro /sc daily é necessário. O parâmetro /mo (modificador) é opcional e especifica o número de dias entre cada execução da tarefa. O valor padrão de /mo é 1 (cada dia).

Exemplos

Para agendar uma tarefa que é executada diariamente

O exemplo a seguir agenda o programa MyApp para ser executado uma vez por dia, diariamente, às 8:00 até 31/12/02. Como ele omite o parâmetro /mo, o intervalo padrão de 1 é usado para executar o comando todos os dias.

Neste exemplo, como o sistema do computador local está definido como Inglês (Reino Unido) nas Opções regionais e de idioma do Painel de controle, o formato da data de término é DD/MM/YYYY (31/12/2002)

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc daily /st 08:00 /ed 31/12/2002

Agendar uma tarefa executada a cada 12 dias

O exemplo a seguir agenda o programa MyApp para ser executado a cada doze dias às 13:00, a partir de 31 de dezembro de 2002. O comando usa o parâmetro /mo para especificar um intervalo de dois (2) dias e os parâmetros /sd e /st para especificar a data e a hora.

Neste exemplo, como o sistema está definido para Inglês (Zimbábue) em Opções regionais e de idioma no Painel de controle, o formato da data de término é MM/DD/YYYY (12/31/2002)

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00

Agendar uma tarefa executada a cada 70 dias se eu estiver conectado

O comando a seguir agenda a execução de um script de segurança, Sec.vbs, a cada 70 dias. Ele usa o parâmetro /mo para especificar esse intervalo. Também utiliza o parâmetro /it para especificar se a tarefa é executada apenas quando o usuário sob cuja conta a tarefa é executada está conectado ao computador. Como a tarefa será executada com as permissões da minha conta de usuário, isso só ocorrerá quando eu estiver conectado.

schtasks /create /tn “Security Script” /tr sec.vbs /sc daily /mo 70 /it

Observação

  • Para identificar tarefas com a propriedade (/it) interativa apenas, use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa com /it, o campo Modo de Logon tem o valor Interativo apenas.

Agendar uma tarefa a ser executada a cada N semanas

Sintaxe de agendamento semanal

schtasks /create /tnNome_da_tarefa/tr Tarefa_executada /sc weekly [/mo {1 – 52}] [/d {MON – SUN[,MON – SUN…] | *}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Em um agendamento semanal, é necessário o parâmetro /sc weekly. O parâmetro /mo (modificador) é opcional e especifica o número de semanas entre cada execução da tarefa. O valor padrão de /mo é 1 (cada semana).

Os agendamentos semanais também apresentam um parâmetro /d opcional para agendar a execução da tarefa em dias específicos da semana ou em todos os dias (*). O padrão é MON (segunda-feira). A opção de todos os dias (*) equivale ao agendamento de uma tarefa diária.

Exemplos

Para agendar uma tarefa que é executada a cada seis semanas

O comando a seguir agenda o programa Meu_apl para ser executado em um computador remoto a cada seis semanas. Ele usa o parâmetro /mo para especificar o intervalo. Como o comando omite o parâmetro /d, a tarefa é executada às segundas-feiras.

Este comando também utiliza o parâmetro /s para especificar o computador remoto e o parâmetro /u para executar o comando com a conta Administrador do usuário. Como o parâmetro /p é omitido, SchTasks.exe solicita a senha da conta de administrador ao usuário.

Além disso, como o comando é executado remotamente, todos os caminhos nele mencionados, incluindo o do Meu_apl.exe, referem-se a caminhos no computador remoto.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /u Admin01

Para agendar uma tarefa que é executada em semanas intercaladas às sextas-feiras

O comando a seguir agenda uma tarefa para ser executada em sextas-feiras intercaladas. Ele utiliza o parâmetro /mo para especificar o intervalo de duas semanas e o parâmetro /d para especificar o dia da semana. Para agendar a execução de uma tarefa para todas as sextas-feiras, omita o parâmetro /mo ou defina-o como 1.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc weekly /mo 2 /d FRI

Agendar uma tarefa a ser executada a cada N meses

Sintaxe

schtasks /create /tn Nome_da_tarefa /tr Tarefa_executada /sc monthly [/mo {1 – 12}] [/d {131}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Neste tipo de agendamento, o parâmetro /sc monthly é necessário. O parâmetro /mo (modificador), que especifica o número de meses entre cada execução da tarefa, é opcional e o padrão é 1 (cada mês). Esse tipo de agendamento também apresenta um parâmetro /d opcional para agendar a execução da tarefa em uma data específica do mês. O padrão é dia 1 (o primeiro dia do mês).

Exemplos

Agendar uma tarefa executada no primeiro dia de cada mês

O comando a seguir agenda o programa MyApp para ser executado no primeiro dia de cada mês. Como o valor de 1 é o padrão para os parâmetros /mo (modificador) e /d (dia), eles são omitidos do comando.

schtasks /create /tn “My App” /tr myapp.exe /sc monthly

Para agendar uma tarefa que é executada trimestralmente

O comando a seguir agenda o programa Meu_apl para ser executado trimestralmente. Ele utiliza o parâmetro /mo para especificar o intervalo.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc monthly /mo 3

Agendar uma tarefa executada à meia-noite no vigésimo-primeiro dia de cada mês

O comando a seguir agenda o programa MyApp para ser executado à meia-noite no vigésimo-primeiro dia de cada mês. O comando especifica que essa tarefa deve ser executada por um ano, de 2 de julho de 2002 a 30 de junho de 2003.

O comando usa o parâmetro /mo para especificar o intervalo mensal (a cada dois meses), o parâmetro /d para especificar a data e /st para especificar a hora. Também utiliza os parâmetros /sd e /ed para especificar as datas de início e término, respectivamente. Como o computador local está definido com a opção Inglês (África do Sul) nas Opções Regionais e de Idioma do Painel de Controle, as datas são especificadas no formato local para essa região, AAAA/MM/DD.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo 2 /d 21 /st 00:00 /sd 2002/07/01 /ed 2003/06/30

Para agendar uma tarefa executada em um dia específico da semana

Sintaxe de agendamento semanal

schtasks /create /tn Nome_da_tarefa /tr Tarefa_executada /sc weekly [/d {MON – SUN[,MON – SUN…] | *}] [/mo {1 – 52}] [/st HH:MM] [/sd Data_De_Inicio] [/ed Data_De_Término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

O agendamento de “dia da semana” é uma variação do agendamento semanal. Em um agendamento semanal, é necessário o parâmetro /sc weekly. O parâmetro /mo (modificador) é opcional e especifica o número de semanas entre cada execução da tarefa. O valor padrão de /mo é 1 (cada semana). O parâmetro /d, que é opcional, agenda a execução da tarefa em dias específicos da semana ou em todos os dias (*). O padrão é MON (segunda-feira). A opção de todos os dias (/d *) equivale ao agendamento de uma tarefa diária.

Exemplos

Agendar uma tarefa executada às quartas-feiras

O comando a seguir agenda o programa MyApp para ser executado toda semana, às quartas-feiras. O comando usa o parâmetro /d para especificar o dia da semana. Como o comando omite o parâmetro /mo, a tarefa é executada toda semana.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc weekly /d WED

Agendar uma tarefa executada a cada oito semanas às segundas e sextas-feiras

O comando a seguir agenda a execução de uma tarefa para segunda ou sexta-feira a cada oito semanas. Ele utiliza o parâmetro /d para especificar os dias e o parâmetro /mo para especificar o intervalo de oito semanas.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc weekly /mo 8 /d MON,FRI

Para agendar uma tarefa executada em uma semana específica do mês

Sintaxe de uma semana específica

schtasks /create /tn Nome_da_tarefa /tr Tarefa_executada /sc monthly /mo {FIRST | SECOND | THIRD | FOURTH | LAST} /d MONSUN [/m {JANDEC[,JANDEC…] | *}] [/st HH:MM] [/sd Data_De_Início] [/ed Data_De_Término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | System}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

Neste tipo de agendamento, os parâmetros /sc monthly, /mo (modificador) e /d (dia) são necessários. O parâmetro /mo (modificador) especifica a semana na qual a tarefa é executada. O parâmetro /d especifica o dia da semana. Você pode especificar apenas um dia da semana para esse tipo de agendamento. O agendamento também apresenta um parâmetro /m (mês) opcional que permite agendar a tarefa para determinados meses.

Exemplos

Para agendar uma tarefa para o segundo domingo de cada mês

O comando a seguir agenda o programa Meu_apl para ser executado no segundo domingo de cada mês. Ele utiliza o parâmetro /mo para especificar a segunda semana do mês e o parâmetro /d para especificar o dia.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc monthly /mo SECOND /d SUN

Agendar uma tarefa para a primeira segunda-feira de março e setembro

O comando a seguir agenda o programa MyApp para ser executado na primeira segunda-feira de março e setembro. Ele utiliza o parâmetro /mo para especificar a primeira semana do mês e o parâmetro /d para especificar o dia. Também utiliza o parâmetro /m para especificar o mês, separando os argumentos de mês com uma vírgula.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo FIRST /d MON /m MAR,SEP

Para agendar uma tarefa executada em uma data específica a cada mês

Sintaxe de uma data específica

schtasks /create /tn Nome_da_tarefa /tr Tarefa_executada /sc monthly /d {131} [/m {JANDEC[,JANDEC…] | *}] [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

No tipo de agendamento de data específica, os parâmetros /sc monthly e /d (dia) são necessários. O parâmetro /d especifica uma data do mês (1 – 31), não um dia da semana. Você pode especificar apenas um dia no agendamento. O parâmetro /mo (modificador) não é válido com esse tipo de agendamento.

O parâmetro /m (mês) é opcional para esse tipo de agendamento e o padrão é a cada mês (*). Schtasks não permite agendar uma tarefa para uma data que não ocorra em um mês especificado pelo parâmetro /m. Entretanto, se você omitir o parâmetro /m e agendar uma tarefa para uma data que não ocorra todos os meses, como o dia 31, a tarefa não será executada nos meses menores. Para agendar uma tarefa para o último dia do mês, use o tipo de agendamento de último dia.

Exemplos

Para agendar uma tarefa para o primeiro dia de cada mês

O comando a seguir agenda o programa Meu_apl para ser executado no primeiro dia de cada mês. Como o modificador padrão é nenhum (sem modificador), o dia padrão é 1º e o mês padrão é todo mês, o comando não precisa de parâmetros adicionais.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc monthly

Para agendar uma tarefa para os dias 15 de maio e 15 de junho

O comando a seguir agenda o programa MyApp para ser executado em 15 de maio e 15 de junho às 15:00. Ele utiliza o parâmetro /d para especificar a data e o parâmetro /m para especificar os meses. Também usa o parâmetro /st para especificar a hora de início.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00

Para agendar uma tarefa executada no último dia de um mês

Sintaxe do último dia

schtasks /create /tn Nome_da_tarefa /tr Tarefa_executada /sc monthly /mo LASTDAY /m {JANDEC[,JANDEC…]} [/st HH:MM] [/sd Data_de_início] [/ed Data_de_término] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

No tipo de agendamento de último dia, os parâmetros /sc monthly, /mo LASTDAY (modificador) e /m (month) são necessários O parâmetro /d (dia) não é válido.

Exemplos

Para agendar uma tarefa para o último dia de cada mês

Para executar um programa no último dia de cada mês, crie três tarefas separadas. Cada tarefa deve incluir meses com o mesmo número de dias. Cada tarefa usa o parâmetro /mo para especificar o último dia e o parâmetro /m para especificar os meses.

O comando a seguir agenda o programa MyApp para ser executado no último dia de cada mês que contenha 31 dias.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo lastday /m JAN,MAR,MAY,JUL,AUG,OCT,DEC

O comando a seguir agenda o programa MyApp para ser executado no último dia de cada mês que contenha 30 dias.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo lastday /m APR,JUN,SEP,NOV

O comando a seguir agenda o programa MyApp para ser executado no último dia de fevereiro.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo lastday /m FEB

Para agendar uma tarefa para 18:00 no último dia de fevereiro

Você também pode agendar uma tarefa para ser executada no último dia do mês. O comando a seguir agenda o programa MyApp para ser executado às 18:00 do último dia de fevereiro. Ele usa o parâmetro /mo para especificar o último dia, o parâmetro /m para especificar o mês e o parâmetro /st para especificar a hora de início.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /mo lastday /m FEB /st 18:00

Para agendar uma tarefa executada uma vez

Sintaxe

schtasks /create /tnNome_da_tarefa /tr Tarefa_executada /sc once /st HH:MM [/sd Data_de_início] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

No tipo de agendamento de execução única, o parâmetro /sc once é necessário. O parâmetro /st, que especifica o horário de execução da tarefa, é necessário. O parâmetro /sd, que especifica a data de execução da tarefa, é opcional. Os parâmetros /mo (modificador) e /ed (data de término) não são válidos para este tipo de agendamento.

Schtasks não permitirá a você agendar a execução de uma tarefa uma vez, se a data e a hora especificada estiverem no passado, com base no horário do computador local. Para agendar uma tarefa executada uma vez em um computador remoto com um fuso horário diferente, é necessário agendá-la antes da ocorrência da data e da hora no computador local.

Exemplos

Para agendar uma tarefa que é executada uma vez

O comando a seguir agenda a execução do programa MyApp para a meia-noite de 1 de janeiro de 2003. Ele utiliza o parâmetro /sc para especificar o tipo de agendamento, além de /sd e st para especificar a data e a hora.

Como o computador local usa a opção Inglês (Estados Unidos) em Opções Regionais e de Idioma no Painel de Controle, o formato da data de início é MM/DD/AAAA.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00

Para agendar uma tarefa executada sempre que o sistema é iniciado

Sintaxe

schtasks /create /tnNome_da_tarefa/trTarefa_executada/sc onstart [/sd Data_de_início] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

No tipo de agendamento de inicialização, o parâmetro /sc onstart é necessário. O parâmetro /sd (data de início) é opcional e o padrão é a data atual.

Exemplos

Agendar uma tarefa executada quando o sistema é iniciado

O comando a seguir agenda o programa Meu_apl para ser executado sempre que o sistema é iniciado, começando em 15 de março de 2001:

Como o computador local usa a opção Inglês (Estados Unidos) em Opções Regionais e de Idioma no Painel de Controle, o formato da data de início é MM/DD/AAAA.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc onstart /sd 15/03/2001

Para agendar uma tarefa executada quando o usuário faz logon

Sintaxe

schtasks /create /tnNome_da_tarefa/tr Tarefa_executada /sc onlogon [/sd Data_de_início] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

O tipo de agendamento “no logon” agenda a execução de uma tarefa sempre que um usuário faz logon no computador. No tipo de agendamento “no logon”, o parâmetro /sc onlogon é necessário. O parâmetro /sd (data de início) é opcional e o padrão é a data atual.

Exemplos

Para agendar uma tarefa que é executada quando um usuário faz logon em um computador remoto

O comando a seguir agenda um arquivo em lotes para ser executado sempre que um usuário (qualquer usuário) faz logon no computador remoto. Ele utiliza o parâmetro /s para especificar o computador remoto. Como o comando é remoto, todos os caminhos nele mencionados, incluindo o caminho para o arquivo em lotes, referem-se a um caminho no computador remoto.

schtasks /create /tn “Iniciar site da Web” /tr c:\myiis\webstart.bat /sc onlogon /s Servidor23

Para agendar uma tarefa executada quando o sistema está ocioso

Sintaxe

schtasks /create /tnNome_da_tarefa/tr Tarefa_executada /sc onidle /i {1 – 999} [/sd Data_de_início] [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Comentários

O tipo de agendamento “quando ocioso” agenda a execução de uma tarefa sempre que não há atividade do usuário durante o tempo especificado pelo parâmetro /i. No tipo de agendamento “quando ocioso”, os parâmetros /sc onidle e /i (dia) são necessários. O parâmetro /sd (data de início) é opcional e o padrão é a data atual.

Exemplos

Para agendar uma tarefa que é executada sempre que o computador está ocioso

O comando a seguir agenda o programa Meu_apl para ser executado sempre que o computador está ocioso. Ele utiliza o parâmetro /i obrigatório para especificar que o computador deve permanecer ocioso por dez minutos antes do início da tarefa.

schtasks /create /tn “Meu apl” /tr c:\apps\meu_apl.exe /sc onidle /i 10

Para agendar uma tarefa executada agora

Schtasks não possui uma opção “executar agora”, mas você pode simular essa opção criando uma tarefa a ser executada uma vez e iniciada em alguns minutos.

Sintaxe

schtasks /create /tnNome_da_tarefa/tr Tarefa_executada /sc once [/st HH:MM] /sd MM/DD/AAAA [/it] [/ru {[Domínio\]Usuário [/rp Senha] | Sistema}] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Exemplos

Agendar uma tarefa executada em alguns minutos.

O comando a seguir agenda a execução de uma tarefa uma vez, em 13 de novembro de 2002, às 14:18, horário local.

Como o computador local usa a opção Inglês (Estados Unidos) em Opções Regionais e de Idioma no Painel de Controle, o formato da data de início é MM/DD/AAAA.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc once /st 14:18 /sd 11/13/2002

Para agendar uma tarefa executada com permissões diferentes

Você pode agendar tarefas de todos os tipos para execução com permissões de uma conta alternativa nos computadores local e remoto. Além dos parâmetros necessários para este tipo de agendamento em particular, o parâmetros /ru é obrigatório e /rp é opcional.

Exemplos

Executar uma tarefa ncom permissões de administrador no computador local

O comando a seguir agenda o programa MyApp para ser executado no computador local. Ele utiliza /ru para especificar se a tarefa deverá ser executada com as permissões da conta de administrador do usuário (Admin06). Neste exemplo, a tarefa é agendada para ser executada às terças-feiras, mas é possível usar qualquer tipo de agendamento para uma tarefa executada com permissões alternativas.

schtasks /create /tn “My App” /tr myapp.exe /sc weekly /d TUE /ru Admin06

Em resposta, SchTasks.exe solicita a senha de “executar como” da conta Admin06 e exibe uma mensagem de êxito.

Copiar Código

Please enter the run as password for Admin06: ********
 
SUCCESS: The scheduled task "My App" has successfully been created.

Executar uma tarefa com permissões alternativas em um computador remoto

O comando a seguir agenda o programa MyApp para ser executado no computador Marketing a cada quatro dias.

O comando usa o parâmetro /sc para especificar um agendamento diário e o parâmetro /mo para especificar um intervalo de quatro dias.

O comando usa o parâmetro /s para fornecer o nome do computador remoto e o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto (Admin01 no computador Marketing). Também utiliza /ru para especificar se a tarefa deverá ser executada com as permissões da conta de não-administrador do usuário (User01 no domínio Reskits). Sem o parâmetro /ru, a tarefa seria executada com as permissões da conta especificada por /u.

schtasks /create /tn “My App” /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01

Primeiro, Schtasks solicita a senha do usuário indicado pelo parâmetro /u (para executar o comando) e, em seguida, solicita a senha do usuário indicado pelo parâmetro /ru (para executar a tarefa). Depois de autenticar as senhas, Schtasks exibe uma mensagem indicando que a tarefa foi agendada.

Copiar Código

Type the password for Marketing\Admin01:********
 
Please enter the run as password for Reskits\User01: ********
 
SUCCESS: The scheduled task "My App" has successfully been created.

Executar uma tarefa apenas quando um determinado usuário estiver conectado

O comando a seguir agenda a execução do programa AdminCheck.exe no computador Public às sextas-feiras, às 4:00., mas somente se o administrador do computador estiver conectado.

O comando usa o parâmetro /sc para especificar um agendamento semanal, o parâmetro /d para especificar o dia e /st para especificar a hora de início.

O comando usa o parâmetro /s para fornecer o nome do computador remoto e o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto. Também usa o parâmetro /ru para configurar a execução da tarefa com as permissões do administrador do computador Public (Public\Admin01) e o parâmetro /it para indicar que a tarefa é executada a somente quando a conta Public\Admin01 está conectada.

schtasks /create /tn “Check Admin” /tr AdminCheck.exe /sc weekly /d FRI /st 04:00 /s Public /u Domain3\Admin06 /ru Public\Admin01 /it

Observação

  • Para identificar tarefas com a propriedade (/it) interativa apenas, use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa com /it, o campo Modo de Logon tem o valor Interativo apenas.

Para agendar uma tarefa executada com permissões do sistema

É possível executar tarefas de todos os tipos com as permissões da conta System nos computadores local e remoto. Além dos parâmetros necessários para o tipo de agendamento em particular, o parâmetro /ru system (ou /ru “”) é obrigatório e /rp não é válido.

Importante

  • A conta System não tem direitos de logon interativos. Os usuários não podem ver nem interagir com programas ou tarefas executadas com permissões do sistema.
  • O parâmetro /ru determina as permissões sob as quais a tarefa é executada, não as permissões usadas para agendá-la. Somente os Administradores podem agendar tarefas, independentemente do valor do parâmetro /ru.

Observação

  • Para identificar tarefas executadas com permissões do sistema, use uma consulta detalhada (/query /v). Na exibição de uma consulta detalhada de uma tarefa de execução no sistema, o campo Executar Como Usuário possui o valor NT AUTHORITY\SYSTEM e o campo Modo de Logon possui o valor Apenas em segundo plano.

Exemplos

Executar uma tarefa com permissões do sistema

O comando a seguir agenda o programa MyApp para ser executado no computador local com permissões da conta System. Neste exemplo, a tarefa é agendada para ser executada no décimo-quinto dia de cada mês, mas é possível usar qualquer tipo de agendamento para uma tarefa executada com permissões do sistema.

O comando utiliza o parâmetro /ru System para especificar o contexto de segurança do sistema. Como as tarefas do sistema não utilizam senhas, o parâmetro /rp é omitido.

schtasks /create /tn “My App” /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System

Como resposta, o SchTasks.exe exibe uma mensagem informativa e uma mensagem de êxito. Ele não solicita uma senha.

Copiar Código

INFO: The task will be created under user name ("NT AUTHORITY\SYSTEM").
SUCCESS: The Scheduled task "My App" has successfully been created.

Executar uma tarefa com permissões do sistema em um computador remoto

O comando a seguir agenda o programa MyApp para execução no computador Finance01 às 4:00 de cada manhã, com permissões do sistema.

Esse comando usa o parâmetro /tn para identificar a tarefa e o parâmetro /tr para especificar a cópia remota do programa MyApp. Utiliza o parâmetro /sc para especificar um agendamento diário, mas omite /mo porque 1 (cada dia) é o padrão. Além disso, usa o parâmetro /st para especificar a hora de início, que também é a hora em que a tarefa será executada a cada dia.

O comando usa o parâmetro /s para fornecer o nome do computador remoto e o parâmetro /u para especificar uma conta com permissão para agendar uma tarefa no computador remoto. Utiliza o parâmetro /ru para especificar se a tarefa deverá ser executada na conta do Sistema. Sem o parâmetro /ru, a tarefa seria executada com as permissões da conta especificada por /u.

schtasks /create /tn “My App” /tr myapp.exe /sc daily /st 04:00 /s Finance01 /u Admin01 /ru System

Schtasks solicita a senha do usuário indicado pelo parâmetro /u e, depois de autenticá-la, exibe uma mensagem informando que a tarefa foi criada e será executada com as permissões da conta do sistema.

Copiar Código

Type the password for Admin01:**********
 
INFO: The Schedule Task "My App" will be created under user name ("NT AUTHORITY\
SYSTEM").
SUCCESS: The scheduled task "My App" has successfully been created.

Para agendar uma tarefa que executa mais de um programa

Cada tarefa executa somente um programa. No entanto, é possível criar um arquivo em lotes que executa vários programas e agendar uma tarefa para executar esse arquivo. O procedimento a seguir demonstra esse método:

  1. Crie um arquivo em lotes que inicie os programas a serem executados.
    Neste exemplo, você pode criar um arquivo em lotes que inicie Visualizar eventos (Eventvwr.exe) e Monitor do sistema (Perfmon.exe).
  • Abra um editor de texto, como o Bloco de notas.
  • Digite o nome e o caminho totalmente qualificado para o arquivo executável de cada programa. Neste caso, o arquivo inclui as instruções a seguir.
    C:\Windows\System32\Eventvwr.exe C:\Windows\System32\Perfmon.exe
  • Salve o arquivo como Meus_apls.bat.
  1. Use o SchTasks.exe para criar uma tarefa que execute Meus_apls.bat.
    O comando a seguir cria a tarefa Monitoramento, que é executada sempre que um usuário faz logon. Ele utiliza o parâmetro /tn para nomear a tarefa e o parâmetro /tr para executar MyApps.bat. Além disso, usa o parâmetro /sc para indicar o tipo de agendamento OnLogon e o parâmetro /ru para executar a tarefa com permissões da conta Administrador do usuário.
    schtasks /create /tn Monitoramento /tr C:\Meus_apls.bat /sc onlogon /ru Reskit\Administrador
    Em decorrência desse comando, sempre que um usuário faz logon no computador, a tarefa inicia Visualizar eventos e Monitor do sistema.

Para agendar uma tarefa executada em um computador remoto

Para agendar uma tarefa a ser executada em um computador remoto, você deve adicioná-la à agenda desse computador remoto. É possível agendar tarefas de todos os tipos em um computador remoto, mas as condições a seguir devem ser atendidas.

  • Você deve ter permissão para agendar a tarefa. Assim, você deve estar conectado ao computador local com uma conta que faça parte do grupo Administradores no computador remoto ou deve usar o parâmetro /u para fornecer as credenciais de um Administrador desse computador.
  • Use o parâmetro /u somente quando os computadores local e remoto estiverem no mesmo domínio ou o computador local estiver em um domínio no qual o computador remoto confie. Caso contrário, o computador remoto não poderá autenticar a conta de usuário especificada e não poderá verificar se a conta pertence ao grupo Administradores.
  • A tarefa deve ter permissões suficientes para ser executada no computador remoto. As permissões exigidas variam de acordo com a tarefa. Por padrão, a tarefa é executada com a permissão do usuário atual do computador local ou, se o parâmetro /u for usado, ela será executada com a permissão da conta especificada por esse parâmetro /u. Entretanto, você pode usar o parâmetro /ru para executar a tarefa com permissões de uma conta de usuário diferente ou com permissões do sistema.

Exemplos

Um administrador agenda uma tarefa em um computador remoto

O comando a seguir agenda o programa MyApp para ser executado no computador remoto SRV01 a cada dez dias iniciando imediatamente. O comando usa o parâmetro /s para fornecer o nome do computador remoto. Como o usuário local atual é um Administrador do computador remoto, o parâmetro /u, que fornece permissões alternativas para o agendamento da tarefa, não é necessário.

Observe que durante o agendamento de tarefas em um computador remoto, todos os parâmetros se referem ao computador remoto. Portanto, o arquivo executável especificado pelo parâmetro /tr se refere à cópia de MyApp.exe no computador remoto.

schtasks /create /s SRV01 /tn “My App” /tr “c:\program files\corpapps\myapp.exe” /sc daily /mo 10

Em resposta, Schtasks exibirá uma mensagem de êxito indicando que a tarefa foi agendada.

Um usuário agenda um comando em um computador remoto (Caso 1)

O comando a seguir agenda o programa MyApp para ser executado em um computador remoto SRV06 a cada três horas. Como as permissões de administrador são necessárias para agendar uma tarefa, o comando utiliza os parâmetros /u e /p para fornecer as credenciais da conta do Administrador (Admin01 no domínio Reskits). Por padrão, essas permissões também são utilizadas para a execução da tarefa. Entretanto, como as permissões do Administrador não são necessárias para a execução da tarefa, o comando inclui os parâmetros /ru e /rp para substituir o padrão e executá-la com a permissão da conta de Administrador do usuário no computador remoto.

schtasks /create /s SRV06 /tn “My App” /tr “c:\program files\corpapps\myapp.exe” /sc hourly /mo 3 /u reskits\admin01 /p R43253@4$ /ru SRV06\user03 /rp MyFav!!Pswd

Em resposta, Schtasks exibirá uma mensagem de êxito indicando que a tarefa foi agendada.

Um usuário agenda um comando em um computador remoto (Caso 2)

O comando a seguir agenda o programa MyApp para ser executado no computador remoto SRV02 no último dia de cada mês. Como o usuário local atual (user03) não é um Administrador do computador remoto, o comando usa o parâmetro /u para fornecer as credenciais da conta de Administrador do usuário (Admin01 no domínio Reskits). As permissões da conta de administrador serão usadas para agendar e executar a tarefa.

schtasks /create /s SRV02 /tn “My App” /tr “c:\program files\corpapps\myapp.exe” /sc monthly /mo LASTDAY /m * /u reskits\admin01

Como o comando não incluía o parâmetro /p (senha), Schtasks solicita a senha. Em seguida, ele exibe uma mensagem de êxito e, neste caso, um aviso.

Copiar Código

Type the password for reskits\admin01:********
 
SUCCESS: The scheduled task "My App" has successfully been created.
 
WARNING: The Scheduled task "My App" has been created, but may not run because
the account information could not be set.

Este aviso indica que o domínio remoto não conseguiu autenticar a conta especificada pelo parâmetro /u. Neste caso, o domínio remoto não conseguiu autenticar a conta de usuário porque o computador local não faz parte de um domínio no qual o computador remoto confia. Quando isso ocorre, o trabalho aparece na lista de tarefas agendadas, mas na verdade a tarefa está vazia e não será executada.

A exibição de uma consulta detalhada a seguir expõe o problema com a tarefa. Observe que o valor de Horário da Próxima Execução é Nunca e que o valor de Executar Como Usuário é Não foi possível recuperar do banco de dados do agendador de tarefas.

Se esse computador fizesse parte do mesmo domínio ou de um domínio confiável, a tarefa teria sido agendada com êxito e executada conforme especificado.

Copiar Código

HostName:                             SRV44
TaskName:                             My App
Next Run Time:                        Never
Status:
Logon mode:                           Interactive/Background
Last Run Time:                        Never
Last Result:                          0
Creator:                              user03
Schedule:                             At 3:52 PM on day 31 of every month, start
 starting 12/14/2001
Task To Run:                          c:\program files\corpapps\myapp.exe
Start In:                             myapp.exe
Comment:                              N/A
Scheduled Task State:                 Disabled
Scheduled Type:                       Monthly
Start Time:                           3:52:00 PM
Start Date:                           12/14/2001
End Date:                             N/A
Days:                                 31
Months:                               JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NO
V,DEC
Run As User:                          Could not be retrieved from the task sched
uler database
Delete Task If Not Rescheduled:       Enabled
Stop Task If Runs X Hours and X Mins: 72:0
Repeat: Every:                        Disabled
Repeat: Until: Time:                  Disabled
Repeat: Until: Duration:              Disabled
Repeat: Stop If Still Running:        Disabled
Idle Time:                            Disabled
Power Management:                     Disabled

Comentários

  • Para executar um comando /create com as permissões de outro usuário, use o parâmetro /u. O parâmetro /u é válido apenas para o agendamento de tarefas em computadores remotos.
  • Para exibir mais exemplos de schtasks /create, digite schtasks /create /? em um prompt de comando.
  • Para agendar uma tarefa executada com as permissões de outro usuário, utilize o parâmetro /ru. O parâmetro /ru é válido para tarefas em computadores locais e remotos.
  • Para usar o parâmetro /u, o computador local deverá estar no mesmo domínio que o computador remoto ou em um domínio no qual o computador remoto confie. Caso contrário, a tarefa não será criada ou o trabalho ficará vazio e a tarefa não será executada.
  • Schtasks sempre solicita uma senha, a menos uma seja fornecida, mesmo quando você agenda uma tarefa no computador local utilizando a conta de usuário atual. Este é o comportamento normal para Schtasks.
  • Schtasks não verifica localizações de arquivos de programas nem senhas de contas de usuário. Se você não inserir a localização de arquivo ou a senha correta da conta de usuário, a tarefa será criada, mas não executada. Além disso, se a senha de uma conta for alterada ou expirar e você não alterar a senha salva na tarefa, ela não será executada.
  • A conta do Sistema não tem direitos de logon interativos. Os usuários não vêem e não podem interagir com programas executados com permissões do sistema.
  • Cada tarefa executa somente um programa. No entanto, é possível criar um arquivo em lotes que inicia diversas tarefas e depois agendar uma tarefa que executa esse arquivo.
  • É possível testar uma tarefa assim que ela é criada. Use a operação run para testar a tarefa e depois verifique se há erros no arquivo SchedLgU.txt (Raiz_do_Sistema\SchedLgU.txt).

schtasks change

Altera uma ou mais destas propriedades de uma tarefa.

  • O programa que a tarefa executa (/tr).
  • A conta de usuário com a qual a tarefa é executada (/ru).
  • A senha da conta de usuário (/rp).
  • Adiciona a propriedade interativa apenas à tarefa (/it).

Sintaxe

schtasks /change /tnNome_da_tarefa [/s Computador [/u [Domínio\]Usuário [/p Senha]]] [/ru {[Domínio\]Usuário | Sistema}] [/rp Senha] [/tr Tarefa_executada] [/st Data_de_início] [/ri Intervalo] [{/et Data_de_término | /du Duração} [/k]] [/sd Data_de_início] [/ed Data_de_término] [/{ENABLE | DISABLE}] [/it] [/z]

Parâmetros

/tnNome_da_tarefa

Identifica a tarefa a ser alterada. Digite o nome da tarefa.

/s Computador

Especifica o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local.

/u [Domínio\]Usuário

Executa este comando com as permissões da conta de usuário especificada. As permissões do usuário atual do computador local constituem o padrão. A conta de usuário especificada deve pertencer ao grupo Administradores do computador remoto. Os parâmetros /u e /p são válidos somente para alterar uma tarefa em um computador remoto (/s).

/p Senha

Especifica a senha da conta de usuário especificada no parâmetro /u. Se você usar o parâmetro /u, mas omitir o parâmetro /p ou o argumento de senha, Schtasks solicitará a você uma senha. Os parâmetros /u e /p só são válidos quando você usa /s.

/ru {[Domínio\]Usuário | Sistema}

Especifica a alteração da conta de usuário sob a qual a tarefa é executada. Para especificar a conta do Sistema Local, use as entradas válidas “”, “NT AUTHORITY\SYSTEM” ou “SYSTEM”. Quando você alterar a conta de usuário, altere também a respectiva senha. Se um comando possui um parâmetro /ru, mas não um parâmetro /rp, o schtasks solicita uma nova senha. As tarefas executadas com permissões da conta do sistema local não requerem ou solicitam uma senha.

/rpSenha

Especifica uma nova senha para a conta de usuário existente ou a conta de usuário especificada pelo parâmetro /ru. Este parâmetro é ignorado quando usado com a conta do sistema local.

/trTarefa_executada

Altera o programa executado pela tarefa. Digite o caminho totalmente qualificado e o nome de um arquivo executável, arquivo de script ou arquivo em lotes. Se você omitir o caminho, schtasks pressupõe que o arquivo está no diretório systemroot\System32. O programa especificado substitui o programa original executado pela tarefa.

/stHora_de_início

Especifica a hora de término para a tarefa, utilizando o formato de 24 horas, HH:mm. Por exemplo, um valor de 14:30 equivale ao horário de 12 horas 2:30 PM.

/riIntervalo

Especifica o intervalo de repetição da tarefa agendada, em minutos. O intervalo válido vai de 1 a 599940 (599940 minutos = 9999 horas).

/etHora_de_término

Especifica a hora de término para a tarefa, utilizando o formato de 24 horas, HH:mm. Por exemplo, um valor de 14:30 equivale ao horário de 12 horas 2:30 PM.

/duDuração

Especifica o fechamento da tarefa na Hora_de_Término ou Duração, se definido.

/k

Interrompe o programa executado pela tarefa na hora especificada por /et ou /du. Sem /k, Schtasks não inicia o programa novamente quando chega a hora especificada por /et ou /du e não interrompe o programa se ele ainda estiver em execução. Este parâmetro é opcional e somente é válido em um agendamento especificado como MINUTE ou HOURLY.

/sdData_de_início

Especifica a primeira data na qual a tarefa deverá ser executada. O formato de data é dd/mm/aaaa.

/edData_de_término

Especifica a última data na qual a tarefa deverá ser executada. O formato é dd/mm/aaaa.

/ENABLE

Especifica a habilitação da tarefa agendada.

/DISABLE

Especifica a desativação da tarefa agendada.

/it

Especifica que a tarefa agendada seja executada somente quando o usuário de “executar como” (a conta de usuário na qual a tarefa é executada) estiver conectado ao computador. Este parâmetro não afeta as tarefas executadas com permissões do sistema ou as que já têm a propriedade interativa apenas definida. Você não pode usar um comando de alteração para remover essa propriedade de uma tarefa. Por padrão, o usuário “executar como” é o usuário atual do computador local quando a tarefa é agendada ou a conta é especificada pelo parâmetro /u, caso ele seja usado. No entanto, se o comando incluir o parâmetro /ru, o usuário de “executar como” será a conta especificada pelo parâmetro /ru.

/z

Especifica a exclusão da tarefa quando o agendamento estiver concluído.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Os parâmetros /tn e /s identificam a tarefa. Os parâmetros /tr, /ru e /rp especificam propriedades da tarefa que você pode alterar.
  • Os parâmetros /ru e /rp especificam as permissões sob as quais a tarefa é executada. Os parâmetros /u e /p especificam as permissões usadas para alterar a tarefa.
  • Para alterar tarefas em um computador remoto, o usuário deverá estar conectado ao computador local com uma conta que faça parte do grupo Administradores no computador remoto.
  • Para executar um comando /change com as permissões de um usuário diferente (/u, /p), o computador local deverá estar no mesmo domínio que o computador remoto ou em um domínio no qual esse computador remoto confie.
  • A conta System não tem direitos de logon interativos. Os usuários não vêem e não podem interagir com programas executados com permissões do sistema.
  • Para identificar tarefas com a propriedade /it, use uma consulta detalhada (/query /v). Em uma exibição de consulta detalhada de uma tarefa com /it, o campo Modo de Logon tem o valor Interativo apenas.

Exemplos

Para alterar o programa executado por uma tarefa

O comando a seguir altera o programa que a tarefa Verificação de vírus executa, de Verificação_de_vírus.exe para Verificação_de_vírus2.exe. Esse comando usa o parâmetro /tn para identificar a tarefa e o parâmetro /tr para especificar o novo programa da tarefa. (Não é possível alterar o nome da tarefa.)

schtasks /change /tn “Verificação de vírus” /tr C:\Verificação_de_vírus2.exe

Como resposta, o SchTasks.exe exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The parameters of the scheduled task "Virus Check" have been changed.

Em decorrência desse comando, a tarefa Verificação de vírus agora executa o Verificação_de_vírus2.exe.

Para alterar a senha de uma tarefa remota

O comando a seguir altera a senha da conta de usuário da tarefa Lembrar_me no computador remoto, Serv01. Ele utiliza o parâmetro /tn para identificar a tarefa e o parâmetro /s para especificar o computador remoto. Além disso, usa o parâmetro /rp para especificar a nova senha, senh@3.

Esse procedimento é necessário sempre que a senha de uma conta de usuário expira ou é alterada. Se a senha salva em uma tarefa não for mais válida, a tarefa não será executada.

schtasks /change /tn Lembrar_me /s Serv01 /rp senh@3

Como resposta, o SchTasks.exe exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The parameters of the scheduled task "RemindMe" have been changed.

Em decorrência desse comando, a tarefa Lembrar_me agora é executada com a conta de usuário original, mas com uma nova senha.

Para alterar o programa e a conta de usuário de uma tarefa

O comando a seguir altera o programa executado por uma tarefa e altera a conta de usuário com a qual a tarefa é executada. Essencialmente, ele utiliza um agendamento antigo para uma nova tarefa. Altera a tarefa ChkNews, que inicia o Notepad.exe todas as manhãs às 9:00, para iniciar o Internet Explorer.

O comando usa o parâmetro /tn para identificar a tarefa. Também utiliza o parâmetro /tr para alterar o programa executado pela tarefa e o parâmetro /ru para alterar a conta de usuário com a qual a tarefa é executada.

O parâmetro /rp, que fornece a senha da conta de usuário, é omitido. Você precisa fornecer uma senha para a conta, mas pode usar o parâmetro /rp e digitar a senha em texto não criptografado, ou aguardar que o SchTasks.exe solicite uma senha e, em seguida, digitá-la em texto obscurecido.

schtasks /change /tn ChkNews /tr “c:\program files\Internet Explorer\iexplore.exe” /ru DomainX\Admin01

Como resposta, o SchTasks.exe solicita a senha da conta de usuário. Ele obscurece o texto digitado de modo que a senha não fique visível.

Copiar Código

Please enter the password for DomainX\Admin01:

Observe que o parâmetro /tn identifica a tarefa e os parâmetros /tr e /ru alteram as suas propriedades. Não é possível usar outro parâmetro para identificar a tarefa e não é possível alterar o nome da tarefa.

Como resposta, o SchTasks.exe exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The parameters of the scheduled task "ChkNews" have been changed.

Como resultado deste comando, a tarefa ChkNews agora executa o Internet Explorer com as permissões de uma conta de administrador.

Para alterar um programa para a conta do sistema

O comando a seguir altera a tarefa SecurityScript para que seja executada com permissões da conta do sistema. Ele utiliza o parâmetro /ru “” para indicar a conta do Sistema.

schtasks /change /tn Script_de_segurança /ru “”

Como resposta, o SchTasks.exe exibe a seguinte mensagem de êxito:

Copiar Código

INFO: The run as user name for the scheduled task "SecurityScript" will be changed to "NT AUTHORITY\SYSTEM".
SUCCESS: The parameters of the scheduled task "SecurityScript" have been changed.

Como as tarefas executadas com permissões da conta do sistema não exigem senha, o SchTasks.exe não a solicita.

Executar um programa apenas quando estou conectado

O comando a seguir adiciona a propriedade interativa apenas a MyApp, uma tarefa existente. Esta propriedade garante que a tarefa seja executada somente quando o usuário de “executar como”, ou seja, a conta de usuário na qual a tarefa é executada, estiver conectado ao computador.

Esse comando usa o parâmetro /tn para identificar a tarefa e o parâmetro /tr para adicionar a propriedade interativa apenas à tarefa. Como a tarefa já é executada com as permissões da minha conta de usuário, não preciso alterar o parâmetro /ru da tarefa.

schtasks /change /tn MyApp /it

Como resposta, SchTasks.exe exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The parameters of the scheduled task "MyApp" have been changed.

schtasks run

Inicia uma tarefa agendada imediatamente. A operação run ignora o agendamento, mas utiliza a localização do arquivo de programa, a conta de usuário e a senha salvas na tarefa para executá-la imediatamente.

Sintaxe

schtasks /run /tnNome_da_tarefa [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Parâmetros

/tnNome_da_tarefa

Obrigatório. Identifica a tarefa.

/s Computador

Especifica o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local.

/u [Domínio\]Usuário

Executa este comando com as permissões da conta de usuário especificada. Por padrão, o comando é executado com as permissões do usuário atual do computador local. A conta de usuário especificada deve pertencer ao grupo Administradores do computador remoto. Os parâmetros /u e /p só são válidos quando você usa /s.

/p Senha

Especifica a senha da conta de usuário especificada no parâmetro /u. Se você usar o parâmetro /u, mas omitir o parâmetro /p ou o argumento de senha, Schtasks solicitará a você uma senha. Os parâmetros /u e /p só são válidos quando você usa /s.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Use esta operação para testar tarefas. Se uma tarefa não for executada, verifique se há erros no log de transações do Serviço Agendador de Tarefas, Raiz_do_Sistema\SchedLgU.txt.
  • A execução de uma tarefa não afeta o seu agendamento nem altera o horário da próxima execução agendado para a tarefa.
  • Para executar uma tarefa remotamente, ela precisa ser agendada no computador remoto. Quando você a executa, a tarefa é executada somente no computador remoto. Para verificar se uma tarefa está sendo executada em um computador remoto, use o log de transações do Gerenciador de Tarefas ou do Agendador de Tarefas, Raiz_do_sistema\SchedLgU.txt.

Exemplos

Para executar uma tarefa no computador local

O comando a seguir inicia a tarefa “Script de segurança”.

schtasks /run /tn “Script de segurança”

Como resposta, o SchTasks.exe inicia o script associado à tarefa e exibe a seguinte mensagem:

Copiar Código

SUCCESS: Attempted to run the scheduled task "Security Script".

Conforme indica a mensagem, Schtasks tenta iniciar o programa, mas não pode verificar se o programa realmente foi iniciado.

Para executar uma tarefa em um computador remoto

O comando a seguir inicia a tarefa Atualização em um computador remoto, Serv01:

schtasks /run /tn Atualização /s Serv01

Nesse caso, o SchTasks.exe exibe a seguinte mensagem de erro:

Copiar Código

ERROR: Unable to run the scheduled task "Update".

Para descobrir a causa do erro, consulte o log de transações de tarefas agendadas, C:\Windows\SchedLgU.txt no Serv01. Nesse caso, a seguinte entrada será exibida no log:

Copiar Código

"Update.job" (update.exe) 3/26/2001 1:15:46 PM ** ERROR **
The attempt to log on to the account associated with the task failed, therefore, the task did not run.
The specific error is:
0x8007052e: Logon failure: unknown user name or bad password.
Verify that the task's Run-as name and password are valid and try again.

Aparentemente, o nome de usuário ou a senha da tarefa não é válido no sistema. O comando a seguir schtasks /change atualiza o nome de usuário e a senha da tarefa Atualização no Serv01:

schtasks /change /tn Atualização /s Serv01 /ru Administrador /rp Senh@3

Depois que o comando change é concluído, o comando run é executado novamente. Dessa vez, o programa Atualização.exe é iniciado e o SchTasks.exe exibe a seguinte mensagem:

Copiar Código

SUCCESS: Attempted to run the scheduled task "Update".

Conforme indica a mensagem, Schtasks tenta iniciar o programa, mas não pode verificar se o programa realmente foi iniciado.

schtasks end

Interrompe um programa iniciado por uma tarefa.

Sintaxe

schtasks /end /tnNome_da_tarefa [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Parâmetros

/tnNome_da_tarefa

Obrigatório. Identifica a tarefa que iniciou o programa.

/s Computador

Especifica o nome ou endereço IP de um computador remoto. O padrão é o computador local.

/u [Domínio\]Usuário

Executa este comando com as permissões da conta de usuário especificada. Por padrão, o comando é executado com as permissões do usuário atual do computador local. A conta de usuário especificada deve pertencer ao grupo Administradores do computador remoto. Os parâmetros /u e /p só são válidos quando você usa /s.

/p Senha

Especifica a senha da conta de usuário definida no parâmetro /u. Se você usar o parâmetro /u, mas omitir o parâmetro /p ou o argumento de senha, Schtasks solicitará a você uma senha. Os parâmetros /u e /p só são válidos quando você usa /s.

/?

Exibe ajuda.

Comentários

  • O SchTasks.exe finaliza somente as instâncias de um programa iniciadas por uma tarefa agendada. Para interromper outros processos, utilize o TaskKill, uma ferramenta incluída no Windows XP Professional. Para obter mais informações sobre o TaskKill, consulte Taskkill

Exemplos

Para finalizar uma tarefa em um computador local

O comando a seguir interrompe a instância do Bloco_de_notas.exe iniciada pela tarefa Meu Bloco de notas:

schtasks /end /tn “Meu Bloco de notas”

Como resposta, o SchTasks.exe interrompe a instância do Bloco_de_notas.exe iniciada pela tarefa e exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The scheduled task "My Notepad" has been terminated successfully.

Para finalizar uma tarefa em um computador remoto

O comando a seguir interrompe a instância do Internet Explorer iniciada pela tarefa InternetOn no computador remoto Serv01:

schtasks /end /tn InternetOn /s Serv01

Como resposta, o SchTasks.exe interrompe a instância do Internet Explorer iniciada pela tarefa e exibe a seguinte mensagem de êxito:

Copiar Código

SUCCESS: The scheduled task "InternetOn" has been terminated successfully.

schtasks delete

Exclui uma tarefa agendada.

Sintaxe

schtasks /delete /tn {Nome_da_tarefa | *} [/f] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Parâmetros

/tn {Nome_da_Tarefa | *}

Obrigatório. Identifica a tarefa que está sendo excluída.

 

Valor Descrição
nome_da_tarefa Exclui a tarefa nomeada.
* Exclui todas as tarefas agendadas no computador.

/f

Elimina a mensagem de confirmação. A tarefa é excluída sem aviso.

/s Computador

Especifica o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local.

/u[ Domínio\] Usuário

Executa este comando com as permissões da conta de usuário especificada. Por padrão, o comando é executado com as permissões do usuário atual do computador local. A conta de usuário especificada deve pertencer ao grupo Administradores do computador remoto. Os parâmetros /u e /p só são válidos quando você usa /s.

/p Senha

Especifica a senha da conta de usuário definida no parâmetro /u. Se você usar o parâmetro /u, mas omitir o parâmetro /p ou o argumento de senha, Schtasks solicitará a você uma senha. Os parâmetros /u e /p só são válidos quando você usa /s.

/?

Exibe ajuda no prompt de comando.

Comentários

  • A operação delete exclui a tarefa do agendamento. Não exclui o programa executado pela tarefa nem interrompe um programa em execução.
  • O comando delete * exclui todas as tarefas agendadas no computador, e não somente aquelas agendadas pelo usuário atual.

Exemplos

Para excluir uma tarefa do agendamento de um computador remoto

O comando a seguir exclui a tarefa “Iniciar mensagem” do agendamento de um computador remoto. Ele utiliza o parâmetro /s para identificar o computador remoto.

schtasks /delete /tn “Iniciar mensagem” /s Serv16

Como resposta, o SchTasks.exe exibe a mensagem de confirmação a seguir. Para excluir a tarefa, digite s. Para cancelar o comando, digite n:

Copiar Código

WARNING: Are you sure you want to remove the task "Start Mail" (Y/N )? 
SUCCESS: The scheduled task "Start Mail" was successfully deleted.

Para excluir todas as tarefas agendadas no computador local

O comando a seguir exclui todas as tarefas do agendamento do computador local, incluindo as agendadas por outros usuários. Ele utiliza o parâmetro /tn * para representar todas as tarefas no computador e o parâmetro /f para suprimir a mensagem de confirmação.

schtasks /delete /tn * /f

Como resposta, o SchTasks.exe exibe as mensagens de êxito a seguir, indicando que a única tarefa agendada, Script_de_segurança, foi excluída.

SUCCESS: The scheduled task "SecureScript" was successfully deleted.

schtasks query

Exibe as tarefas agendadas para execução no computador.

Sintaxe

Schtasks [/query] [/fo {TABLE | LIST | CSV}] [/nh] [/v] [/s Computador [/u [Domínio\]Usuário [/p Senha]]]

Parâmetros

[/query]

O nome da operação é opcional. Se você digitar schtasks sem nenhum parâmetro, será realizada uma consulta.

/fo {TABLE| LIST| CSV}

Especifica o formato da saída. TABLE é o padrão.

/nh

Omite cabeçalhos de coluna da exibição da tabela. Este parâmetro é válido com os formatos de saída TABLE e CSV.

/v

Adiciona propriedades avançadas de tarefas à exibição. As consultas que utilizam /v devem ser formatadas como LIST ou CSV.

/s Computador

Especifica o nome ou o endereço IP de um computador remoto (com ou sem barras invertidas). O padrão é o computador local.

/u[ Domínio\] Usuário

Executa este comando com as permissões da conta de usuário especificada. Por padrão, o comando é executado com as permissões do usuário atual do computador local. A conta de usuário especificada deve pertencer ao grupo Administradores do computador remoto. Os parâmetros /u e /p só são válidos quando você usa /s.

/p Senha

Especifica a senha da conta de usuário especificada no parâmetro /u. Se você usar /u, mas omitir /p ou o argumento de senha, Schtasks solicitará a você uma senha. Os parâmetros /u e /p só são válidos quando você usa /s.

/?

Exibe ajuda no prompt de comando.

Comentários

  • A operação query lista todas as tarefas que o usuário tem permissão para exibir. Os administradores podem exibir todas as tarefas no computador. Os usuários podem exibir apenas as tarefas agendadas por eles.

Exemplos

Para exibir as tarefas agendadas no computador local

Os comandos a seguir exibem todas as tarefas agendadas no computador local. Eles geram o mesmo resultado e podem ser usados de forma intercambiável.

schtasks

schtasks /query

Como resposta, o SchTasks.exe exibe as tarefas no formato de tabela simples padrão, conforme mostrado nesta tabela:

Copiar Código

TaskName                  Next Run Time            Status
========================= ======================== ==============
Microsoft Outlook         At logon time            
SecureScript              14:42:00 PM , 2/4/2001  

Exibir propriedades avançadas de tarefas agendadas

O comando a seguir solicita uma exibição detalhada das tarefas no computador local. Ele utiliza o parâmetro /v para solicitar uma exibição detalhada (modo detalhado) e o parâmetro /fo LIST para formatar a exibição como uma lista de modo a facilitar a leitura. É possível usar esse comando para verificar se uma tarefa criada possui o padrão de recorrência pretendido.

schtasks /query /fo LIST /v

Como resposta, o SchTasks.exe exibe uma lista detalhada de propriedades de todas as tarefas. A exibição a seguir mostra a lista de uma tarefa agendada para ser executada às 4:00 na última sexta-feira de cada mês:

Copiar Código

HostName:                                  RESKIT01
TaskName:                                  SecureScript
Next Run Time:                             4:00:00 AM , 3/30/2001
Status:                                    Not yet run
Logon mode:                                Interactive/Background
Last Run Time:                             Never
Last Result:                               0
Creator:                                   user01
Schedule:                                  At 4:00 AM on the last Fri of every month, starting 3/24/2001
Task To Run:                               C:\WINDOWS\system32\notepad.exe
Start In:                                  notepad.exe
Comment:                                   N/A
Scheduled Task State:                      Enabled
Scheduled Type:                            Monthly
Modifier:                                  Last FRIDAY
Start Time:                                4:00:00 AM
Start Date:                                3/24/2001
End Date:                                  N/A
Days:                                      FRIDAY
Months:                                    JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
Run As User:                               RESKIT\user01
Delete Task If Not Rescheduled:            Enabled
Stop Task If Runs X Hours and X Mins:      72:0
Repeat: Until Time:                        Disabled
Repeat: Duration:                          Disabled
Repeat: Stop If Still Running:             Disabled
Idle: Start Time(For IDLE Scheduled Type): Disabled
Idle: Only Start If Idle for X Minutes:    Disabled
Idle: If Not Idle Retry For X Minutes:     Disabled
Idle: Stop Task If Idle State End:         Disabled
Power Mgmt: No Start On Batteries:         Disabled
Power Mgmt: Stop On Battery Mode:          Disabled

Para registrar tarefas agendadas em um computador remoto

O comando a seguir solicita uma lista de tarefas agendadas em um computador remoto e as adiciona a um arquivo de log separado por vírgulas no computador local. É possível usar esse formato de comando para reunir e controlar tarefas que estão agendadas em diversos computadores.

O comando utiliza o parâmetro /s para identificar o computador remoto, Reskit16, o parâmetro /fo para especificar o formato e o parâmetro /nh para eliminar os cabeçalhos de coluna. O símbolo de inclusão >> redireciona a saída para o log de tarefa, p0102.csv, no computador local, Serv01. Como o comando é executado no computador remoto, o caminho do computador local precisa ser totalmente qualificado.

schtasks /query /s Reskit16 /fo csv /nh >> \\svr01\data\tasklogs\p0102.csv

Como resposta, o SchTasks.exe adiciona as tarefas agendadas no computador Reskit16 ao arquivo p0102.csv no computador local, Serv01.

Comentários

  • Este arquivo de ajuda descreve a versão de Schtasks.exe incluída na família de produtos Windows Server™ 2003. Para obter informações sobre a versão de Schtasks.exe no Windows XP Professional, consulte o tópico Schtasks na Ajuda do Windows XP Professional.
  • SchTasks.exe executa as mesmas operações que Tarefas agendadas no Painel de controle. Você pode usar essas ferramentas em conjunto ou de maneira intercambiável.
  • Schtasks.exe substitui At.exe, uma ferramenta incluída nas versões anteriores do Windows. Embora At.exe ainda seja fornecida com a família de produtos Windows Server™ 2003, Schtasks é a ferramenta de agendamento de linha de comando recomendada.
  • Os parâmetros em um comando Schtasks podem aparecer em qualquer ordem. Se você digitar schtasks sem nenhum parâmetro, será realizada uma consulta.
  • Permissões para Schtasks
  • Você deve ter permissão para executar o comando. Qualquer usuário pode agendar uma tarefa no computador local, e ele pode exibir e alterar as tarefas que agendar. Os participantes do grupo Administradores podem agendar, exibir e alterar todas as tarefas no computador local.
  • Para agendar, exibir ou alterar uma tarefa em um computador remoto, você deve fazer parte do grupo Administradores nesse computador ou deve usar o parâmetro /u para fornecer as credenciais de um Administrador do computador remoto.
  • Use o parâmetro /u em uma operação /create ou /change somente quando os computadores local e remoto estiverem no mesmo domínio ou o computador local estiver em um domínio no qual o computador remoto confie. Caso contrário, o computador remoto não poderá autenticar a conta de usuário especificada e não poderá verificar se a conta pertence ao grupo Administradores.
  • A tarefa deverá ter permissão para ser executada. As permissões exigidas variam de acordo com a tarefa. Por padrão, as tarefas são executadas com as permissões do usuário atual do computador local ou com as permissões do usuário especificado pelo parâmetro /u, caso seja utilizado. Para executar a tarefa com as permissões de outra conta de usuário ou do sistema, utilize o parâmetro /ru.
  • Para verificar se uma tarefa agendada foi executada ou para saber a razão pela qual ela não foi executada, consulte o log de transações do Serviço Agendador de Tarefas, Raiz_do_sistema\SchedLgU.txt. Esse log registra as tentativas de execução iniciadas por todas as ferramentas que utilizam o serviço, incluindo Tarefas Agendadas e SchTasks.exe.
  • Em raras ocasiões, os arquivos de tarefa são corrompidos. As tarefas corrompidas não são executadas. Quando você tenta executar uma operação em tarefas corrompidas, o SchTasks.exe exibe a seguinte mensagem de erro:

Copiar Código

ERROR: The data is invalid.

Não é possível recuperar tarefas corrompidas. Para restaurar os recursos de agendamento de tarefas do sistema, use o SchTasks.exe ou Tarefas agendadas para excluir as tarefas do sistema e reagendá-las.

***

secedit

Atualizado: janeiro de 2005

Aplica-se a: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Secedit

Configura e analisa a segurança do sistema comparando a configuração atual com, pelo menos, um modelo.

Para exibir a sintaxe do comando, clique em um comando:

secedit /analyze

Permite analisar as configurações de segurança em um computador comparando-as com as configurações de linha de base em um banco de dados.

Sintaxe

secedit /analyze /db Nome_do_Arquivo .sdb[/cfgNome_do_Arquivo] [/overwrite] [/logNome_do_Arquivo] [/quiet]

Parâmetros

/db Nome_do_Arquivo .sdb

Especifica o banco de dados usado para a realização da análise.

/cfg Nome_do_Arquivo

Especifica um modelo de segurança a ser importado para o banco de dados antes da realização da análise. Os modelos de segurança são criados com o snap-in <b>Modelos de segurança</b>.

/log Nome_do_Arquivo

Especifica um arquivo no qual o status do processo de configuração será registrado. Se não for especificado, os dados de configuração serão registrados no arquivo scesrv.log, localizado na pasta %windir%\security\logs.

/quiet

Especifica que o processo de análise deve ocorrer sem comentários adicionais.

Comentários
Exemplos

Veja a seguir um exemplo de como você pode usar este comando:

secedit /analyze /db hisecws.sdb

secedit /configure

Configura a segurança do computador local aplicando as configurações armazenadas em um banco de dados.

Sintaxe

secedit /configure /db Nome_do_Arquivo[/cfg Nome_do_Arquivo ] [/overwrite][/areasÁrea1 Área2 …] [/logNome_do_Arquivo] [/quiet]

Parâmetros

/db Nome_do_Arquivo

Especifica o banco de dados usado para a realização da configuração de segurança.

/cfg Nome_do_Arquivo

Especifica um modelo de segurança a ser importado para o banco de dados antes da configuração do computador. Os modelos de segurança são criados com o snap-in <b>Modelos de segurança</b>.

/overwrite

Especifica que o banco de dados deve ser esvaziado antes da importação do modelo de segurança. Se o parâmetro não for especificado, as configurações do modelo de segurança serão acumuladas no banco de dados. Se o parâmetro não for especificado e houver configurações conflitantes no banco de dados e no modelo que está sendo importado, as configurações do modelo terão precedência sobre as demais.

/areas Área1 Área2 …

Especifica as áreas de segurança a serem aplicadas ao sistema. Se este parâmetro não for especificado, todas as configurações de segurança definidas no banco de dados serão aplicadas ao sistema. Para configurar várias áreas, separe cada uma delas com um espaço. Há suporte para as seguintes áreas de segurança:

 

Nome da área Descrição
SECURITYPOLICY Inclui diretivas de conta, diretivas de auditoria, configurações de log de eventos e opções de segurança.
GROUP_MGMT Inclui configurações de Grupos Restritos
USER_RIGHTS Inclui a Atribuição de Direitos de Usuário
REGKEYS Inclui as permissões do Registro
FILESTORE Inclui as permissões de Sistema de Arquivos
SERVICES Inclui as configurações do Serviço do Sistema

/log Nome_do_Arquivo

Especifica um arquivo no qual o status do processo de configuração será registrado. Se não for especificado, os dados de configuração serão registrados no arquivo scesrv.log, localizado na pasta %windir%\security\logs.

/quiet

Especifica que o processo de configuração deve ocorrer sem intervenção do usuário.

Exemplos

Veja a seguir exemplos de como você pode usar este comando:

secedit /configure /db hisecws.sdb /cfg

hisecws.inf /overwrite /log hisecws.log

secedit /export

Permite exportar as configurações de segurança armazenadas no banco de dados.

Sintaxe

secedit /export[/DBNome_do_Arquivo] [/mergedpolicy] [/CFG Nome_do_Arquivo] [/areasÁrea1 Área2 …] [/logNome_do_Arquivo] [/quiet]

Parâmetros

/db Nome_do_Arquivo

Especifica o banco de dados usado para configurar a segurança.

/mergedpolicy

Mescla e exporta configurações de segurança de diretiva local e de domínio.

/CFG Nome_do_Arquivo

Especifica o modelo para o qual as configurações serão exportadas.

/areas Área1 Área2 …

Especifica as áreas de segurança a serem exportadas para um modelo. Se uma área não for especificada, todas as áreas serão exportadas. Cada área deve ser separada por um espaço.

 

Nome da área Descrição
SECURITYPOLICY Inclui diretivas de conta, diretivas de auditoria, configurações de log de eventos e opções de segurança.
GROUP_MGMT Inclui configurações de Grupos Restritos
USER_RIGHTS Inclui a Atribuição de Direitos de Usuário
REGKEYS Inclui as permissões do Registro
FILESTORE Inclui as permissões de Sistema de Arquivos
SERVICES Inclui as configurações do Serviço do Sistema

/log Nome_do_Arquivo

Especifica um arquivo no qual deve ser registrado o status do processo de exportação. Se não for especificado, o padrão será %windir%\security\logs\scesrv.log.

/quiet

Especifica que o processo de configuração deve ocorrer sem intervenção do usuário.

Exemplos

Veja a seguir um exemplo de como você pode usar este comando:

secedit /export /db hisecws.inf /log hisecws.log

secedit /import

Permite importar um modelo de segurança para um banco de dados, de modo que as configurações especificadas no modelo possam ser aplicadas a um sistema ou analisadas em relação a ele.

Sintaxe

secedit /import /db Nome_do_Arquivo .sdb /cfg Nome_do_Arquivo.inf [/overwrite] [/areasÁrea1 Área2 …] [/logNome_do_Arquivo] [/quiet]

Parâmetros

/db Nome_do_Arquivo .sdb

Especifica o banco de dados para o qual as configurações do modelo de segurança serão importadas.

/CFG Nome_do_Arquivo

Especifica um modelo de segurança para o qual importar o banco de dados. Os modelos de segurança são criados com o snap-in <b>Modelos de segurança</b>.

/overwrite Nome_do_Arquivo

Especifica que o banco de dados deve ser esvaziado antes da importação do modelo de segurança. Se o parâmetro não for especificado, as configurações do modelo de segurança serão acumuladas no banco de dados. Se o parâmetro não for especificado e houver configurações conflitantes no banco de dados e no modelo que está sendo importado, as configurações do modelo terão precedência sobre as demais.

/areas Área1 Área2 …

Especifica as áreas de segurança a serem exportadas para um modelo. Se uma área não for especificada, todas as áreas serão exportadas. Cada área deve ser separada por um espaço.

 

Nome da área Descrição
SECURITYPOLICY Inclui diretivas de conta, diretivas de auditoria, configurações de log de evento e opções de segurança.
GROUP_MGMT Inclui configurações de Grupos Restritos
USER_RIGHTS Inclui a Atribuição de Direitos de Usuário
REGKEYS Inclui as permissões do Registro
FILESTORE Inclui as permissões de Sistema de Arquivos
SERVICES Inclui as configurações do Serviço do Sistema

/log Nome_do_Arquivo

Especifica um arquivo no qual deve ser registrado o status do processo de exportação. Se não for especificado, o padrão será %windir%\security\logs\scesrv.log.

/quiet

Especifica que o processo de configuração deve ocorrer sem intervenção do usuário.

Exemplos

Veja a seguir um exemplo de como você pode usar este comando:

secedit /import /db hisecws.sdb /cfg hisecws.inf /overwrite

secedit /validate

Valida a sintaxe de um modelo de segurança a ser importado para um banco de dados para análise ou aplicação em um sistema.

Sintaxe

secedit /validate Nome_do_Arquivo

Parâmetros

nome_do_arquivo

Especifica o nome de arquivo do modelo de segurança que você criou com Modelos de segurança.

Exemplos

Veja a seguir um exemplo de como você pode usar este comando:

secedit /validate /cfg filename

secedit /GenerateRollback

Permite gerar um modelo de reversão com relação a um modelo de configuração. Ao aplicar um modelo de configuração a um computador, você tem a opção de criar um modelo de reversão que, quando aplicado, redefine as configurações de segurança com os valores de antes da aplicação do modelo de configuração.

Sintaxe

secedit /GenerateRollback /CFG Nome_do_Arquivo.inf /RBK nome_do_arquivo_do_Modelo_de_Segurança.inf [/logNome_do_Arquivo_de_Reversão.inf] [/quiet]

Parâmetros

/CFG Nome_do_Arquivo

Especifica o nome do arquivo do modelo de segurança para o qual você deseja criar um modelo de reversão.

/RBK Nome_do_Arquivo

Especifica o nome do arquivo do modelo de segurança que será criado como modelo de reversão.

Comentários
  • secedit /refreshpolicy foi substituído por gpupdate. Para obter informações sobre como atualizar as configurações de segurança, consulte <b>Tópicos relacionados</b>.

***

Set

Exibe, define ou remove variáveis de ambiente. Quando utilizado sem parâmetros, set exibe as configurações do ambiente atual.

Sintaxe

set [[/a [Expressão]] [/p [Variável=]] Seqüência]

Parâmetros

/a

Define Seqüência como uma expressão numérica que é avaliada.

/p

Define o valor de Variável como uma linha de entrada.

Variable

Especifica a variável que você deseja definir ou modificar.

String

Especifica a seqüência que você deseja associar à variável especificada.

/?

Exibe ajuda no prompt de comando.

Comentários

  • Usando set no Console de Recuperação
    O comando set está disponível no Console de Recuperação com parâmetros diferentes.
  • Usando caracteres especiais
    Os caracteres <, >, |, &, ^ são caracteres especiais de shell de comando e precisam ser antecedidos pelo caractere de escape (^) ou colocados entre aspas quando utilizados em Seqüência, isto é, Seqüência_Contendo&Símbolo. Se você colocar uma seqüência que contém um dos caracteres especiais entre aspas, elas serão definidas como parte do valor da variável de ambiente.
  • Usando variáveis de ambiente
    Use variáveis de ambiente para controlar o comportamento de alguns arquivos e programas em lotes, bem como controlar o modo como o Windows XP e o subsistema MS-DOS são exibidos e funcionam. O comando set é freqüentemente usado no arquivo Autoexec.nt para definir variáveis de ambiente.
  • Exibindo as configurações do ambiente atual
    Quando você digita somente o comando set, as configurações do ambiente atual são exibidas. Em geral, essas configurações incluem as variáveis de ambiente COMSPEC e PATH, que são usadas para ajudar a localizar programas no disco. Duas outras variáveis de ambiente usadas pelo Windows XP são PROMPT e DIRCMD.
  • Usando parâmetros
    Quando você especifica valores para uma variável e uma seqüência, o valor especificado da variável é adicionado ao ambiente e a seqüência é associada a essa variável. Se a variável já existir no ambiente, o novo valor da seqüência substituirá o valor antigo.
    Se você especificar somente uma variável e um sinal de igual (sem uma seqüência) para o comando set, o valor da seqüência associado à variável será limpo (como se não houvesse variável).
  • Usando /a
    A tabela a seguir lista os operadores para os quais há suporte em /a, em ordem decrescente de prioridade.

 

Operador Operação realizada
< > Agrupamento
* / % + – Aritmética
<< >> Alternância lógica
& Bit a bit E
^ Bit a bit exclusivo OU
| Bit a bit OU
= *= /= %= += -= &= ^= |= <<= >>= Atribuição
, Separador de expressões

Se você usar operadores lógicos (&& ||) ou de módulo (%), coloque a seqüência da expressão entre aspas. Todas as seqüências não numéricas na expressão são consideradas nomes de variável de ambiente cujos valores são convertidos em números antes de serem processados. Se você especificar um nome de variável de ambiente que não está definido no ambiente atual, será alocado um valor de zero, que permite fazer aritmética com valores de variável de ambiente sem usar o sinal de % para recuperar um valor.
Se você executar set /a desde a linha de comando fora de um script de comando, será exibido o valor final da expressão.
Os valores numéricos são números decimais, a menos que sejam antecedidos de 0× para números hexadecimais ou 0 para números octais. Portanto, 0×12 é o mesmo que 18 e o mesmo que 022. A notação octal pode ser confusa. Por exemplo, 08 e 09 não são números válidos porque 8 e 9 não são dígitos octais válidos.

  • Usando /p
    Você não precisa incluir uma seqüência de prompt.
  • Oferecendo suporte à expansão de variáveis de ambiente atrasada
    O suporte à expansão de variáveis de ambiente atrasada foi adicionado. Por padrão, esse suporte está desabilitado, mas é possível habilitá-lo ou desabilitá-lo usando cmd /v.
  • Trabalhando com extensões de comando
    Quando as extensões de comando estão habilitadas (isto é, o padrão) e você executa set sozinho, o comando exibe todas as variáveis do ambiente atual. Se você executar set com um valor, o comando exibirá as variáveis que correspondem ao valor.
  • Usando set em arquivos em lotes
    Ao criar arquivos em lotes, você poderá usar set para criar variáveis e usá-las da mesma forma que usaria as variáveis numeradas de %0 a %9. Também é possível usar as variáveis de %0 a %9 como entrada para set.
  • Chamando uma variável do comando set a partir de um arquivo em lotes
    Quando você chamar um valor da variável a partir de um arquivo em lotes, coloque o valor entre sinais de porcentagem (%). Por exemplo, se o programa em lotes criar uma variável de ambiente denominada BAUD, você poderá usar a seqüência associada a BAUD como um parâmetro de substituição digitando %baud% na linha de comando.

Exemplos

Para definir uma variável de ambiente chamada TEST^1, digite:

set testVar=test^^1

Para definir uma variável de ambiente chamada TEST&1, digite:

set testVar=test^&1

Set define o valor da variável como tudo após o sinal de igual (=). Se você digitar:

set testVar=”test^1″

O resultado obtido será:

testVar="test^1"

Para definir uma variável de ambiente denominada INCLUDE de modo que a seqüência C:\Inc (a pasta \Inc na unidade C) esteja associada a ela, digite:

set include=c:\inc

É possível utilizar depois a seqüência C:\Inc em arquivos em lotes colocando o nome INCLUDE entre sinais de porcentagem (%). Por exemplo, você pode incluir o comando a seguir em um arquivo em lotes para exibir o conteúdo da pasta associado à variável de ambiente INCLUDE:

dir %include%

Quando esse comando for processado, a seqüência C:\Inc substituirá %include%.

Também é possível utilizar o comando set em um programa em lotes que adiciona uma nova pasta à variável de ambiente PATH. Por exemplo:

@echo off

rem ADDPATH.BAT adds a new directory

rem to the path environment variable.

set path=%1;%path%

set

Quando as extensões de comando estão habilitadas (isto é, o padrão) e você executa set com um valor, esse comando exibe variáveis que correspondem ao valor. Por exemplo, se digitar setp no prompt de comando, você obterá estes resultados:

Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

PROCESSOR_ARCHITECTURE=x86PROCESSOR_IDENTIFIER=x86

Family 6 Model 8 Stepping 1, GenuineIntel

PROCESSOR_LEVEL=6PROCESSOR_REVISION=0801

ProgramFiles=C:\Program Files

PROMPT=$P$G

***

Setlocal – Não encontrado

***

SetX – Não encontrado

***

Shift

Altera a posição de parâmetros em lotes de um arquivo em lotes.

Sintaxe

shift

Parâmetros

nenhum

Comentários

  • Usando a opção de linha de comando shift com extensões de comando. Quando as extensões de comando estão habilitadas (isto é, o padrão), o comando shift dá suporte à opção de linha de comando /n, que instrui o comando a iniciar a alternância no argumento Nth, onde N pode ser um valor de zero a oito. Por exemplo, SHIFT /2 alternaria %3 para %2, %4 para %3 e assim por diante e deixaria %0 e %1 inalterados.
  • Como funciona o comando shift. O comando shift altera os valores dos parâmetros em lotes de %0 a %9 copiando cada parâmetro para o anterior. Em outras palavras, o valor de %1 é copiado para %0, o valor de %2 é copiado para %1, e assim por diante. Isso é útil para gravar um arquivo em lotes que executa a mesma operação em qualquer número de parâmetros.
  • Trabalhando com mais de dez parâmetros em lotes. Também é possível usar o comando shift para criar um arquivo em lotes que aceite mais de dez parâmetros em lotes. Se você especificar mais de dez parâmetros na linha de comando, aqueles que forem exibidos depois do décimo (%9) serão alternados, um por vez, para %9.
  • Usando %* com shift. Shift não afeta o parâmetro em lotes %*.
  • Desfazendo a alternância de parâmetros. Não existe um comando shift regressivo. Após executar o comando shift, você não poderá recuperar o primeiro parâmetro em lotes (%0) que existia antes da alternância.

Exemplos

O arquivo em lotes Mycopy.bat mostrado a seguir ensina a usar o comando shift com qualquer número de parâmetros em lotes. Ele copia uma lista de arquivos para uma pasta específica. Os parâmetros em lotes estão representados pelos argumentos de nome de arquivo e pasta.

Copiar Código

@echo off rem MYCOPY.BAT copies any number of files rem to a directory. rem O comando usa a seguinte sintaxe: rem mycopy dir file1 file2 ... set todir=%1 :getfile shift if "%1"=="" goto end copy %1 %todir% goto getfile :end set todir= echo All done

 

***

Shutdown

Permite desligar ou reiniciar computadores locais ou remotos um de cada vez.

Sintaxe

shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\Nome_do_Computador] [/t XXX] [/d [p:] XX:YY/c“Comentário”]

Parâmetros

/i

Exibe a caixa de diálogo Desligamento Remoto. A opção /i deve ser o primeiro parâmetro digitado e todos os outros itens depois dela serão ignorados.

/l

Efetua logoff do usuário atual imediatamente, sem nenhum período de tempo limite. Você não pode usar /l com /m \\Nome_do_Computador ou /t.

/s

Desliga o computador.

/r

Reinicia o computador após o desligamento.

/a

Cancela um desligamento, efetivo apenas durante o período de tempo limite. Você só pode usar a com /m \\Nome_do_Computador.

/p

Desliga o computador local somente (não um computador remoto) sem período de espera nem aviso. Só é possível usar /p com /d. Se o seu computador não oferecer suporte à funcionalidade de desligar, ele será encerrado quando você usar /p, mas não será desligado.

/h

Coloca o computador local em hibernação, supondo que essa opção esteja habilitada. Só é possível usar h com /f.

/e

Permite documentar o motivo para o desligamento inesperado no computador de destino.

/f

Obriga os aplicativos em execução a fecharem, sem avisar os usuários com antecedência.Cuidado

  • O uso da opção /f pode resultar na perda de dados não salvos.
  •  

/m \\Nome_do_Computador

Especifica o computador de destino. Não pode ser usado com a opção /l.

/tXXX

Define o período limite antes de uma reinicialização ou um desligamento como XXX segundos, ocasionando a exibição de um aviso no console local. É possível especificar de 0 a 600 segundos. Se você omitir /t, o período limite será definido, por padrão, como 30 segundos.

/d [p:]XX:YY

Lista a razão para a reinicialização, o desligamento ou a interrupção de alimentação do sistema. A tabela a seguir descreve os valores de parâmetro.

 

Valor Descrição
p: Indica que a reinicialização ou o desligamento é planejado. Se você não usar a opção p:, o Controlador de Eventos de Desligamento presumirá que a reinicialização ou desligamento não é planejado.
XX Especifica o número da razão principal (0 a 255).
YY Especifica o número da razão secundária (0 a 65535).

/c“Comentário”

Permite que você explique detalhadamente a razão do desligamento. Primeiro é necessário fornecer uma razão utilizando a opção /d. Coloque os comentários entre aspas. É possível usar até 511 caracteres.

/?

Exibe a ajuda, incluindo uma lista de todos os motivos principais e secundários definidos em um computador local, no prompt de comando. Se você digitar shutdown sem nenhum parâmetro, a ajuda também será exibida.