現在通過編寫模塊就可以在PowerShell命令行或者腳本中管理大型、分布式軟件系統,就像Exchange Server和SharePoint Server正在做的那樣。你有這樣的需求嗎?
模塊、腳本模塊
模塊是PowerShell V2中引入的概念,用以改進之前提出的“管理單元”。將管理單元也作為模塊(二進制模塊)處理之后,PowerShell中就包括兩種模塊——腳本模塊和二進制模塊。那么什么是模塊呢?模塊就是包含一些PowerShell命令、項的程序包,它以一個整體被分發共享和加載使用。
腳本模塊是在PowerShell V2中與模塊一起提出的概念,它完全由PowerShell語法和環境編寫,不需要切換到其他編譯語言或者開發環境。腳本模塊是現在編寫PowerShell模塊時推薦的方法,要好好學哦。
編寫腳本模塊
編寫腳本模塊包括確定模塊路徑、創建模塊文件夾、編寫模塊文件和編寫Manifest文件等幾個方面,都非常容易操作,具體內容如下:
模塊安裝路徑
理論上,模塊可以放在本機的任何位置,但是如果放在Env:/PSModulePath搜索范圍內,將會更加便于管理和使用。Env:/PSModulePath是與系統變量%Path%具有相同建模方式的變量,其變量值是由逗號分隔的路徑組成的字符串。雖然env:PSModulePath變量中有系統預定義的兩個目錄,但他們可能并未創建,需要在使用的時候創建。
可以用以下命令獲得兩個路徑:
代碼如下:
PS C:/Users/luke> $paths = (dir Env:/PSModulePath).Value.Split(";")
PS C:/Users/luke> $paths
C:/Users/luke/Documents/WindowsPowerShell/Modules
C:/Windows/system32/WindowsPowerShell/v1.0/Modules/
檢查路徑是否已經創建可以用如下命令:
代碼如下:
PS C:/Users/luke> Test-Path -Path $paths[0]
False
以上返回False,則表示路徑未創建。創建路徑可使用文件瀏覽器、Cmd命令或者PowerShell命令。這里使用PowerShell命令如下:
代碼如下:
New-Item -Path $paths[0] -ItemType directory -Force
這樣放置模塊所需要的路徑就創建好了,可以進行下一步了。
模塊文件夾
模塊文件夾是模塊的一個組成部分,要與模塊具有相同的名字。模塊所包含的模塊文件、描述文件以及其他可能用到的腳本文件都要放在這個文件夾中。例如本文需要創建模塊ModuleDemo1,可以使用上述的new-item命令或者切換到腳本路徑之后使用md命令,即md ModuleDemo1。
腳本模塊文件
腳本模塊文件與一般的腳本文件內容相似,只是后綴是.psm1而非.ps1,其文件名就是模塊的名字。不過,一般來說模塊中應該只包含函數、別名、變量等的定義,不應進行很多操作或者輸出。ModuleDemo1.psm1的簡單示例如下:
代碼如下:
新聞熱點
疑難解答