2

我正在尝试使用如下所示的 powershell 脚本修改 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:不允许请求的注册表访问。在 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

任何想法为什么即使我以管理员身份运行脚本也不会运行脚本?还有什么我需要改变的吗?

4

1 回答 1

2

-Verb参数只接受一个参数,例如print。在提升的情况下,它将RunAs以当前用户的完全权限运行进程。


Start-Process 文档

-Verb <String>

指定启动进程时要使用的动词。可用的动词由进程中运行的文件的文件扩展名决定。

下表显示了一些常见进程文件类型的动词。

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

要查找可用于进程中运行的文件的动词,请使用New-Objectcmdlet 为文件创建System.Diagnostics.ProcessStartInfo对象。可用动词位于ProcessStartInfo对象的 Verbs 属性中。

于 2013-04-27T19:17:45.363 回答