上一篇已經自定義了一個對象的類型並自定義了這個對象輸出的格式。
http://beanxyz.blog.51cto.com/5570417/1772977#661998
如果需要保存爲模塊,需要自己創建一個manifest的文件。
具體操作如下:
首先查看$env:PsmodulePath 的路徑,在第一個路徑下面創建一個文件夾 Systeminfo。
把上一篇的腳本另存爲systeminfo.psm1的格式。這個時候就可以用import-module來導入了。不過這個時候因爲沒有配置manifest文件,他的輸出格式仍然是默認的pscustomobject的格式。
下一步,把之前的format.ps1xml拷貝過來,重命名爲 systeminfo.format.ps1xml。
接下來生成一個新的manifest 文件
New-ModuleManifest -Path systeminfo.psd1 -Author 'Yuan Li' -CompanyName 'beanxyz' -Copyright 'Yuan 2016' -Description 'Get System Info' -formatstoProcess .\systeminfo.format.ps1xml -moduleversion 1.0 -powershellversion 3.0 -RootModule .\systeminfo.psm1
效果如下所示:
5. 爲了測試Module自帶的全局變量/別名,我在腳本的末尾增加了以下兩行,給我的function創建一個別名,然後導出,如果不導出的話,默認他的全局變量和別名用戶是無法看見的。
New-Alias -name gsinfo -value get-systeminfo Export-ModuleMember -Function * -Alias *
最後結果如下所示,可以看見我的格式已經是自定義的效果了,別名也生效了
如果卸載這個模塊以後,可以看見定義的別名就失效了。