如何 运行 在管理员模式下使用命令执行脚本

How to run a script in administrator mode with commands to execute

我想从 powershell 脚本以管理员模式启动另一个 powershell 实例,如果可能的话,向它指示要在同一命令行中执行的一些代码。

这是具体案例(我在 windows 下使用 chocolatey 进行包管理):

Start-Process powershell -Verb runAs -ArgumentList "choco outdated"

此代码有效,但不幸的是 powershell window 在执行代码后立即关闭。所以“不可能”看到过时的包。

你有解决方案吗:

提前致谢!

这是让它等待的一种方法。

Start-Process powershell -Verb runAs -ArgumentList "choco outdated`n`rpause"

您可以使用 'NoExit' 参数: About PowerShell.exe

PowerShell[.exe]
    [-PSConsoleFile <file> | -Version <version>]
    [-NoLogo]
    [-NoExit]
    [-Sta]
    [-Mta]
    [-NoProfile]
    [-NonInteractive]
    [-InputFormat {Text | XML}]
    [-OutputFormat {Text | XML}]
    [-WindowStyle <style>]
    [-EncodedCommand <Base64EncodedCommand>]
    [-ConfigurationName <string>]
    [-File - | <filePath> <args>]
    [-ExecutionPolicy <ExecutionPolicy>]
    [-Command - | { <script-block> [-args <arg-array>] }
                | { <string> [<CommandParameters>] } ]

PowerShell[.exe] -Help | -? | /?

确保以正确的顺序将参数放入“-ArgumentList”参数中。

Start-Process powershell -Verb runAs -ArgumentList "-noexit", "-noprofile", "-command choco outdated"