0

Я использую пользователя с ролью администратора. Однако по умолчанию скрипты выполняются в режиме UAC, а не как администратор. Можно ли открыть консоль powershell с скриптом powershell без диалогового окна UAC?Powershell, чтобы открыть консоль PowerShell в режиме администратора без диалогового окна UAC и выполнить некоторую задачу

Я пытался подъемной задачу я хочу сделать как следует, но это дает мне диалоговое окно, в котором должны присутствовать:

# Get the ID and security principal of the current user account 
$myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent(); 
$myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID); 

# Get the security principal for the administrator role 
$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator; 

# Check to see if we are currently running as an administrator 
if ($myWindowsPrincipal.IsInRole($adminRole)) 
{ 
    # We are running as an administrator, so change the title and background colour to indicate this 
    $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)"; 
    $Host.UI.RawUI.BackgroundColor = "DarkBlue"; 
    Clear-Host; 
} 
else { 
    # We are not running as an administrator, so relaunch as administrator 

    # Create a new process object that starts PowerShell 
    $newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell"; 


    # Indicate that the process should be elevated 
    $newProcess.Verb = "runas"; 

    # Start the new process 
    [System.Diagnostics.Process]::Start($newProcess); 

    # Exit from the current, unelevated, process 
    Exit; 
} 

#DOING SOME TASK HERE 

Однако, это открывает диалоговое окно UAC, который подтверждает, если я хочу open powershell в режиме администратора.

Еще один способ, с помощью которого я попытался открыть консоль PowerShell в режиме администратора по умолчанию (я использую WS 2012, и способ сделать это такой же, как и в Windows 10). Однако у меня нет прав на внесение подобных изменений в систему, так как DevOps воздерживается от этого. Есть ли другой способ с помощью сценариев PowerShell, чтобы справиться с этим?

+0

За что голосовать? Я прошу избирателя любезно предоставить причину тому же. – Rishi

+0

Вчера я получил пару downvotes в течение короткого промежутка времени - не знаю, в чем проблема этого парня или кто-то получил взломанный – DAXaholic

ответ

0

Вы можете - как обходной путь - создать запланированную задачу, которая настроена для запуска повышенной работы и запускает эту задачу из исходного PowerShell.

Инструкции по настройке такой задачи и here см. В разделе here.

+1

Спасибо @DAXaholic за ваш ответ. Тем не менее, у меня все получилось, хотя у меня не было возможности добавить его, и да, команда Automation предложила то же самое, что и вы. – Rishi

+0

Btws, @DAXaholic, мне нужно сделать это: http://stackoverflow.com/questions/39108473/unable-to-disable-the-microsoft-office-customization-installer-while-automating. Поскольку я новичок в планировщике задач, можете ли вы дать мне представление о том, как я могу добиться того, о чем прошу? Я чувствую, что должен быть способ с самим планировщиком задач ... – Rishi

Смежные вопросы