Página inicial do Windows 7: como configurar um script de logon

7

No Windows 7 Professional pode-se clicar com o botão direito do usuário no Gerenciamento do Computador 's Usuários e Grupos Locais para definir o script de logon no perfil guia. Infelizmente, o Windows 7 Home Premium (aparentemente) não possui Usuários e Grupos Locais no Gerenciamento do Computador . Como configurar o script de logon no Windows 7 Home Premium.

Mike L.
fonte
1
Em um sistema autônomo, existe alguma vantagem em configurar um script de logon em vez de colocá-lo na pasta Inicialização?
user1686
2
A vantagem é que o script será carregado muito cedo, por exemplo, antes de iniciar outros aplicativos. Isso é muito útil para montar partições criptografadas.
Mike L.

Respostas:

8

Você está certo, este snap-in do MMC está desativado, a menos que você tenha pelo menos o Windows 7 (ou Vista) Professional.

Você deve poder configurar propriedades do usuário usando o comando net user :

net user UserName /scriptpath:logon.bat

A localização do script:

Os scripts de logon local devem ser armazenados em uma pasta compartilhada - ou subpastas da pasta compartilhada - denominada Netlogon. Se essa pasta não existir por padrão, você deve criá-la. Para especificar um script de logon armazenado em uma subpasta da pasta Netlogon, preceda o nome do arquivo com o caminho relativo para essa pasta. Por exemplo, para atribuir o script de logon Startup.bat armazenado em \ ComputerName \ Netlogon \ FolderName a um usuário local, no script de Logon, digite FolderName \ Startup.bat

Siim K
fonte
Onde está localizado o diretório "\ ComputerName \ Netlogon \ FolderName"?
Mike L.
1
@mklhmnn: Onde você quiser. O exemplo dado é para um domínio, com um servidor mantendo todos os scripts; controladores de domínio têm um compartilhamento \\servername\Netlogonpara esse fim. Se você der um caminho relativo, ele será procurado no Netlogoncompartilhamento do controlador de domínio. (Comportamento desconhecido para sistemas independentes.) Mas você pode dar um caminho absoluto, por exemplo C:\WINDOWS\Misc\logon.cmd.
user1686
1
Onde você quiser - por exemplo, crie uma pasta c: \ logon e compartilhe-a como Netlogon.
Siim K
1
@rawity usando /scriptpath:pathVocê não pode usar um caminho absoluto.
Hanan N.
6

Resumo do que fiz para resolver esse problema:

  • Eu criei um script em C:\Windows\System32\repl\import\scripts\<username>.bat
  • invocado net user <username> /scriptpath:<username>.bat

Como o Windows 7 Home não esperou até que esse script fosse concluído e continuou carregando outros aplicativos, eu também precisei criar uma DWORDentrada nomeada RunLogonScriptSyncno HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonregistro que definisse o valor como 1.

Mike L.
fonte
1
Existe uma maneira de reverter esse comando? Em outras palavras, desative um script que você atribuiu a um perfil de usuário?
precisa saber é o seguinte
3

A resposta aceita é a maneira de fazê-lo, se você deseja que seu script seja executado no início da inicialização do sistema ou precisa que ele seja executado de forma síncrona - ou seja, o processo normal de logon continuará somente após a conclusão do script (cuidado, ele pode abrandar o logon, use-o apenas se for necessário).

Nota: Não tenho certeza se os scripts mencionados acima podem ser um .exearquivo ou não, mas no método que descreverei qualquer executável pode ser usado.

Outra maneira de fazer, que tem uma flexibilidade extra, é usar o Task Scheduler. No menu Iniciar, digite Agendador de tarefas e execute-o (ou execute a taskschd.mscpartir da Runcaixa de diálogo ou de um shell). Selecione Task Scheduler Libraryna visualização em árvore. Se desejar, você pode criar uma subpasta especial para seus programas, mas isso não é necessário. Clique em Create Basic Task...(assistente) ou Create Task...no Actionspainel do lado direito.

Vou explicar como usar Create Task....

  • Na Generalguia, preencha um nome descritivo e, opcionalmente, uma descrição para sua tarefa.
  • Na Triggersguia, clique em New..., defina Begin the taskcomo At log on. Verifique a Specific usercaixa de combinação, verifique se o seu nome de usuário está selecionado (você pode usar Any userse quiser que o programa seja executado quando qualquer usuário efetuar login). Se você não quiser que seu script desacelere o processo de logon, você pode optar por executá-lo após um atraso - clique na Delay task forcaixa de seleção e digite o horário (por exemplo 30 seconds). Clique em ok para criar o gatilho.
  • Na Actionsguia, clique em New..., escolha seu programa (ou script) usando Browse...ou digite o caminho completo em Program\program. Se o programa estiver no seu% Path%, você pode apenas usá-lo program. Você pode especificar qualquer argumento para transmitir ao programa Add arguments. Você pode especificar o diretório de trabalho do programa em Start in. Você pode usar qualquer tipo de script que o computador local suporte; se um tipo de script não estiver registrado no Windows, você ainda poderá executá-lo especificando o interpretador de script como o programa. Por exemplo, use C:\path\to\python.execomo o programa e C:\path\to\script.py some_argumentscomo argumentos. Clique em ok para criar a ação.
  • Na Conditionsguia, você provavelmente deseja desmarcar a Start the task only if the computer is on AC power.
  • Na Settingsguia, não há necessidade de alterar nada.

Clique em ok para criar a tarefa agendada. Se você quiser editá-lo mais tarde, basta selecionar Task Scheduler Libraryna visualização em árvore, encontrar sua tarefa na lista (na parte superior da janela) e clicar duas vezes na tarefa.

Consulte a referência do Agendador de tarefas para obter mais informações.

Gene Pavlovsky
fonte
1

Estou usando o Win 7 Premium Home em um sistema autônomo e queria executar um script de logon para montar um volume criptografado. Pesquisando na rede deu apenas resultados complicados (gpedit, atualização do registro). Minha solução é muito simples: criei em C: uma pasta (com o nome que você quiser) e coloquei meu script nela. Esta pasta deve ser compartilhada com o nome de compartilhamento “Netlogon”. Funciona! Pelo menos no meu sistema local.

Mossautal
fonte
1

Ocorreu um erro de sistema 5.

Acesso negado.

Se você receber um erro como esse ao executar o comando net user , execute o CMD como administrador (use o botão direito do mouse e selecione "Executar como administrador")!

Ivan Kellenberger
fonte
1

Você também pode criar uma tarefa usando o agendador de tarefas e definindo o gatilho para executar o script no logon.

swiftninja21
fonte
2
Esta resposta pode ser melhorada, incluindo procedimentos e etapas envolvidos para configurar um script para ser executado no agendador de tarefas.
Será
1

Você ainda usa a interface do usuário para configurar o script de logon no Windows 7

Abra "Control Panel" -> "User Accounts" -> "User Accounts" -> "Manage User Accounts" -> "Advanced" -> "Advanced"para acessar o snap-in do MMC "Usuários e Grupos Locais (Local)".

ou apenas inicie a partir do cmd shell: mmc.exe %SystemRoot%\system32\lusrmgr.msc computername=localmachine

Ntropy Nameless
fonte