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>]

说明

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

这是 Microsoft.PowerShell.PSResourceGet 中 cmdlet 的代理 Update-PSModuleManifest cmdlet。 有关详细信息,请参阅 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 是存储 PathAuthorCompanyNameCopyright 的参数值的 splat。 Update-ModuleManifest@Params 获取参数值,并更新模块清单 TestManifest.psd1

参数

-AliasesToExport

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Author

指定模块作者。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClrVersion

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

注意

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CmdletsToExport

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-CompanyName

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompatiblePSEditions

指定模块的兼容 PSEdition 。 有关 PSEdition 的信息,请参阅 具有兼容 PowerShell 版本的模块

Type:String[]
Accepted values:Desktop, Core
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

指定模块的版权声明。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultCommandPrefix

指定默认命令前缀。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

指定模块的说明。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DotNetFrameworkVersion

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

注意

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DscResourcesToExport

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExternalModuleDependencies

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileList

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatsToProcess

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FunctionsToExport

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Guid

指定模块的唯一标识符。 可以使用 GUID 来区分名称相同的模块。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HelpInfoUri

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

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

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

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IconUri

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

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseUri

指定模块的许可条款 URL。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModuleList

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

以字符串形式或具有 ModuleNameModuleVersion 键的哈希表形式输入每个模块名称。 哈希表也可能具有一个可选的 GUID 键。 可以将字符串和哈希表组合到参数值中。

此键专门用于充当模块清单。 此键的值中列出的模块不会自动处理。

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModuleVersion

指定模块的版本。

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NestedModules

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

以字符串形式或具有 ModuleNameModuleVersion 键的哈希表形式输入每个模块名称。 哈希表也可能具有一个可选的 GUID 键。 可以将字符串和哈希表组合到参数值中。

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageManagementProviders

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

返回一个 对象,该对象表示正在使用的项。 默认情况下, Update-ModuleManifest 不会生成任何输出。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

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

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

不能使用变量(如 $PSHOME$HOME),以响应 提示输入 Path 参数值。 若要使用变量,请将 Path 参数包含在命令中。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PowerShellHostName

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PowerShellHostVersion

指定与模块一起使用的 PowerShell 主机程序的最低版本。 输入版本号,例如 1.1。

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PowerShellVersion

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

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Prerelease

指示模块是预发行的。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PrivateData

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

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProcessorArchitecture

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

此参数的可接受值为:

  • Amd64
  • Arm
  • IA64
  • MSIL
  • 无 (未知或未指定的)
  • X86
Type:ProcessorArchitecture
Accepted values:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProjectUri

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

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReleaseNotes

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredAssemblies

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredModules

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

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireLicenseAcceptance

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RootModule

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

如果模块具有清单文件,并且 RootModule 键中未指定根文件,则清单将成为该模块的主文件。 并且,模块将成为一个清单模块, (ModuleType = 清单) 。

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

在 PowerShell 2.0 中,此密钥称为 ModuleToProcess

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptsToProcess

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

指定标记的数组。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypesToProcess

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VariablesToExport

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

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

输出

Object