Windows操作系統作為優秀的操作系統,由開發操作系統的微軟公司控制接口和設計,公開標準,因此,有大量商業公司在該操作系統上開發商業軟件。 一個PowerShell腳本其實就是一個簡單的文本文件,這個文件包含了一系列PowerShell命令,每個命令顯示為獨立的一行,PowerShell腳本文件擴展名為.PS1。那么,是不是可以在PowerShell環境下直接可以運行.PS1文件?
我們可以看到,在PowerShell環境下,是不能直接運行.PS1文件的。這是為防止惡意腳本的執行,PowerShell的一個默認執行策略,這個執行策略被設為受限的(Restricted),意味著PowerShell腳本無法執行,它每次只能執行一行命令。 我們可以通過一個命令來查看當前的策略: Get-ExecutionPolicy –List?
印證了上面的本地默認策略被設為受限的(Restricted),而其它 MachinePolicy;UserPolicy;Process;CurrentUser等沒有定義。那么,用什么方法可以修改這個默認策略呢?我們又用到下面一條命令: Set-ExecutionPolicy 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 我們可以用Windows Server 2012 自帶的的PowerShell ISE編輯器來編輯一個.PS1文件來驗證: Windows操作系統對硬件支持良好。 |
溫馨提示:喜歡本站的話,請收藏一下本站!