Я знайшов цей сценарій "sudo" в Інтернеті:
function Elevate-Process
{
$file, [string]$arguments = $args;
if([System.IO.File]::Exists("$(get-location)\$file"))
{
$file = "$(Get-Location)\$file";
}
$psi = new-object System.Diagnostics.ProcessStartInfo $file;
$psi.Arguments = $arguments;
$psi.Verb = "runas";
[System.Diagnostics.Process]::Start($psi);
}
set-alias sudo Elevate-Process;
Це добре працює, але проблема полягає в тому, що якщо ви використовуєте його з програмами, які не мають графічного інтерфейсу, він породжує процес в іншому підвищеному вікні.
Наприклад, якщо я запускаю sudo sfc /scannow
, вихід буде знаходитися у новому вікні, коли старе вікно дасть мені наступний вихід:
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
0 2 280 76 ...55 0.00 7964 sfc
Чи можливо, щоб результат команди запускався із "sudo" відображався в непідвищеному вікні Powershell? Якщо ні, то чи є інший спосіб підняти вікно Powershell без адміністратора, яке не друкує вихід у окреме вікно?