Долгое время читатель, но новый плакат.Я боролся с этой проблемой целый день, и это сводит меня с ума.Обыскивая этот сайт и Google, я все еще застрял.По сути, я не могу понять, как реализовать «sudo» в Powershell, который работает с CmdLet Copy-Item.Вот мой код:
PROFILE.PS1:
# Trigger UAC to elevate the supplied command
function Elevate-Process() {
if($args.Length -eq 0) {
error ('USAGE: ' + $MyInvocation.InvocationName + ' <executable> [arg1 arg2 arg3 ...]');
} else {
try {
if($args.Length -eq 1) {
Start-Process $args[0] -Verb RunAs;
} else {
Start-Process $args[0] -ArgumentList $args[1..$args.Length] -Verb RunAs;
}
} catch {
error $_.Exception.Message;
}
}
}
# Display pretty-formatted error messages
function error() {
# Validate function parameters
Param(
[Parameter(Mandatory=$true)]
[ValidateScript({$_.GetType().Name -eq 'String'})]
$sMessage
);
Write-Host $sMessage -BackgroundColor Yellow -ForegroundColor Red;
}
# Set aliases
set-alias sudo Elevate-Process;
APPLY-INI.PS1:
sudo Copy-Item '.\standard_menu.ini' 'C:\Program Files (x86)\Opera\ui\';
#sudo [System.IO.File]::Copy '.\webmailproviders.ini' 'C:\Program Files (x86)\Opera\defaults\webmailproviders.ini' $true;
Write-Host 'Press any key to exit...';
$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | Out-Null;
Когда я выполняю powershell.exe. \ Apply-ini.ps1 , я получаю следующую ошибку:
Эта команда не может быть выполнена из-за ошибки: система не может найти указанный файл.
Я пробовал ВСЕ, что мог найти без удачи.Надеюсь, кто-то может указать мне правильное направление.