Isso realmente não é uma resposta devido às duas limitações citadas abaixo, mas é muito longo para um comentário, então ...
Eu fiz um teste simples com as seguintes deficiências:
- Os scripts não enviam e-mail. Eu preciso do revezamento SMTP do meu ISP, mas é muito trabalhoso encontrá-lo.
- Estou testando em uma prévia do Win10, não no Win8.1. É tudo que tenho esta noite.
Dentro de Local Group Policy Editor > Computer Configuration > Windows Settings > Scripts (Startup/Shutdown)
, coloquei um script powershell de inicialização no diretório startup
e um script powershell de desligamento no diretório shutdown
.
Tomei um cuidado especial ao adicionar os scripts na guia Powershell Scripts
dentro de cada um dos nós da política de inicialização e encerramento.
Eu me certifiquei de ter um diretório chamado c:\temp
, pois eu estava com preguiça de criar scripts.
Também verifiquei se os scripts do powershell são permitidos executando:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Aqui está o script de inicialização:
if (!(Test-Path c:\temp\log.txt)) {New-Item -ItemType file -Path c:\temp\log.txt}
$timestamp = get-date
$string = "$timestamp UP!"
$string | Out-File -FilePath c:\temp\log.txt -Append -NoClobber
Aqui está o script de desligamento:
if (!(Test-Path c:\temp\log.txt)) {New-Item -ItemType file -Path c:\temp\log.txt}
$timestamp = get-date
$string = "$timestamp DOWN!"
$string | Out-File -FilePath c:\temp\log.txt -Append -NoClobber
Eu reiniciei o computador. Aqui está o conteúdo do arquivo c:\temp\log.txt
:
06/01/2015 00:07:45 DOWN!
06/01/2015 00:08:10 UP!
Eu esperaria o mesmo resultado com o envio de um e-mail, mas não é possível ter certeza, é claro, até que alguém realmente tente.