2013-04-26 1 views
1

Я пытаюсь изменить права доступа к UAC с Powershell скрипт, который выглядит как:Powershell Разрешение Администратор Denied при изменении UAC

Start-Process powershell -Verb runAs Administrator 

Set-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -Value 0 

$UAC = Get-ItemProperty -Path registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA 
$UAC.EnableLUA 

Даже если я бегу сценарий как администратор, я все еще получаю следующая ошибка:

Set-ItemProperty : Requested registry access is not allowed. At C:\Users\Bert\Desktop\autoLims.ps1:8 char:17 + Set-ItemProperty <<<< -Path registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -Value 0 + CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACH...policies\system:String) [Set-ItemProperty], SecurityException + FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.SetItemPropertyCommand

Любые идеи, почему это не запускает скрипт, хотя я запускаю скрипт как администратор? Есть что-то еще, что мне нужно изменить?

+2

Я думаю, что вы хотите просто '-Verb runAs' - нет' Administrator' –

+0

Если вы хотите ответить на этот вопрос, я дам вам очки. – Thomas

ответ

2

Параметр -Verb принимает только один аргумент, например. print. В случае повышения будет RunAs, который будет запускать процесс с полными привилегиями текущего пользователя.


От Start-Process documentation:

-Verb <String> 

Определяет глагол, используемый при запуске процесса. Доступные глаголы определяются расширением имени файла, которое выполняется в процессе.

В следующей таблице показаны глаголы для некоторых распространенных типов файлов процессов.

File type Verbs 
--------- ------- 
.cmd  Edit, Open, Print, Runas 
.exe  Open, RunAs 
.txt  Open, Print, PrintTo 
.wav  Open, Play 

Чтобы найти глаголы, которые могут быть использованы с файлом, который работает в процессе, используйте New-Object используется для создания System.Diagnostics.ProcessStartInfo объекта для файла. Доступные глаголы находятся в свойстве Verbs объекта ProcessStartInfo.