Use o Powershell para executar um executável elevado

1

Eu tenho um .exe que precisa ser executado por meio do GPO. Eu tentei fazê-lo através de um script em lote, no entanto, ele precisa ser executado em máquinas de usuários e isso requer elevação, pois eles não são administradores locais. Em vez de tocar em cada máquina para configurar um administrador local e fazer com que o GPO seja executado. Eu gostaria de configurar script powershell para iniciar uma sessão elevada, seja PS ou CMD, não importa.

O grande bloqueador está detectando o nome do host de cada máquina para que eu possa usar:

New-PSSession hostname -Auth CredSSP -cred domain\adminuser

Brinquei com a ideia de detectar o endereço IP e fazer uma pesquisa de DNS para o usuário, mas, além dos problemas com isso, imagino que isso seja muito mais trabalho do que o necessário. Eu tentei pesquisar aqui por questões semelhantes, mas não consigo encontrar uma situação semelhante com esse bloqueador acima.

Arquivo em lote:

@echo off
if exist "C:\Program Files\directorypath\service.*" goto END
if exist "C:\Program Files (x86)\directorypath\service.*" goto END
"\SERVER\FOLDER\installer.exe" --mode unattended
:END

O uso de runas não parece totalmente apropriado para esse problema. E eu prefiro evitar colocar minha senha ou uma senha genérica de administrador em um arquivo de texto simples.

    
por TheNoobofNoobs 23.12.2016 / 19:40

1 resposta

3

Você pode adicionar seu usuário administrador a administradores locais com um script de inicialização de net localgroup administrators domain\adminuser /add .

Eu não acho que seja necessário, no entanto. Eu acho que seu script em lote seria executado muito bem como um script de inicialização para computadores. Ele seria executado como a conta do computador, portanto, as contas de computador precisariam acessar o compartilhamento.

    
por 23.12.2016 / 20:04