Microsoft Hyper-V Server 2012快速上手之創建腳本運行環境

http://dinghuqiang.blog.51cto.com/19871/1175060

    一個PowerShell腳本其實就是一個簡單的文本文件,這個文件包含了一系列PowerShell命令,每個命令顯示爲獨立的一行,PowerShell腳本文件擴展名爲.PS1。那麼,是不是可以在PowerShell環境下直接可以運行.PS1文件?
p_w_picpath
    我們可以看到,在PowerShell環境下,是不能直接運行.PS1文件的。這是爲防止惡意腳本的執行,PowerShell的一個默認執行策略,這個執行策略被設爲受限的(Restricted),意味着PowerShell腳本無法執行,它每次只能執行一行命令。
    我們可以通過一個命令來查看當前的策略:
Get-ExecutionPolicy –List 
p_w_picpath
    印證了上面的本地默認策略被設爲受限的(Restricted),而其它 MachinePolicy;UserPolicy;Process;CurrentUser等沒有定義。那麼,用什麼方法可以修改這個默認策略呢?我們又用到下面一條命令:
Set-ExecutionPolicy <policy name>    這個 <policy name>等於(Restricted;AllSigned;RemoteSigned;Unrestricted;Bypass;Undefined),下面是微軟對這些<policy name>的定義:

WINDOWS POWERSHELL 執行策略 -------------------------------------    Windows PowerShell 執行策略如下:    "Restricted"是默認策略。        Restricted            - 默認執行策略。            - 允許單個命令運行,但不能運行腳本。            - 阻止所有腳本文件的運行,包括格式和配置文件 (.ps1xml)、模塊腳本文件 (.psm1)               和 Windows PowerShell 配置文件 (.ps1)。            AllSigned            - 可以運行腳本。            - 要求所有腳本和配置文件由可信發佈者簽名,包括在本地計算機上編寫的腳本。           - 在運行來自尚未分類爲可信或不可信發佈者的腳本之前進行提示。            - 運行來自 Internet 以外的源的未簽名腳本及已簽名但有惡意的腳本存在風險。              RemoteSigned            - 可以運行腳本。            - 要求可信發佈者對從 Internet(包括電子郵件和即時消息程序)下載的腳本和配置文件              進行數字簽名。           - 不要求對已經運行和已在本地計算機編寫的腳本(不是從 Internet 下載的腳本)進行數          字簽名。            - 面臨運行已簽名但有惡意的腳本帶來的風險。        Unrestricted            - 可以運行未簽名腳本。(面臨運行惡意腳本所帶來的風險。)            - 在運行從 Internet 下載的腳本和配置文件之前警告用戶。        Bypass            - 不阻止任何執行項,不顯示警告和提示。            - 此執行策略設計用於兩種配置:一種是 Windows PowerShell 腳本內置於一個較大的              應用程序中;一種是 Windows PowerShell 成爲擁有自身安全模型的某個程序的基礎。        Undefined            - 當前作用域中未設置執行策略。            - 如果所有作用域中的執行策略爲 Undefined,則有效執行策略爲 Restricted,該策略              是默認執行策略。    注意:在不對通用命名約定 (UNC) 路徑與 Internet 路徑加以區分的系統上,可能無法使用           RemoteSigned 執行策略來允許運行由 UNC 路徑標識的腳本。

一般情況下,如果您對自己所寫的腳本文件的把握,可以執行下面命令:
    Set-ExecutionPolicyUnrestricted  
查看執行情況:
Get-ExecutionPolicyLocalMachine
p_w_picpath
    我們可以用Windows Server 2012 自帶的的PowerShell ISE編輯器來編輯一個.PS1文件來驗證:
p_w_picpath

本文出自 “老丁的技術博客” 博客,請務必保留此出處http://dinghuqiang.blog.51cto.com/19871/1175060

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章