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

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

我正在尝试安装Windows 企业版 WDKDocker图像基于视窗服务器核心。应用程序通过解压安装,我已经完成了该操作并将该映像提交给 Docker。现在我需要运行一个设置环境变量的脚本。根据 Enterprise 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.

我尝试以管理员身份启动 shell,但用户没有改变。

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

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

有什么建议吗?

答案1

你的问题根本不是权限不足。请参阅本文

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

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

net user administrator Pa$$w0rd

必然会失败。

你的问题有些别的。

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

您应该查看该脚本以及它实际执行的操作,看看它是否使用了 SET 或 SETX 命令或其他命令,然后您就可以找到变量未正确设置的线索。它们可能是永久设置的,但不在您当前的窗口中。

相关内容