[运维笔记] PowerShell (模块).模块清单


作者:jcLee95


目 录


1. 模块清单是什么

2. 如何创建模块清单

3. 模块清单.psd1文件内容解释

4. 某库的模块清单实例


1. 模块清单是什么

模块清单是一个包含键和值的哈希表的文本文件,它用于描述模块的内容并确定如何处理模块

2. 如何创建模块清单

【命令】

New-ModuleManifest[-Path] <String>[-NestedModules <Object[]>][-Guid <Guid>][-Author <String>][-CompanyName <String>][-Copyright <String>][-RootModule <String>][-ModuleVersion <Version>][-Description <String>][-ProcessorArchitecture <ProcessorArchitecture>][-PowerShellVersion <Version>][-CLRVersion <Version>][-DotNetFrameworkVersion <Version>][-PowerShellHostName <String>][-PowerShellHostVersion <Version>][-RequiredModules <Object[]>][-TypesToProcess <String[]>][-FormatsToProcess <String[]>][-ScriptsToProcess <String[]>][-RequiredAssemblies <String[]>][-FileList <String[]>][-ModuleList <Object[]>][-FunctionsToExport <String[]>][-AliasesToExport <String[]>][-VariablesToExport <String[]>][-CmdletsToExport <String[]>][-DscResourcesToExport <String[]>][-CompatiblePSEditions <String[]>][-PrivateData <Object>][-Tags <String[]>][-ProjectUri <Uri>][-LicenseUri <Uri>][-IconUri <Uri>][-ReleaseNotes <String>][-Prerelease <String>][-RequireLicenseAcceptance][-ExternalModuleDependencies <String[]>][-HelpInfoUri <String>][-PassThru][-DefaultCommandPrefix <String>][-WhatIf][-Confirm] [<CommonParameters>]

这里的多数选项见“内容解释”部分,因为我们会在模块清单创建好后手动去编辑文本中的相应内容。我们只需要指定 模块清单文件路径-Path 即可。你也可以使用-ModuleVersion-Author指定你的模块版本和作者。如:

【例子】

 New-ModuleManifest .\jc.config.psd1 -ModuleVersion "1.0.0" -Author "JackLee95"

可以看到在当前目录下生成了一个名为jc.config.psd1的文件,即模块清单

3. 模块清单.psd1文件内容解释

该文件内容和解释如下:

#
# Module manifest for module 'jc.config'
#
# Generated by: JackLee95
#
# Generated on: 2021/11/9
#@{# 与此清单关联的脚本模块或二进制模块文件。
# RootModule = ''# 此模块的版本号。
ModuleVersion = '1.0.0'# 支持的 PSEditions
# CompatiblePSEditions = @()# 用于唯一标识该模块的标识 ID
GUID = '9d592212-31f7-4754-8038-9e15c1ca5ed2'# 本模块的作者
Author = 'JackLee95'# 该模块的公司或供应商
CompanyName = 'Unknown'# 本模块的版权声明
Copyright = '(c) JackLee95. All rights reserved.'# 本模块提供的功能描述
# Description = ''# 此模块所需的PowerShell引擎的最低版本
# PowerShellVersion = ''# 此模块所需的PowerShell主机的名称
# PowerShellHostName = ''# 此模块所需的PowerShell主机的最低版本
# PowerShellHostVersion = ''# 此模块所需的 Microsoft .NET Framework 最低版本。此先决条件仅对PowerShell桌面版有效。
# DotNetFrameworkVersion = ''# 此模块所需的公共语言运行库(CLR)的最低版本。此先决条件仅对PowerShell桌面版有效。
# ClrVersion = ''# 本模块所需的处理器架构(None、X86、Amd64)
# ProcessorArchitecture = ''# 在导入此模块之前必须导入到全局环境中的模块
# RequiredModules = @()# 导入此模块之前必须加载的程序集
# RequiredAssemblies = @()# 导入此模块之前在调用者环境中运行的脚本文件(. ps1)。
# ScriptsToProcess = @()# 键入导入此模块时要加载的文件(.ps1xml)
# TypesToProcess = @()# 导入此模块时要加载的格式文件(.ps1xml)
# FormatsToProcess = @()# 要作为 RootModule/ModuleToProcess 中指定模块的嵌套模块导入的模块
# NestedModules = @()# 要从此模块导出的函数,为了获得最佳性能,不要使用通配符,也不要删除条目,如果没有要导出的函数,请使用空数组。
FunctionsToExport = @()# 要从此模块导出的cmdlet,为了获得最佳性能,请不要使用通配符,也不要删除条目,如果没有要导出的cmdlet,请使用空数组。
CmdletsToExport = @()# 要从此模块导出的变量
VariablesToExport = '*'# 要从此模块导出的别名为了获得最佳性能,请不要使用通配符,也不要删除条目,如果没有要导出的别名,请使用空数组。
AliasesToExport = @()# 要从此模块导出的DSC资源
# DscResourcesToExport = @()# 与此模块一起打包的所有模块的列表
# ModuleList = @()# 与此模块一起打包的所有文件列表
# FileList = @()# 要传递给根模块/模块进程中指定的模块的私有数据。这可能还包含一个PSData哈希表,其中包含PowerShell使用的附加模块元数据。
PrivateData = @{PSData = @{# 应用于此模块的标签。这些有助于在线图库中的模块发现。# Tags = @()# 此模块许可证的URL。# LicenseUri = ''# A URL to the main website for this project.# ProjectUri = ''# A URL to an icon representing this module.# IconUri = ''# 发布本模块的注释# ReleaseNotes = ''# 此模块的预发布字符串# Prerelease = ''# 指示模块是否要求用户明确接受安装/更新/保存的标志# RequireLicenseAcceptance = $false# 该模块的外部相关模块# ExternalModuleDependencies = @()} # PSData哈希表的结尾} # 私有数据哈希表的结尾# 本模块的帮助信息URI
# HelpInfoURI = ''# 从该模块导出的命令的默认前缀。使用 Import-Module -Prefix 覆盖默认前缀。
# DefaultCommandPrefix = ''}

4. 某库的模块清单实例

@{RootModule = 'Xxxxx.psm1'ModuleVersion = '1.0.0'GUID = 'xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx'Author = 'xxxx'CompanyName = 'xxxx'Copyright = '(c) 2019 xxxx, licensed under MIT License.'Description = 'A xxxxxxx compatible PowerShell Xxxxx with custom appenders support!'PowerShellVersion = '5.0'HelpInfoURI       = 'https://github.com/xxxx/xxxx/master/README.md'RequiredModules   = @('Xxxx')FunctionsToExport = ''NestedModules = @('Src\Entry\XoggerEntry.psm1''Src\Entry\XoggerEntryTrimmed.psm1''Src\Appender\ColoredConsoleAppender.psm1''Src\Appender\FileAppender.psm1''Src\Appender\AppVeyorAppender.psm1''Src\IXxxxx.psm1')PrivateData = @{PSData = @{Tags = @('xxxx', 'xxx', 'xxx', 'xxxx', 'xxxx', 'xxxx', 'xxxx')LicenseUri = 'https://xx/xx/xx/xx/LICENSE'ProjectUri = 'https://xxx/xxx/Logger'IconUri = 'https://xxx.x.xx/icon.png'ReleaseNotes = 'xxxx'}}}

[运维笔记] PowerShell (模块).模块清单相关推荐

  1. [运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布

    [运维笔记] PowerShell (库/模块).库的查找.安装.卸载.更新.保存.发布 作者主页:jcLee95:https://blog.csdn.net/qq_28550263?spm=3001 ...

  2. Nginx基础应用配置小结 - 运维笔记

    Nginx基础应用配置小结 - 运维笔记 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 N ...

  3. H5直播站点运维笔记一 服务器篇

    H5直播站点运维笔记一 服务器 服务器篇 一.CentOS6基础操作 1. 查看服务器版本 2. 查看服务器性能 3. 文件查找 4. 软件查找 5. 用户系统 6. 远程登录工具 二.FTP ( V ...

  4. 老男孩的linux运维笔记-初级部分内容(一)

    ############################################################ # # USER          YYYY-MM-DD – ACTION # ...

  5. linux运维笔记:Rsync数据同步工具

    linux运维笔记:Rsync数据同步工具 1-Rsync简介 Rsync英文全称是Remote synchronization,Rsync具有可以使本地和远程两台主机之间的数据快速复制和同步镜像.远 ...

  6. 运维笔记-nginx详解

    目录 1.简介 2.正向代理与反向代理 3.nginx的安装部署(基于Centos-stream操作系统) 4.nginx配置文件详解 5.高效的Web服务器-nginx 5.1nginx服务器基本配 ...

  7. 运维笔记--postgresql占用CPU问题定位

    运维笔记--postgresql占用CPU问题定位 场景描述: 业务系统访问变慢,登陆服务器查看系统负载并不高,然后查看占用CPU较高的进程,发现是连接数据库的几个进程占用系统资源较多. 处理方式: ...

  8. 老男孩的运维笔记文档-高级部分(系统架构师)列表(三)

    ############################################################ # # USER          YYYY-MM-DD – ACTION # ...

  9. linux运维笔记:动态网页资源

    linux运维笔记:动态网页资源 1.动态网页资源介绍 所谓的动态网页是与静态网页相对而言,也就是说,动态网页的URL后缀 不是.htm..html..shtml..xml..js..css等静态网页 ...

最新文章

  1. Java_异常_05_ OutOfMemoryError: Java heap space
  2. 【python】关于python的链表结构实现
  3. c语言由高到低的运算符,求解C语言关系运算符优先极由高到低列表(同级请用括号)...
  4. 转 安装php时报gd相关的错误(gd_ctx.c)
  5. 一起看一下主流应用使用了哪些三方库
  6. 可用于企业的 7 个最佳开源 Web 服务器
  7. ajax分批mysql_使用select2分批异步加载大量数据
  8. MVCWebForm对照学习:文件上传(以图片为例)
  9. App性能测试-GT
  10. IOCP Thread Pool 在 C# 的Safe实现
  11. yolo如何降低loss_YOLO训练中的问题与怀疑
  12. 使用Logic Apps从Azure Blob存储中删除超过X天的文件
  13. matlab+yalmip+mosek/cplex安装配置
  14. hdu 2122 最小生成树
  15. 将靠父id的层级关系处理成编码形式
  16. 360度评估反馈实施的注意事项
  17. 【循序渐进学运维】MySQL运维系列文章汇总
  18. PS制作独特火焰立体文字
  19. 乐优商城之后台管理系统
  20. Modbus RTU笔记总结

热门文章

  1. LaTeX 参考文献的排版与引用
  2. 10个用Console来Debug的高级技巧
  3. 手把手教你jmeter压测--适合入门
  4. QGhappy小组第三次作业第二天完成情况
  5. 2017.11.20T19_5
  6. C++ primer plus学习笔记 (3) _函数
  7. 例子:10秒后同意按钮可点击
  8. mac git 冲突工具
  9. 逻辑回归模型(Logistic Regression)及Python实现
  10. [javascript]实现登陆界面拖动窗口