¿Cómo puedo ejecutar un script como administrador dentro de un contenedor de Windows?

14

Estoy tratando de instalar Windows Enterprise WDK en una imagen Docker basada en windowsservercore . La aplicación se instala descomprimiendo y ya lo hice y comprometí esa imagen con Docker. Ahora necesito ejecutar un script que establezca variables de entorno. De acuerdo con las instrucciones de instalación de Enterprise WDK, debo ejecutar este script como administrador. Lo hice directamente en mi máquina de escritorio y funciona el archivo. Dentro del contenedor Docker, el usuario de inicio de sesión predeterminado es

PS C:\> whoami
user manager\containeradministrator

He intentado habilitar la cuenta de administrador.

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

Intento iniciar un shell como administrador, pero el usuario no cambia.

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

Y si ejecuto mi script, no puede establecer ninguno de los valores de entorno especificados en el script.

Sugerencias?

Daniel
fuente
2
¿Lograste resolver esto?
fons
1
Es posible que tenga un problema con UAC , ¿podría deshabilitarlo temporalmente? Runas como lo escribió no permite abrir un símbolo del sistema elevado, consulte aquí . Le daría una oportunidad a NirCmd :-)
simlev
1
¿Cómo te conectas al contenedor? RDP? PowerShell remoto?
harrymc
1
@harrymc Ejecutando el contenedor en modo interactivo.
Daniel
1
Debido a que la cuenta de administrador local es una cuenta muy especial, es posible que sea necesario iniciar sesión. ¿Por qué no puede usar otra cuenta de administrador "normal"?
harrymc

Respuestas:

6

Su problema no son derechos insuficientes en absoluto. Ver este artículo .

UAC no está disponible en Server Core, ya que es una interfaz de línea de comandos , no tiene IE ni soporte para aplicaciones de usuario. Además, para usar UAC con el símbolo del sistema, debe tener el Shell del explorador para poder hacer clic en Inicio, hacer clic con el botón derecho en Símbolo del sistema y seleccionar Ejecutar como administrador, lo que obviamente no es posible en Server Core.

Ya está ejecutando comandos como administrador, de lo contrario, comandos como

net user administrator Pa$$w0rd

fracasaría inevitablemente.

Tu problema es otra cosa.

Ver aquí . Windows Server Core no es compatible para instalar WDK. Para configurar las variables de entorno en Server Core, consulte esta respuesta .

Debería echar un vistazo a ese script y lo que realmente hace, si usa los comandos SET o SETX u otra cosa y allí puede encontrar una pista de por qué las variables no se están configurando correctamente. Puede ser que estén configurados permanentemente pero no en su ventana actual.

Vojtěch Dohnal
fuente
2
Había reemplazado los setcomandos por setxtratar de depurar otros problemas. Eso es lo que me llevó por el camino de tratar de obtener un privilegio de administrador real.
Daniel