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