[运维笔记] PowerShell (模块).模块清单
[运维笔记] 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 (模块).模块清单相关推荐
- [运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布
[运维笔记] PowerShell (库/模块).库的查找.安装.卸载.更新.保存.发布 作者主页:jcLee95:https://blog.csdn.net/qq_28550263?spm=3001 ...
- Nginx基础应用配置小结 - 运维笔记
Nginx基础应用配置小结 - 运维笔记 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 N ...
- H5直播站点运维笔记一 服务器篇
H5直播站点运维笔记一 服务器 服务器篇 一.CentOS6基础操作 1. 查看服务器版本 2. 查看服务器性能 3. 文件查找 4. 软件查找 5. 用户系统 6. 远程登录工具 二.FTP ( V ...
- 老男孩的linux运维笔记-初级部分内容(一)
############################################################ # # USER YYYY-MM-DD – ACTION # ...
- linux运维笔记:Rsync数据同步工具
linux运维笔记:Rsync数据同步工具 1-Rsync简介 Rsync英文全称是Remote synchronization,Rsync具有可以使本地和远程两台主机之间的数据快速复制和同步镜像.远 ...
- 运维笔记-nginx详解
目录 1.简介 2.正向代理与反向代理 3.nginx的安装部署(基于Centos-stream操作系统) 4.nginx配置文件详解 5.高效的Web服务器-nginx 5.1nginx服务器基本配 ...
- 运维笔记--postgresql占用CPU问题定位
运维笔记--postgresql占用CPU问题定位 场景描述: 业务系统访问变慢,登陆服务器查看系统负载并不高,然后查看占用CPU较高的进程,发现是连接数据库的几个进程占用系统资源较多. 处理方式: ...
- 老男孩的运维笔记文档-高级部分(系统架构师)列表(三)
############################################################ # # USER YYYY-MM-DD – ACTION # ...
- linux运维笔记:动态网页资源
linux运维笔记:动态网页资源 1.动态网页资源介绍 所谓的动态网页是与静态网页相对而言,也就是说,动态网页的URL后缀 不是.htm..html..shtml..xml..js..css等静态网页 ...
最新文章
- Java_异常_05_ OutOfMemoryError: Java heap space
- 【python】关于python的链表结构实现
- c语言由高到低的运算符,求解C语言关系运算符优先极由高到低列表(同级请用括号)...
- 转 安装php时报gd相关的错误(gd_ctx.c)
- 一起看一下主流应用使用了哪些三方库
- 可用于企业的 7 个最佳开源 Web 服务器
- ajax分批mysql_使用select2分批异步加载大量数据
- MVCWebForm对照学习:文件上传(以图片为例)
- App性能测试-GT
- IOCP Thread Pool 在 C# 的Safe实现
- yolo如何降低loss_YOLO训练中的问题与怀疑
- 使用Logic Apps从Azure Blob存储中删除超过X天的文件
- matlab+yalmip+mosek/cplex安装配置
- hdu 2122 最小生成树
- 将靠父id的层级关系处理成编码形式
- 360度评估反馈实施的注意事项
- 【循序渐进学运维】MySQL运维系列文章汇总
- PS制作独特火焰立体文字
- 乐优商城之后台管理系统
- Modbus RTU笔记总结