2009-07-30 13:20:35 +0000 2009-07-30 13:20:35 +0000
27
27

Executar automaticamente um script quando inicio a sessão no Windows

Como posso executar automaticamente um script quando inicio a sessão no Windows?

Gostaria de executar algo como isto sempre que ingresse no meu computador:

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

Um bónus seria poder executar o mesmo script sempre que eu desbloquear o protector de ecrã também.

Respostas (6)

22
22
22
2009-07-30 13:36:28 +0000

Se já tem um guião:

Para atribuir um script de logon a um utilizador ou grupo

  • Gestão de computadores aberta. & - Na árvore de consola, clique em Utilizadores.

& Onde? Ferramentas do Sistema/Utilizadores Locais e Grupos/Utilizadores

& - Faça duplo clique no utilizador ao qual pretende atribuir um script de logon. & - Clicar no separador Perfil. & - No campo Logon script, introduza o caminho e o nome do logon script que deseja atribuir a esse utilizador, e depois clique em OK. Mais aqui está um prático “HowTo” da Microsoft

Criar scripts de logon

& Pode utilizar scripts de logon para atribuir tarefas que serão executadas quando um utilizador iniciar sessão num determinado computador. Os scripts podem executar comandos de sistema operacional, definir variáveis de ambiente de sistema, e chamar outros scripts ou programas executáveis. A família Windows Server 2003 suporta dois ambientes de scripting: o processador de comandos executa ficheiros contendo comandos em linguagem batch, e o Windows Script Host (WSH) executa ficheiros contendo Microsoft Visual Basic Scripting Edition (VBScript) ou comandos Jscript. Pode usar um editor de texto para criar scripts de logon. Algumas tarefas normalmente executadas por scripts de logon incluem:

  • Mapeamento de unidades de rede. & - Instalar e configurar uma impressora predefinida do utilizador. & - Recolha de informação do sistema informático. & - Actualização de assinaturas de vírus. & - Actualização de software. & - O seguinte exemplo de script de logon contém comandos VBScript que utilizam Active Directory & - Interfaces de Serviço (ADSI) para executar três tarefas comuns com base na adesão de um grupo de utilizadores:

  • Mapeia a unidade H: conduz ao directório home do utilizador chamando o método MapNetworkDrive do objecto da Rede WSH em combinação com a propriedade UserName do objecto da Rede WSH. Utiliza o objecto ADSI IADsADSystemInfo para obter o nome distinto do utilizador actual, que por sua vez é utilizado para se ligar ao objecto de utilizador correspondente no Active Directory. Uma vez estabelecida a ligação, a lista de grupos de que o utilizador é membro é recuperada através da utilização do atributo membroOf do utilizador. A lista multivalorizada de nomes de grupos é unida numa única cadeia usando a função Join do VBScript para facilitar a pesquisa de nomes de grupos alvo.

Se o utilizador actual for membro de um dos três grupos definidos no topo do script, então o script mapeia o G: drive do utilizador para o drive partilhado do grupo, e define a impressora predefinida do utilizador como a impressora do grupo. Para criar um script de exemplo de logon

  • Abrir bloco de notas.
  • Copiar e colar, ou digitar, o seguinte:

& - No menu Ficheiro, clicar em Guardar como.

  • Em Save in, clique no directório que corresponde à pasta partilhada do controlador de domínio Netlogon (normalmente SystemRoot\SYSVOL\Sysvol\DomainName\Scripts onde DomainName é o nome de domínio totalmente qualificado do domínio).
  • Em Save as type, clique em All Files (Guardar como tipo).
  • Em File name, digite um nome de ficheiro, seguido de .vbs, e depois clique em Save. O WSH utiliza a extensão .vbs para identificar ficheiros que contenham comandos VBScript.
19
19
19
2014-08-15 22:12:37 +0000

Pode criar uma tarefa programada que será executada quando o seu computador for desbloqueado:

  1. Iniciar > Ferramentas Administrativas > Agenda de Tarefas
  2. painel esquerdo: seleccionar Biblioteca da Agenda de Tarefas
  3. painel direito: clicar em Criar Tarefa… (NOTA: esta é a única forma de obter o gatilho correcto)
  4. no diálogo Criar Tarefa:
  5. separador General – fornecer um nome para a sua tarefa
  6. separador Triggers – clicar em New… e seleccionar On workstation unlock
  7. separador Action – clicar em New… e clicar em Browse… para localizar o seu script
  8. separador Conditions – desmarcar Iniciar a tarefa apenas se o computador estiver em corrente alternada

Além disso, ajustei o caminho no script para ler

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
14
14
14
2009-07-30 13:21:37 +0000

A maneira mais simples de pensar seria colocar isto num ficheiro .bat na sua pasta de iniciação.

Uma forma mais complicada seria adicionar o ficheiro .bat ao registo no ficheiro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

chave de registo.

2
2
2
2009-07-30 13:37:08 +0000

Um bom método alternativo é criar um ficheiro de lotes com os comandos que se pretende executar neles. Em seguida, especificará no editor de políticas da máquina que esta executa um script de login como parte do processo de login. Uma nota rápida é que esta opção só está disponível no XP Pro e não na versão de início de sessão. Tutorial do Editor de Políticas de Grupo Aqui

2
2
2
2010-05-14 12:50:45 +0000

Alguém sabe se isto também pode ser usado para correr quando o ecrã está bloqueado/desbloqueado?

Existe uma forma para o Windows 7 e/ou Windows Server 2008.

Utilize o Agendador de Tarefas, crie uma nova tarefa básica, uma vez que o Gatilho utiliza “When I log on”.

2
2
2
2015-01-06 09:53:34 +0000

Não é necessário! O Windows já tem um mecanismo para registar isto para si no registo de eventos. O ID do evento é 4624 (528 em sistemas pré-Vista).