Esta resposta cobrirá a interrupção do processo para o usuário. Ele também permitirá que você implemente as etapas para executar o serviço conforme solicitado, usando o comando runas
(supondo que a conta "Non-Admin" esteja autorizada a executar o Powershell / CMD)
Se você estiver usando um PC local (como em, você não é um membro de um domínio), você pode implementar um "Agendamento de tarefa" para Logon, e executar é como outro usuário, o que pode ser explicado aqui . Se você especificar isso para executar " como outro usuário e com os privilégios mais altos, será possível editar o serviço no início.
Se isso for muito difícil (ou o usuário que faz login no PC for um administrador), você poderá elevar um script do PowerShell para ser executado como administrador:
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}
Nota : Eu sei que você disse que o usuário não é um administrador, mas isso poderia ajudar os outros, por isso o adicionei.
Se formos realmente preguiçosos, poderemos usar o comando runas
no PowerShell / script em lote que queremos implementar, no entanto, precisaremos armazenar credenciais em um processo seguro (como em não texto simples).
Editor de políticas de grupo local
Basta adicionar um script de inicialização / encerramento do computador para ligar e parar o serviço:
-
runas
para executar o arquivogpedit.msc
; - Configuração do Computador, Configurações do Windows, Scripts (Inicialização / Desligamento)
-
Adicione um script predefinido para executar o arquivo:
runas.exe /user:localhost\Admnistrator net start synergy