2011-03-03 83 views
1

我试图运行PowerShell脚本(这是我之前运行),并收到以下错误:
Authorizationmanager检查失败
PowerShell的:ExecutionPolicy无法读取/设置

我想这是执行政策,所以跑:

Set-ExecutionPolicy Unrestricted

我再收:

Set-ExecutionPolicy : Initialization failure
At line:1 char:20
+ set-executionpolicy <<<< unrestricted
+ CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], ManagementException
+ FullyQualifiedErrorId : System.Management.ManagementException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

对于发生

同样的初始化错误GET-ExecutionPolicy

一些基本的命令似乎做工精细,如:

Write-Output "hi"

任何人都可以提出一个解决?

注:这是Windows XP

更新:如果我从PowerShell命令提示符中运行ascript的内容,它的工作原理。如果它作为脚本运行,我只会得到错误。另外,Get-ExecutionPolicy和Set-ExecutionPolicy在powershell提示符下仍然失败。

回答

1

错误的来源是由于WMI存储库存在问题。我能修复库运行以下命令:

注意:这是针对Windows XP

rundll32 wbemupgd, UpgradeRepository 

一旦被运行,我是能够成功地执行GET-ExecutionPolicy,和其他的PowerShell脚本再次。

A couplelinks详细修复WMI存储库。

+0

如果您正在运行Vista或Windows 7,请运行以下命令:winmgmt/salvagerepository – Notorious2tall 2011-05-06 13:07:24

2

确保您以管理员身份运行控制台[右键单击],然后单击管理员以运行Set-ExecutionPolicy Unrestricted

+0

如果他没有正确的权限,他会得到一个未经授权的错误。 – JasonMArcher 2011-03-04 00:20:42

+0

这是在Windows XP上,以Adminstrators组的成员身份登录。 – 2011-03-04 14:34:14

0

另一个非常常见的情况(我认为这只适用于XP后),是.ps1文件从不受信任位置下载后被“阻止”的位置。

解决方案:在Windows资源管理器中打开文件的“属性”,然后在“常规”选项卡上单击“解除阻止”,然后点击“应用”或“确定”。