上一篇文章講解了Powershell通過(guò)交互環(huán)境運(yùn)行命令的相關(guān)知識(shí),今天給大家介紹實(shí)際工作當(dāng)中使用最頻繁的方式——通過(guò)腳本運(yùn)行,簡(jiǎn)單來(lái)說(shuō)就是和咱們實(shí)際編寫代碼一樣,先編寫代碼,然后通過(guò)開發(fā)工具執(zhí)行。同樣的為了實(shí)現(xiàn)PowerShell腳本的保存、方面在別的服務(wù)器遷移,一般都是先編寫腳本,然后通過(guò)腳本文件執(zhí)行完成相應(yīng)的運(yùn)維任務(wù)。
首先打開 WindowPowerShell ISE 開發(fā)環(huán)境新建一個(gè)test.ps1,腳本內(nèi)容如下:
$arr1=1..10 #定義一個(gè)1~10的數(shù)組
$arr1 #打印數(shù)組
一、四種執(zhí)行方式介紹
1、當(dāng)前文件夾運(yùn)行命令
進(jìn)入存放腳本文件的命令,然后執(zhí)行:
.psl1腳本文件
我的腳本文件存放在F盤的桌面目錄執(zhí)行命令如下
F #進(jìn)入F盤
cd 桌面 #進(jìn)入桌面文件夾
.test.ps1 #運(yùn)行命令
2、直接指定完整文件路徑執(zhí)行
完整psl1腳本文件。
F:桌面test.ps1
具體如下圖:
3、通過(guò)cmd命令直接執(zhí)行
需要加關(guān)鍵字PowerShell才可以識(shí)別是執(zhí)行的PowerShell命令。
命令格式:PowerShell ps1腳本文件完整路徑。
4、通過(guò)windows計(jì)劃任務(wù)執(zhí)行PowerShell腳本
PowerShell 腳本默認(rèn)無(wú)法執(zhí)行,需要先修改 PowerShell 執(zhí)行策略(ExecutionPolicy)命令如下:
set-ExecutionPolicy RemoteSigned
說(shuō)明:關(guān)于PowerShell的策略問(wèn)題,下篇文章會(huì)進(jìn)行詳細(xì)講解。
輸入上面的命令后會(huì)提示我們?nèi)绾螌?duì)策略進(jìn)行修改,這里我們選擇y,然后按下回車鍵。
首先打開Windows任務(wù)計(jì)劃程序。
創(chuàng)建一個(gè)計(jì)劃任務(wù)。
打開創(chuàng)建計(jì)劃任務(wù)常規(guī)選項(xiàng)卡,然后輸入名稱和描述,具體如下圖:
切換到觸發(fā)器選項(xiàng)卡,設(shè)置每五分鐘執(zhí)行一次。
切換到操作選項(xiàng)卡,新建操作設(shè)置執(zhí)行腳本文件。
powershell
添加參數(shù) 。
F:桌面test.ps1
然后就可以正常運(yùn)行該計(jì)劃了。
二、通過(guò)腳本方式執(zhí)行命令的優(yōu)勢(shì)
- 方便遷移,比如在之前工作經(jīng)驗(yàn)積累下來(lái)的運(yùn)維腳本,可以保存下來(lái)。如果業(yè)務(wù)場(chǎng)景用的到的話,直接文件拷貝過(guò)來(lái)就可以運(yùn)行。
- 提升腳本的可讀性。針對(duì)一些復(fù)雜的運(yùn)維腳本,如果通過(guò)交互命令方式,如果命令非常多且比較復(fù)雜的話,那么腳本可讀性就大打折扣了。建議針對(duì)復(fù)雜運(yùn)維命令的話,注釋一定要寫的比較清晰,方便后續(xù)使用和運(yùn)維。
- 腳本編寫效率大大提高。交互執(zhí)行的方式會(huì)存在腳本思維的跳躍。不利于腳本整體邏輯的把控。
- 定時(shí)任務(wù)的實(shí)現(xiàn)。通過(guò)腳本方式可以很方便的腳本文件周期重復(fù)性執(zhí)行,這樣就達(dá)到了定時(shí)任務(wù)的目的。