教你如何個(gè)性化PowerShell環(huán)境
Windows PowerShell***的一個(gè)特質(zhì)在于其擴(kuò)展性。這個(gè)腳本引擎能以許多方式進(jìn)行自定義,并擴(kuò)展到使用默認(rèn)下不可用的功能。一旦你明白基本術(shù)語和cmdlet,接下來就個(gè)性化PowerShell。
掌控PowerShell環(huán)境
使用腳本環(huán)境并不是***之策。但是用戶可以開始使用下面信息控制Windows PowerShell行為。
Profile
Profile是在PowerShell啟動(dòng)時(shí)運(yùn)行的腳本。(我喜歡將它看成PowerShell的autoexec.bat,這可能很守舊,但仍然適用。)
有兩種類型的profile,能存儲于兩個(gè)地點(diǎn):
- System profiles——適用于所有PowerShell會(huì)話
- Host-specific profiles——只適用于某個(gè)主機(jī)(i.e. PS+)
Global
位于系統(tǒng)System32的$PShome里,(C:windowssystem32WindowsPowerShellv1.0),這個(gè)profile適用于在主機(jī)上發(fā)起的所有PowerShell會(huì)話。
User
具體用戶文檔在***載入的profile。位于$Env:UserProfileDocumentsWindowsPowerShellprofile.ps1。
PowerShell也允許你使用主機(jī)本身的文檔創(chuàng)建自定義主機(jī),不過這已經(jīng)超出本文的討論范圍,深入到開發(fā)領(lǐng)域了。
擴(kuò)展PowerShell的功能
盡管多數(shù)腳本環(huán)境包含擴(kuò)展過程,但是這些方法通常很復(fù)雜,適合更有經(jīng)驗(yàn)的用戶。不過Windows PowerShell提供了幾種級別的擴(kuò)展性,新手可以很快學(xué)會(huì)。
Function
Function是最容易添加的,只需要在功能框里包含一個(gè)命令,如function {command},讓用戶創(chuàng)建他們自己的cmdlet,通過profile載入并能按需訪問。
Snap-in
Snap-ins是在版本1.0中添加二進(jìn)制cmdlet到PowerShell會(huì)話的主要方法。通過如思杰、VMware或Exchange這樣的應(yīng)用供應(yīng)商交付的編譯代碼,snap-ins由兩個(gè)cmdlet控制:Get-PSSnapin和Add-PSSnapin。
Module
出現(xiàn)在Powershell 2.0版本里,module提供了function(管理中心)和snap-in(開發(fā)中心)之間的橋梁。Module能按需載入,并能包含二進(jìn)制cmdlet、function和script,通過下面信息進(jìn)行管理:
- Get-Module——獲取目前載入的module
- Import-Module——導(dǎo)入module
- Remove-Module——從目前會(huì)話移出module
- New-Module——創(chuàng)建只存在于內(nèi)存里的module
總的說來,對于每一個(gè)新手到經(jīng)驗(yàn)豐富的開發(fā)者,Windows PowerShell還有大量可以增長的空間。查看下面cmdlet獲取更多信息:
- Get-Help about_profiles
- Get-Help about_functions
- Get-Help about_PSSnapin
- Get-Help about_modules
【編輯推薦】