如何 运行 在管理员模式下使用命令执行脚本
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-Sleep -Seconds 10
?
- 或其他解决方案?
提前致谢!
这是让它等待的一种方法。
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"
我想从 powershell 脚本以管理员模式启动另一个 powershell 实例,如果可能的话,向它指示要在同一命令行中执行的一些代码。
这是具体案例(我在 windows 下使用 chocolatey 进行包管理):
Start-Process powershell -Verb runAs -ArgumentList "choco outdated"
此代码有效,但不幸的是 powershell window 在执行代码后立即关闭。所以“不可能”看到过时的包。
你有解决方案吗:
- 命令后冻结脚本?
- 或添加更多代码行以放入
Start-Sleep -Seconds 10
? - 或其他解决方案?
提前致谢!
这是让它等待的一种方法。
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"