如何在Windows容器中以管理员身份运行脚本


14

我想安装Windows企业WDK一上泊坞基于图像windowsservercore。该应用程序通过解压缩安装,我已经完成了该工作并将该映像提交给Docker。现在,我需要运行一个设置环境变量的脚本。根据企业WDK安装说明,我必须以管理员身份运行此脚本。我已经直接在台式机上完成了此工作,并且可以正常工作。在Docker容器中,默认登录用户为

PS C:\> whoami
user manager\containeradministrator

我试过启用管理员帐户。

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

我尝试以管理员身份启动外壳程序,但用户未更改。

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

而且,如果我运行脚本,则无法设置脚本中指定的任何环境值。

有什么建议吗?


2
您设法解决了吗?
2016年

1
您可能有UAC问题,可以暂时禁用它吗?如您所写,Runas不允许打开提升的命令提示符,请参见此处。我会尝试一下NirCmd :-)
simlev

1
您如何连接到容器?RDP?远程Powershell?
harrymc

1
@harrymc以交互方式运行容器。
丹尼尔(Daniel)

1
由于本地管理员帐户是一个非常特殊的帐户,因此可能需要登录。为什么不能使用另一个“普通”管理员帐户?
哈里姆克(Harrymc)

Answers:


6

您的问题根本不是权利不足。看到这篇文章

UAC在Server Core中不可用,因为它是仅命令行界面,没有IE或不支持用户应用程序。另外,要在命令提示符下使用UAC,您需要拥有Explorer Shell,以便可以单击“开始”,右键单击“命令提示符”,然后选择“以管理员身份运行”,这显然在Server Core上是不可能的。

您已经以管理员身份运行命令,否则,例如

net user administrator Pa$$w0rd

不可避免地会失败。

您的问题是其他问题。

这里。Windows Server Core不支持安装WDK。有关在Server Core上设置环境变量的信息,请参见此答案

如果该脚本使用SET或SETX命令或其他命令,则应查看该脚本及其实际功能,然后可以找到有关变量设置不正确的线索。它们可能是永久设置的,但不在当前窗口中。


2
我已经setsetx尝试调试其他问题替换了命令。这就是导致我尝试获得真正的管理员特权的原因。
丹尼尔(Daniel)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.