茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1673432 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
PI20101106_00131.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2015/12/18 3:30:44

[PowerShell] cannot be loaded because the execution of scripts is disabled on this system - Server 2008 R2

最近在研究PowerShell,在執行的時候遇到了一些問題
直接打開PowerShell執行 xxx.ps1 的Script是可以正常運作的
但是要使用C# 去呼叫寫好的 xxx.ps1就會發生問題了


英文版

xxx.ps1 cannot be loaded because the execution of scripts is disabled on this system.

PowerShell有些執行上的政策去限制了檔案(.ps1)的執行

有四種執行的政策

Restricted - 限制 任何的 .ps1的執行 ....這是預設值

AllSigned - 要執行的.ps1都要經過信任者的簽名發行

Remote Signed - 這是允許存取本機電腦上.ps1,但是透過網路去存取的就不行

Un Restricted - 完全不限制.ps1的執行
更多資訊

如果是自己寫的.ps1應該是 RemoteSigned 的權限就可以執行了

如畫面顯示我的執行政策已經是 UnRestricted 但是還是出現一樣的錯誤

後來才發現我使用的作業系統是 Server 2008 R2
同時會存在著 X86 和 X64兩種版本
需要檢查兩個版本是否都是可以執行的權限

X86的路徑
C:\Windows\system32\cmd.exe



X86的執行政策是 UnRestricted

接下來檢查X64的設定
C:\Windows\SysWOW64\cmd.exe

就會發現X64的執行政策是  Restricted,難怪一直都不能執行!!!
只要修改X64的政策就能執行了


這個問題困擾了我一陣子,經過這一次的經驗
下次在處理Server的問題時,就會多注意到X64和X86的版本問題

從失敗中學經驗~~

參考資料:
http://stackoverflow.com/questions/4037939/powershell-execution-of-scripts-is-disabled-on-this-system


原文出處:I'm Mr.J 沒有技術的狂熱~~只希望享受分享的喜悅~~: [PowerShell] cannot be loaded because the execution of scripts is disabled on this system - Server 2008 R2
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|