PowerShell腳本寫的文件.ps1文件介紹
.ps1文件是PowerShell寫好的腳本文件。在Windows系統(tǒng)中,默認情況下是不允許執(zhí)行.ps1文件的,那么怎么才能讓系統(tǒng)允許執(zhí)行.ps1文件呢?
什么是“.ps1”文件?
這個是PowerShell寫的腳本文本,你可以在記事本中寫一段PowerShell代碼,然后將其保存為“xxx.ps1”,后面要使用它的時候,雙擊即可運行了。這有點像批處理的“.bat”文件,也有點像VBScript的“.vbs”文件。這些都是Windows的腳本文件。
如何執(zhí)行“.ps1”文件?
接下來大家會問,那我們就雙擊它運行好了,還有什么好說的嗎?當然要說。我們想得很美,雙擊一下就執(zhí)行了,但是Windows系統(tǒng)默認是不允許執(zhí)行.ps1文件的,所以你得往下看。
執(zhí)行不成功的解決辦法
1、將PowerShell的腳本內(nèi)容保存到一個.ps1為后綴的文件中。
2、雙擊執(zhí)行此ps1文件很有可能無法執(zhí)行,提示:無法加載文件 D:\PowerShell\test\myfirst1.ps1,因為在此系統(tǒng)中禁止執(zhí)行腳本。
3、運行g(shù)et-executionpolicy,如果結(jié)果是Restricted,那表示禁止執(zhí)行腳本。
4、執(zhí)行如下命令,降低系統(tǒng)的安全性,允許執(zhí)行腳本:set-executionpolicy -executionpolicy unrestricted
關(guān)于執(zhí)行策略
這里有一個executionpolicy,翻譯過來就是執(zhí)行策略。Windows對PowerShell腳本默認的執(zhí)行策略是:不允許執(zhí)行,即Restricted。把它改成unrestricted自然就可以執(zhí)行了。但微軟給出的Best Practise(“最佳實踐”)是RemoteSigned,這個級別比UnRestricted要高一點,不是什么程序都能執(zhí)行。據(jù)我簡單的了解,RemoteSigned是要求遠程下載的ps1腳本文件必須是簽名的才可以執(zhí)行。至于我們在本機上自寫的腳本程序,那是沒有區(qū)別,都可以執(zhí)行的。
修改執(zhí)行策略需要權(quán)限
另外需要說明的是,如果是在Win7、Win8、Windows 2008、Windows 2012等系統(tǒng)上,且不是使用administrator賬號來執(zhí)行這個set-executionpolicy語句,將會報錯,錯誤如下:
Set-ExecutionPolicy : 對注冊表項“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的訪問被拒絕。
這時候小編很疑惑,我使用賬號雖然不是administrator,但也是administrators組的,為什么會沒有權(quán)限呢?不管了,在注冊表中,找到這個鍵,然后點右鍵選擇“權(quán)限”,然后給當前登錄系統(tǒng)的賬號加一個“完全控制”的權(quán)限(只有“只讀”和“完全控制”兩個權(quán)限,所以就選“完全控制”了)。然后,再重新執(zhí)行set-executionpolicy -executionpolicy unrestricted,就可以成功了!
相關(guān)文章
PowerShell中使用return語句退出函數(shù)例子
這篇文章主要介紹了PowerShell中使用return語句退出函數(shù)例子,return語句在編程語言中一般都有退出函數(shù)的功能,需要的朋友可以參考下2014-07-07
PowerShell函數(shù)參數(shù)設(shè)置為即可選又必選的方法
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置為即可選又必選的方法,也就是帶有判斷功能,在某個情況下變?yōu)榭上葏?shù),在某種情況下又是必選參數(shù),需要的朋友可以參考下2014-07-07
PowerShell小技巧之使用Hotmail賬號發(fā)送郵件
這篇文章主要介紹了PowerShell使用Hotmail賬號發(fā)送郵件的方法,以及遇到報錯的時候的解決方法,希望對大家有所幫助2014-09-09

