Update-ModuleManifest

更新模块清单文件。

语法

Update-ModuleManifest
      [-Path] <String>
      [-NestedModules <Object[]>]
      [-Guid <Guid>]
      [-Author <String>]
      [-CompanyName <String>]
      [-Copyright <String>]
      [-RootModule <String>]
      [-ModuleVersion <Version>]
      [-Description <String>]
      [-ProcessorArchitecture <ProcessorArchitecture>]
      [-CompatiblePSEditions <String[]>]
      [-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[]>]
      [-PrivateData <Hashtable>]
      [-Tags <String[]>]
      [-ProjectUri <Uri>]
      [-LicenseUri <Uri>]
      [-IconUri <Uri>]
      [-ReleaseNotes <String[]>]
      [-Prerelease <String>]
      [-HelpInfoUri <Uri>]
      [-PassThru]
      [-DefaultCommandPrefix <String>]
      [-ExternalModuleDependencies <String[]>]
      [-PackageManagementProviders <String[]>]
      [-RequireLicenseAcceptance]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Update-ModuleManifest cmdlet 更新模块清单 (.psd1) 文件。

这是 Microsoft.PowerShell.PSResourceGet 中 cmdlet 的代理 cmdletUpdate-PSModuleManifest。 有关详细信息,请参阅 Update-PSModuleManifest

示例

示例 1:更新模块清单

此示例更新现有模块清单文件。 Splatting 用于将参数值传递给 Update-ModuleManifest。 有关详细信息,请参阅 about_Splatting

$Params = @{
  Path = "C:\Test\TestManifest.psd1"
  Author = "TestUser1"
  CompanyName = "Contoso Corporation"
  Copyright = "(c) 2019 Contoso Corporation. All rights reserved."
}

Update-ModuleManifest @Params

$Params 是一个 splat,用于存储 PathAuthorCompanyNameCopyright 的参数值。 Update-ModuleManifest 从中获取参数值 @Params 并更新模块清单 TestManifest.psd1

参数

-AliasesToExport

指定模块导出的别名。 允许使用通配符。

使用此参数可限制模块导出的别名。 AliasesToExport 可以从导出的别名列表中删除别名,但无法向列表中添加别名。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Author

指定模块作者。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ClrVersion

指定模块所需的Microsoft .NET Framework 公共语言运行时(CLR)的最低版本。

注释

此设置仅适用于 PowerShell Desktop 版本,例如 Windows PowerShell 5.1,仅适用于低于 4.5 的 .NET Framework 版本。 此要求对较新版本的 PowerShell 或 .NET Framework 不起作用。

类型:Version
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CmdletsToExport

指定模块导出的 cmdlet。 允许使用通配符。

使用此参数可限制模块导出的 cmdlet。 CmdletsToExport 可以从导出的 cmdlet 列表中删除 cmdlet,但无法将 cmdlet 添加到列表中。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-CompanyName

指定创建模块的公司或供应商。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CompatiblePSEditions

指定模块的兼容 PSEditions。 有关 PSEdition的信息,请参阅 模块与兼容的 PowerShell Editions

类型:String[]
接受的值:Desktop, Core
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

在运行 Update-ModuleManifest之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

为模块指定版权声明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultCommandPrefix

指定默认命令前缀。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Description

指定模块的说明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DotNetFrameworkVersion

指定模块所需的Microsoft .NET Framework 的最低版本。

注释

此设置仅适用于 PowerShell Desktop 版本,例如 Windows PowerShell 5.1,仅适用于低于 4.5 的 .NET Framework 版本。 此要求对较新版本的 PowerShell 或 .NET Framework 不起作用。

类型:Version
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DscResourcesToExport

指定模块导出哪些 Desired State Configuration (DSC) 资源。 允许使用通配符。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ExternalModuleDependencies

指定外部模块依赖项的数组。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FileList

指定模块中包含的所有项。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FormatsToProcess

指定导入模块时运行的格式设置文件(.ps1xml)。

导入模块时,PowerShell 使用指定的文件运行 Update-FormatData cmdlet。 由于没有确定格式设置文件的作用域,因此它们会影响会话中的所有会话状态。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FunctionsToExport

指定模块导出的函数。 允许使用通配符。

使用此参数限制模块导出的函数。 FunctionsToExport 可以从导出的别名列表中删除函数,但无法将函数添加到列表中。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Guid

指定模块的唯一标识符。 GUID 可用于区分具有相同名称的模块。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HelpInfoUri

指定模块 的 HelpInfo XML 文件的 Internet 地址。 输入以 http https开头的统一资源标识符(URI)。

HelpInfo XML 文件支持 PowerShell 版本 3.0 中引入的可更新帮助功能。 它包含有关模块可下载帮助文件的位置以及每个受支持区域设置的最新帮助文件的版本号的信息。

有关可更新的帮助的信息,请参阅 about_Updatable_Help。 有关 HelpInfo XML 文件的信息,请参阅 支持可更新的帮助

类型:Uri
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IconUri

指定模块图标的 URL。 模块的指定图标显示在图库网页上。

类型:Uri
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LicenseUri

指定模块许可条款的 URL。

类型:Uri
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ModuleList

指定模块中包含的模块数组。

输入每个模块名称作为字符串或具有 ModuleNameModuleVersion 键的哈希表。 哈希表还可以具有可选的 GUID 键。 可以在参数值中合并字符串和哈希表。

此密钥旨在充当模块清单。 不会自动处理此键值中列出的模块。

类型:Object[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ModuleVersion

指定模块的版本。

类型:Version
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NestedModules

指定导入模块会话状态的脚本模块(.psm1)和二进制模块(.dll)。 NestedModules 键中的文件按其在对应值中的列出顺序来运行。

输入每个模块名称作为字符串或具有 ModuleNameModuleVersion 键的哈希表。 哈希表还可以具有可选的 GUID 键。 可以在参数值中合并字符串和哈希表。

类型:Object[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PackageManagementProviders

指定包管理提供程序的数组。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PassThru

返回一个对象,该对象代表您正在处理的项目。 默认情况下,Update-ModuleManifest 不会生成任何输出。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Path

指定模块清单的路径和文件名。 输入具有 .psd1 文件扩展名的路径和文件名,例如 $PSHOME\Modules\MyModule\MyModule.psd1

如果指定现有文件的路径,Update-ModuleManifest 将替换该文件而不发出警告,除非该文件具有只读属性。

清单应位于模块的目录中,清单文件名应与模块目录名称相同,但扩展名相同 .psd1

不能使用变量(例如 $PSHOME ,或 $HOME)响应 路径 参数值的提示。 若要使用变量,请在命令中包含 Path 参数。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PowerShellHostName

指定模块所需的 PowerShell 主机程序的名称。 输入主机程序的名称,例如 PowerShell ISE 主机或 ConsoleHost。 不允许使用通配符。

若要查找主机程序的名称,请在程序中键入 $Host.Name

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PowerShellHostVersion

指定适用于该模块的 PowerShell 主机程序的最低版本。 输入版本号,例如 1.1。

类型:Version
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PowerShellVersion

指定将使用此模块的 PowerShell 的最低版本。 例如,可以将 3.0、4.0 或 5.0 指定为此参数的值。

类型:Version
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Prerelease

指示模块是预发行版。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PrivateData

指定导入模块时传递给模块的数据。

类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProcessorArchitecture

指定模块所需的处理器体系结构。

此参数的可接受值为:

  • Amd64
  • 手臂
  • IA64
  • MSIL
  • 无(未知或未指定)
  • X86
类型:ProcessorArchitecture
接受的值:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProjectUri

指定有关此项目的网页的 URL。

类型:Uri
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ReleaseNotes

指定一个字符串数组,其中包含要用于此版本的脚本的发行说明或注释。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RequiredAssemblies

指定模块所需的程序集 (.dll) 文件。 输入程序集文件名。 PowerShell 在更新类型或格式、导入嵌套模块或导入在 RootModule 键的值中指定的模块文件之前加载指定的程序集。

使用此参数可以指定模块所需的所有程序集,包括必须加载的程序集以更新 FormatsToProcessTypesToProcess 键中列出的任何格式或类型文件,即使这些程序集也作为二进制模块列在 NestedModules 键中。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RequiredModules

指定必须处于全局会话状态的模块。 如果所需的模块未处于全局会话状态,PowerShell 会导入它们。 如果所需的模块不可用,Import-Module 命令将失败。

类型:Object[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RequireLicenseAcceptance

指定模块需要接受许可证。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RootModule

指定模块的主文件或根文件。 输入脚本()、脚本模块(.ps1)、模块清单(.psm1)、程序集(.psd1.dll)、cmdlet 定义 XML 文件(.cdxml)或工作流(.xaml)。 导入模块后,从根模块文件导出的成员将导入调用方会话状态。

如果模块具有清单文件,并且 RootModule 密钥中未指定任何根文件,则清单将成为该模块的主文件。 模块将成为清单模块(ModuleType = Manifest)。

若要从具有清单的模块中的 .psm1.dll 文件中导出成员,必须在清单中的 RootModuleNestedModules 键的值中指定这些文件的名称。 否则,不会导出其成员。

在 PowerShell 2.0 中,此密钥称为 moduleToProcess

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ScriptsToProcess

指定导入模块时在调用方会话状态中运行的脚本 (.ps1) 文件。 可以使用这些脚本来准备环境,就像使用登录脚本一样。

若要指定在模块的会话状态中运行的脚本,请使用 NestedModules 键。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Tags

指定一个标签数组。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TypesToProcess

指定导入模块时运行的类型文件(.ps1xml)。

导入模块时,PowerShell 使用指定的文件运行 Update-TypeData cmdlet。 由于类型文件没有限定范围,因此它们会影响会话中的所有会话状态。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VariablesToExport

指定模块导出的变量。 允许使用通配符。

使用此参数限制模块导出的变量。 VariablesToExport 可以从导出的变量列表中删除变量,但不能将变量添加到列表中。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-WhatIf

显示 Update-ModuleManifest 运行时会发生什么情况。 cmdlet 未能运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

输出

Object