2011-03-03 90 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資源管理器中打開文件的「屬性」,然後在「常規」選項卡上單擊「解除阻止」,然後點擊「應用」或「確定」。