在PowerShell 6.0升级会话之前,您运行了命令
Start-Process powershell -Verb runAs
尝试在PowerShell 6.0中运行类似命令时
Start-Process pwsh -Verb runAs
你得到这个输出:
Start-Process:参数' -Verb' cmdlet' Start-Process'不支持在这个版本的PowerShell上 在行:1 char:1
+ Start-Process pwsh -Verb runAs
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotImplemented:(:) [Start-Process],NotSupportedException
+ FullyQualifiedErrorId:NotSupportedException,Microsoft.PowerShell.Commands.StartProcessCommand
那么如何提升在PowerShell 6.0中以管理员身份运行?
我正在运行PowerShell Windows Nano Server泊坞窗映像(microsoft / powershell:nanoserver)
答案 0 :(得分:1)
我发布问题时想要完成的是使用以下命令将证书添加到Windows证书库:
certoc.exe -addstore root corporaterootssl.cer
我在Windows Nano Server容器中执行此命令时收到的消息是拒绝访问。这是因为我使用命令:
运行标准用户ContainerUser的容器docker run -d microsoft/powershell:nanoserver
我将使用以下命令连接到容器:
docker exec -it gracious_ramanujan pwsh
这会将我放入以ContainerUser运行的容器中。要以ContainerAdministrator的形式输入容器,我需要运行命令:
docker exec -it --user ContainerAdministrator gracious_ramanujan pwsh
然后我能够成功运行任何管理命令。
我的最终目标是构建一个容器映像,在此期间我需要以管理员身份运行一个或多个命令。要在Dockerfile中切换用户,请使用命令USER ContainerAdministrator
。我写了一篇blog post,详细说明了如何在Docker构建过程中为图像添加SSL证书。
答案 1 :(得分:-1)
我的回答是错误的,不适合 OP 的问题。尽管如此,我将解释为什么它是错误的而不是 deleting the answer。
您的答案 Start-Process pwsh -Verb runAs
在 PowerShell 7 中按预期工作。
然而,答案是错误的,因为这并没有提升当前的shell,而是打开了一个新的shell。我还没有验证它是否也适用于 PowerShell 6。似乎 OP 的问题特定于 docker 而不是 PowerShell,因此这也适用于 PowerShell 6。