Como posso executar um script como administrador dentro de um contêiner do Windows?

11

Estou tentando instalar o Windows Enterprise WDK em uma imagem Docker com base em windowsservercore . O aplicativo é instalado descompactando e eu já fiz isso e confirmei essa imagem no Docker. Agora eu preciso executar um script que define variáveis de ambiente. De acordo com as instruções de instalação do Enterprise WDK, devo executar este script como administrador. Eu fiz isso diretamente na minha máquina desktop e funciona arquivo. Dentro do Container do Docker, o usuário de login padrão é

PS C:\> whoami
user manager\containeradministrator

Eu tentei ativar a conta de administrador.

PS C:\> net user administrator /active:yes
The command completed successfully.
PS C:\> net user administrator Pa$$w0rd
The command completed successfully.

Eu tento iniciar um shell como administrador, mas o usuário não muda.

PS C:\> runas /user:administrator powershell
Enter the password for administrator:
Attempting to start powershell as user "C597C386289A\administrator" ...
PS C:\> whoami
user manager\containeradministrator

E se eu executar meu script, ele não definirá nenhum dos valores de ambiente especificados no script.

Sugestões?

    
por Daniel 06.03.2017 / 01:25

1 resposta

4

Seu problema não é um direito insuficiente. Consulte este artigo .

UAC is not available in Server Core, since it is a command line only interface, doesn’t have IE, or support for user applications. In addition, to use UAC with the command prompt you need to have the Explorer Shell so that you can click Start, right click on Command Prompt, and select run as administrator, which obviously isn’t possible on Server Core.

Você já está executando comandos como administrador, caso contrário, comandos como

net user administrator Pa$$w0rd

falha inevitavelmente.

Seu problema é outra coisa.

Veja aqui . O Windows Server Core não é suportado para instalar o WDK. Sobre a configuração de variáveis de ambiente no Server Core, consulte esta resposta .

Você deve dar uma olhada nesse script e no que ele realmente faz, se ele usa comandos SET ou SETX ou alguma outra coisa e lá você pode encontrar uma pista de porque as variáveis não estão sendo definidas corretamente. Pode ser que eles sejam definidos permanentemente, mas não na sua janela atual.

    
por 03.04.2017 / 08:21