Questão O script do Windows 10 PowerShell não é executado com o conjunto de acionadores do Agendador de Tarefas para logon ou logoff


Estou tentando fazer com que um script simples do PowerShell inicie no login ou logoff da sessão do Windows ...

o script é executado com o lançamento manual o script é executado corretamente quando iniciado pela tarefa agendada em um horário específico (e estou logado como admin) Mas ele não é executado com um lançamento no logon ou logoff.

No agendador de tarefas, tenho o seguinte:

minha conta (com direitos de administrador) é designada para executar o script

o botão "rodar se não estiver ligado" está ligado

a caixa "executar com maior priv" está marcada

trigger: "ao conectar-se a uma sessão win" / qualquer usuário / conexão local / parâmetros avançados "Ativar" caixa está marcada

action: powershell.exe com argumentos: -noprofile -executionpolicy Bypass -File. \ wlem.ps1 / start em c: \ public

nenhuma caixa de condição está marcada

Obrigado pela ajuda :-)


1


origem


No agendador de tarefas, há algum erro no history aba? - Narzard
Tem certeza de que não está começando de todo, e não apenas começando e depois falhando? - Ƭᴇcʜιᴇ007
Você realmente quer logar (use o gatilho At log on)? eu acho que On connection to user session só se aplica a conexão a um existir sessão. Para logoff, use On an event com o System registro, Winlogon código fonte e evento 7002. - Bob


Respostas:


Esta é uma solução fácil:

navegue até aqui: C: \ Users \ YOURUSERNAMEHERE \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização

Solte um atalho para o seu script (note que tem que ser um atalho)

Você pode criar um atalho do seu script enviando-o para a área de trabalho e usar esse atalho na área de trabalho. coloque esse atalho na pasta de inicialização.

É isso aí! Truque de inicialização simples que eu aprendi um tempo atrás.


0



Isso não ajuda com o logoff e também não ajuda se houver outras razões para usar o agendador de tarefas (relatórios, AD, etc.). - Bob
Eu entendo que uma solução de rede é necessária, você sempre pode tentar o robocopy para obter o script para o usuário fazer logon ou após um ambiente de usuário é criado. Esta é uma solução que funciona, mas não é um método infalível. - DeerSpotter


Eu só posso fazer isso funcionar com as seguintes alterações:

  • Execute a tarefa como SYSTEM.
  • Especifique o caminho completo para o arquivo de script com o -File alternar, mesmo que você já tenha definido o diretório inicial.

Se você estiver usando um laptop, verifique se a tarefa não está configurada para iniciar somente com energia CA.

Você pode especificar -WindowStyle Hidden também, se você quiser, embora não seja estritamente necessário. Além disso, você só precisa marcar Ativar e definir uma data se não quiser que a tarefa comece a disparar até essa data / hora.

Como Bob mencionou nos comentários, você pode considerar o uso do gatilho de logon e do acionador de evento para logoffs, em vez desses gatilhos de conexão e desconexão. Os que você está usando atualmente serão acionados sempre que a troca de usuários acontecer, não apenas no logon e no logoff. Se você estiver disposto a abandonar o Agendador de Tarefas, poderá alternar para os scripts de logon / logoff da Diretiva de Grupo, que são bastante fáceis de gerenciar.


0