PowerShell创建module和manifest文件-创新互联

上一篇已经自定义了一个对象的类型并自定义了这个对象输出的格式。

创新互联是一家专注于网站制作、成都网站设计与策划设计,象山网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:象山等地区。象山做网站价格咨询:18980820575

http://beanxyz.blog.51cto.com/5570417/1772977#661998

如果需要保存为模块,需要自己创建一个manifest的文件。

具体操作如下:

  1. 首先查看$env:PsmodulePath 的路径,在第一个路径下面创建一个文件夹 Systeminfo。

    PowerShell 创建module和manifest文件

  2. 把上一篇的脚本另存为systeminfo.psm1的格式。这个时候就可以用import-module来导入了。不过这个时候因为没有配置manifest文件,他的输出格式仍然是默认的pscustomobject的格式。

  3. 下一步,把之前的format.ps1xml拷贝过来,重命名为 systeminfo.format.ps1xml。

    接下来生成一个新的manifest 文件

  4. 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

  效果如下所示:

PowerShell 创建module和manifest文件

    5. 为了测试Module自带的全局变量/别名,我在脚本的末尾增加了以下两行,给我的function创建一个别名,然后导出,如果不导出的话,默认他的全局变量和别名用户是无法看见的。

New-Alias -name gsinfo -value get-systeminfo
Export-ModuleMember -Function * -Alias *

最后结果如下所示,可以看见我的格式已经是自定义的效果了,别名也生效了

PowerShell 创建module和manifest文件

如果卸载这个模块以后,可以看见定义的别名就失效了。

PowerShell 创建module和manifest文件

附件:http://down.51cto.com/data/2367689

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:PowerShell创建module和manifest文件-创新互联
链接地址:http://scyanting.com/article/dhgpjc.html