提问人:alex 提问时间:8/30/2023 更新时间:9/5/2023 访问量:92
使用 Invoke-VMScript Powershell 7 在 VM 上以管理员身份运行 .exe
run .exe as administrator on a vm with Invoke-VMScript Powershell 7
问:
我需要能够通过 shell 控制台或 powershell 启动命令,在 powershell 7 中具有管理员窗口。
我使用 Start-Process 启动了几个命令,但没有一个返回所需的值。我回来说我需要一个交互式屏幕,或者只是一个错误。
Start-Process PowerShell -ArgumentList "-noexit","-File", "file url" -verb runas -Wait
Start-Process PowerShell -ArgumentList "-noexit","-File", "file url" -cred credentials -Wait
我还使用了我找到的一个函数,但它也没有返回任何内容,它给了我一个错误,它无法添加行“$startinfo.verb = ”RunAs“'。
Function Elevate-Process {
param ([string]$arguments)
$startinfo = New-Object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "powershell.exe"
$startinfo.Arguments = $arguments
$startinfo.verb = "RunAs"
$startinfo.UseShellExecute = $false
$startinfo.CreateNoWindow = $true
$process = [System.Diagnostics.Process]::Start($startinfo)
}
所有这些都是通过 Invoke-VMScript 启动的
答:
0赞
Mucer
9/5/2023
#1
我对 VMScript 没有经验,但我最近也有类似的效果。
我的情况是:
(1) 从 powershell 脚本中提升 cmd 文件 myCmdFile.bat
Start-Process aCmdFile.bat -Verb RunAs
(2)myCmdFile.bat的内容是
pwsh.exe -File "C:\Mark\Temp\myScript.ps1" -ExecutionPolicy Bypass -wait:$true .... (and all other parameters)
pause
(这里不需要 -Verb RunAs,因为它继承了 cmd 文件的管理员权限。
这对我有用,但是当我使用 powershell.exe 而不是 pwsh.exe 时,什么也没发生。
所以尝试使用 pwsh.exe!
顺便说一句,如果cmd文件在网络驱动器上并且您没有入侵注册表。
评论