Files
NapCatQQ/packages/napcat-shell-loader/launcher-elevate.ps1
T
TanTan f954252a34
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
Release Tag / validate-version (push) Waiting to run
NapCatQQ source snapshot
2026-11-13 09:01:47 +08:00

21 lines
880 B
PowerShell

$ErrorActionPreference = 'Stop'
$terminal = $args[0]
$payload = @{
script = $args[1]
arguments = @($args | Select-Object -Skip 2)
} | ConvertTo-Json -Compress
$encodedPayload = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($payload))
$command = @"
`$payload = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('$encodedPayload')) | ConvertFrom-Json
`$launchArguments = @(`$payload.arguments)
& `$payload.script @launchArguments
exit `$LASTEXITCODE
"@
$encodedCommand = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($command))
$commandArguments = "-NoProfile -ExecutionPolicy Bypass -EncodedCommand $encodedCommand"
if ($terminal -eq 'wt.exe') {
Start-Process -FilePath $terminal -ArgumentList "powershell.exe $commandArguments" -Verb RunAs
} else {
Start-Process -FilePath $terminal -ArgumentList $commandArguments -Verb RunAs
}