Поделиться через


New-ModuleManifest

Создает новый манифест модуля.

Синтаксис

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

Описание

Командлет New-ModuleManifest создает новый файл манифеста модуля (.psd1), заполняет его значения и сохраняет файл манифеста по указанному пути.

Авторы модулей могут использовать этот командлет для создания манифестов для своих модулей. Манифест модуля — это .psd1 файл, содержащий хэш-таблицу. Ключи и значения хэш-таблицы описывают содержимое и атрибуты модуля, определяют требуемые компоненты и задают способ обработки компонентов. Манифесты не требуются для модуля.

New-ModuleManifest создает манифест, включающий все часто используемые ключи манифеста, чтобы можно было использовать выходные данные по умолчанию в качестве шаблона манифеста. Чтобы добавить или изменить значения, а также ключи модулей, которые не добавляются этим командлетом, откройте полученный файл в текстовом редакторе.

Каждый параметр, за исключением Path и PassThru, создает ключ манифеста модуля и его значение. Обязательным в манифесте модуля является только ключ ModuleVersion. Если параметр не указан в описании параметра, при пропуске параметра в команде New-ModuleManifest создается строка комментария для связанного значения, которое не оказывает влияния.

В PowerShell 2.0 запрашивает значения часто используемых параметров, New-ModuleManifest которые не указаны в команде, в дополнение к обязательным значениям параметров. Начиная с PowerShell 3.0, запрашивает запрос, New-ModuleManifest только если не указаны обязательные значения параметров.

Если вы планируете опубликовать модуль в коллекция PowerShell, манифест должен содержать значения для определенных свойств. Дополнительные сведения см. в разделе Обязательные метаданные для элементов, опубликованных в коллекция PowerShell документации по коллекции.

Примеры

Пример 1. Create нового манифеста модуля

В этом примере создается манифест модуля в файле, указанном параметром Path . Параметр PassThru отправляет выходные данные в конвейер и в файл.

Выходные данные содержат значения всех ключей в манифесте по умолчанию.

New-ModuleManifest -Path C:\ps-test\Test-Module\Test-Module.psd1 -PassThru

#
# Module manifest for module 'Test-Module'
#
# Generated by: ContosoAdmin
#
# Generated on: 7/12/2019
#

@{

# Script module or binary module file associated with this manifest.
# RootModule = ''

# Version number of this module.
ModuleVersion = '0.0.1'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = 'e1826c6e-c420-4eef-9ac8-185e3669ca6a'

# Author of this module
Author = 'ContosoAdmin'

# Company or vendor of this module
CompanyName = 'Unknown'

# Copyright statement for this module
Copyright = '(c) ContosoAdmin. All rights reserved.'

# Description of the functionality provided by this module
# Description = ''

# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # Prerelease string of this module
        # Prerelease = ''

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        # RequireLicenseAcceptance = $false

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

Пример 2. Create нового манифеста с некоторыми предварительно заполненными параметрами

В этом примере создается манифест модуля. Команда включает параметры PowerShellVersion и AliasesToExport, позволяющие добавить значения в соответствующие ключи манифеста.

$moduleSettings = @{
    PowerShellVersion = 1.0
    Path   = 'C:\ps-test\ManifestTest.psd1'
    AliasesToExport   = @(
      'JKBC'
      'DRC'
      'TAC'
    )
}
New-ModuleManifest @moduleSettings

Пример 3. Create манифеста, для работы с которым требуются другие модули

В этом примере используется строковый формат для указания имени модуля BitsTransfer и формата хэш-таблицы для указания имени, GUID и версии модуля PSScheduledJob .

$moduleSettings = @{
  RequiredModules = ("BitsTransfer", @{
    ModuleName="PSScheduledJob"
    ModuleVersion="1.0.0.0";
    GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"
  })
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

В этом примере показано, как использовать форматы строк и хэш-таблицы параметров ModuleList, RequiredModules и NestedModules . В одном и том же значении параметра строки и хэш-таблицы можно объединять.

Пример 4. Create манифеста, поддерживающего обновляемую справку

В этом примере используется параметр HelpInfoUri для создания ключа HelpInfoUri в манифесте модуля. Значение параметра и ключа должны начинаться с http или https. Оно сообщает системе обновляемой справки, где найти XML-файл обновляемой справки HelpInfo для этого модуля.

$moduleSettings = @{
  HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

Сведения о обновляемой справке см. в разделе about_Updatable_Help. Сведения о XML-файле HelpInfo см. в разделе Поддержка обновляемой справки.

Пример 5. Получение сведений о модуле

В этом примере показано, как получить значения конфигурации модуля. Значения в манифесте модуля отражаются в значениях свойств объекта модуля.

Командлет Get-Module используется для получения модуля Microsoft.PowerShell.Diagnostics с помощью параметра List . Команда отправляет модуль командлету Format-List для отображения всех свойств и значений объекта модуля.

Get-Module Microsoft.PowerShell.Diagnostics -List | Format-List -Property *

LogPipelineExecutionDetails : False
Name                        : Microsoft.PowerShell.Diagnostics
Path                        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics\Micro
                              soft.PowerShell.Diagnostics.psd1
Definition                  :
Description                 :
Guid                        : ca046f10-ca64-4740-8ff9-2565dba61a4f
HelpInfoUri                 : https://go.microsoft.com/fwlink/?LinkID=210596
ModuleBase                  : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics
PrivateData                 :
Version                     : 3.0.0.0
ModuleType                  : Manifest
Author                      : Microsoft Corporation
AccessMode                  : ReadWrite
ClrVersion                  : 4.0
CompanyName                 : Microsoft Corporation
Copyright                   : Microsoft Corporation. All rights reserved.
DotNetFrameworkVersion      :
ExportedFunctions           : {}
ExportedCmdlets             : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
ExportedCommands            : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
FileList                    : {}
ModuleList                  : {}
NestedModules               : {}
PowerShellHostName          :
PowerShellHostVersion       :
PowerShellVersion           : 3.0
ProcessorArchitecture       : None
Scripts                     : {}
RequiredAssemblies          : {}
RequiredModules             : {}
RootModule                  :
ExportedVariables           : {}
ExportedAliases             : {}
ExportedWorkflows           : {}
SessionState                :
OnRemove                    :
ExportedFormatFiles         : {C:\Windows\system32\WindowsPowerShell\v1.0\Event.format.ps1xml,
                              C:\Windows\system32\WindowsPowerShell\v1.0\Diagnostics.format.ps1xml}
ExportedTypeFiles           : {C:\Windows\system32\WindowsPowerShell\v1.0\GetEvent.types.ps1xml}

Параметры

-AliasesToExport

Задает экспортируемые модулем псевдонимы. Разрешено использовать подстановочные знаки.

Этот параметр можно использовать для ограничения экспортируемых модулем псевдонимов. Он может удалять псевдонимы из списка экспортированных псевдонимов, но не может добавлять псевдонимы в список.

Если этот параметр опущен, New-ModuleManifest создается ключ AliasesToExport со значением * (all), то есть все псевдонимы, определенные в модуле, экспортируются манифестом.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Author

Задает автора модуля.

Если этот параметр не указан, New-ModuleManifest создается ключ author с именем текущего пользователя.

Type:String
Position:Named
Default value:Name of the current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClrVersion

Задает минимальную версию среды CLR платформы Microsoft .NET Framework, которая требуется для работы модуля.

Примечание

Этот параметр действителен только для выпуска PowerShell Desktop, например Windows PowerShell 5.1, и применяется только к платформа .NET Framework версиям ниже 4.5. Это требование не влияет на более новые версии PowerShell или платформа .NET Framework.

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

-CmdletsToExport

Задает экспортируемые модулем командлеты. Разрешено использовать подстановочные знаки.

Этот параметр можно использовать для ограничения экспортируемых модулем командлетов. Он может удалять командлеты из списка экспортированных командлетов, но не может добавлять командлеты в список.

Если этот параметр не указан, New-ModuleManifest создается ключ CmdletsToExport со значением * (all), то есть все командлеты, определенные в модуле, экспортируются манифестом.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-CompanyName

Указывает компанию или поставщика, создавшего модуль.

Если этот параметр не указан, New-ModuleManifest создается ключ CompanyName со значением Unknown.

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

-CompatiblePSEditions

Указывает совместимые с модулем psEditions. Дополнительные сведения о PSEdition см. в статье Модули с совместимыми выпусками PowerShell.

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

-Confirm

Запрос подтверждения перед выполнением командлета.

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

Задает заявление об авторских правах на модуль.

Если этот параметр не указан, New-ModuleManifest создается ключ авторских(c) <year> <username>. All rights reserved. прав со значением , где <year> — текущий год, а <username> — значение ключа author .

Type:String
Position:Named
Default value:(c) <year> <username>. All rights reserved.
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultCommandPrefix

Указывает префикс, который добавляется к существительным всех команд в модуле при их импорте в сеанс. Введите строку префикса. Префиксы предотвращают конфликты имен команд в сеансе пользователя.

Пользователи модуля могут переопределить этот префикс, указав параметр Префикс командлета Import-Module .

Этот параметр появился в PowerShell 3.0.

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, которая требуется для работы модуля.

Примечание

Этот параметр действителен только для выпуска PowerShell Desktop, например Windows PowerShell 5.1, и применяется только к платформа .NET Framework версиям ниже 4.5. Это требование не влияет на более новые версии 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:True

-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 командлет с указанными файлами. Так как файлы форматирования не являются областью действия, они влияют на все состояния сеанса в сеансе.

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

-FunctionsToExport

Задает экспортируемые модулем функции. Разрешено использовать подстановочные знаки.

Этот параметр можно использовать для ограничения экспортируемых модулем функций. Он может удалять функции из списка экспортированных псевдонимов, но не может добавлять функции в список.

Если этот параметр не указан, New-ModuleManifest создается ключ FunctionsToExport со значением * (all), то есть все функции, определенные в модуле, экспортируются манифестом.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Guid

Задает уникальный идентификатор модуля. Guid можно использовать для различения модулей с одинаковым именем.

Если этот параметр не указан, New-ModuleManifest создается ключ GUID в манифесте и guid для значения .

Чтобы создать новый GUID в PowerShell, введите [guid]::NewGuid().

Type:Guid
Position:Named
Default value:A GUID generated for the module
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HelpInfoUri

Указывает интернет-адрес XML-файла HelpInfo для модуля. Введите универсальный код ресурса (URI), который начинается с http или https.

XML-файл HelpInfo поддерживает функцию обновляемой справки, появившейся в PowerShell 3.0. Он содержит сведения о расположении загружаемых файлов справки для модуля и номера версий последних файлов справки для каждого поддерживаемого языка.

Сведения о обновляемой справке см. в разделе about_Updatable_Help. Сведения о XML-файле HelpInfo см. в разделе Поддержка обновляемой справки.

Этот параметр появился в PowerShell 3.0.

Type:String
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

Выводит список всех модулей, включенных в данный модуль.

Введите имя каждого модуля в виде строки или хэш-таблицы с ключами ModuleName и ModuleVersion. Хэш-таблица может иметь дополнительный ключ GUID. В значении параметра строки и хэш-таблицы можно объединять.

Этот ключ выполняет функцию полного списка ресурсов модуля. Модули, перечисленные в значении этого ключа, не обрабатываются автоматически.

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

-ModuleVersion

Указывает версию модуля.

Этот параметр не является обязательным, но в манифесте требуется ключ ModuleVersion . Если этот параметр не указан, New-ModuleManifest создается ключ ModuleVersion со значением 1,0.

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

-NestedModules

Указывает модули скриптов (.psm1) и двоичные модули (.dll), которые импортируются в состояние сеанса модуля. Файлы в ключе NestedModules выполняются в том порядке, в котором они указаны в значении .

Введите имя каждого модуля в виде строки или хэш-таблицы с ключами ModuleName и ModuleVersion. Хэш-таблица может иметь дополнительный ключ GUID. В значении параметра строки и хэш-таблицы можно объединять.

Обычно вложенные модули содержат команды, необходимые основному модулю для внутренней обработки. По умолчанию команды во вложенных модулях экспортируются из состояния сеанса модуля в состояние сеанса вызывающего объекта, но корневой модуль может ограничить экспортируемые команды. Например, с помощью Export-ModuleMember команды .

Вложенные модули в состоянии сеанса модуля доступны корневому модулю, но они не возвращаются командой Get-Module в состоянии сеанса вызывающего объекта.

Скрипты (.ps1), перечисленные в ключе NestedModules , выполняются в состоянии сеанса модуля, а не в состоянии сеанса вызывающего объекта. Чтобы запустить скрипт в состоянии сеанса вызывающего объекта, укажите имя файла скрипта в значении ключа ScriptsToProcess манифеста.

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

-PassThru

Записывает итоговый манифест модуля в консоль и создает .psd1 файл. По умолчанию этот командлет не создает никаких выходных данных.

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

-Path

Указывает путь и имя файла нового манифеста модуля. Введите путь и имя файла с расширением .psd1 , например $pshome\Modules\MyModule\MyModule.psd1. Параметр Path является обязательным.

Если вы указываете путь к существующему файлу, заменяет файл без предупреждения, New-ModuleManifest если файл не имеет атрибут только для чтения.

Манифест должен находиться в каталоге модуля, а имя файла манифеста должно совпадать с именем каталога модуля, но с расширением .psd1 имени файла.

Примечание

Нельзя использовать переменные, такие как $PSHOME или $HOME, в ответ на запрос значения параметра Path . Чтобы использовать переменную, включите параметр Path в команду.

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

-PowerShellHostName

Указывает имя ведущего приложения PowerShell, которое требуется модулю. Введите имя хост-программы, например Windows 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, которая работает с этим модулем. Например, в качестве значения параметра можно ввести 1.0, 2.0 или 3.0. Он должен быть в формате X.X. Например, при отправке 5PowerShell выдаст ошибку.

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

-Prerelease

Строка предварительной версии этого модуля. При добавлении строки предварительной версии модуль определяется как предварительная версия. Когда модуль публикуется в коллекция PowerShell, эти данные используются для идентификации пакетов предварительного выпуска. Чтобы получить пакеты предварительной версии из коллекции, необходимо использовать параметр AllowPrerelease с командами Find-ModulePowerShellGet , Install-Module, Update-Moduleи Save-Module.

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

-PrivateData

Указывает данные, передаваемые модулю при его импорте.

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

-ProcessorArchitecture

Указывает архитектуру процессора, необходимую для этого модуля. Допустимые значения: x86, AMD64, IA64, MSIL и None (неизвестно или не указано).

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 .

Используйте этот параметр для перечисления всех необходимых модулю сборок, включая сборки, загрузка которых требуется для обновления файлов форматирования или файлов типов, указанных в ключах FormatsToProcess и TypesToProcess, даже если эти сборки также указаны как двоичные модули в ключе NestedModules.

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

-RequiredModules

Определяет модули, которые должны присутствовать в глобальном состоянии сеанса. Если необходимые модули не в состоянии глобального сеанса, PowerShell импортирует их. Если необходимые модули недоступны, команда завершается ошибкой Import-Module .

Введите имя каждого модуля в виде строки или хэш-таблицы с ключами ModuleName и ModuleVersion. Хэш-таблица может иметь дополнительный ключ GUID. В значении параметра строки и хэш-таблицы можно объединять.

В PowerShell 2.0 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), XML-файла определения командлета (.cdxml) или рабочего процесса (.xaml). При импорте модуля элементы, экспортируемые из корневого файла модуля, импортируются в состояние сеанса вызывающего объекта.

Если в модуле есть файл манифеста и в ключе RootModule не указан корневой файл, манифест становится основным файлом модуля, а модуль становится модулем манифеста (ModuleType = Manifest).

Для экспорта элементов из .psm1.dll или файлов в модуле с манифестом имена этих файлов должны быть указаны в значениях ключей RootModule или NestedModules в манифесте. В противном случае их члены не экспортируются.

Примечание

В PowerShell 2.0 этот ключ назывался ModuleToProcess. Можно использовать имя параметра RootModule или его псевдоним ModuleToProcess .

Type:String
Aliases:ModuleToProcess
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 командлет с указанными файлами. Так как файлы типов не ограничены областью действия, они влияют на все состояния сеанса в сеансе.

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

-VariablesToExport

Задает экспортируемые модулем переменные. Разрешено использовать подстановочные знаки.

Этот параметр можно использовать для ограничения экспортируемых модулем переменных. Он может удалять переменные из списка экспортированных переменных, но не может добавлять переменные в список.

Если этот параметр не указан, New-ModuleManifest создается ключ VariablesToExport со значением * (all), то есть все переменные, определенные в модуле, экспортируются манифестом.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

Показывает, что произойдет при New-ModuleManifest выполнении. Командлет не выполняется.

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

Входные данные

None

Вы не можете передать объекты в этот командлет.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

String

При использовании параметра PassThru этот командлет возвращает строку, представляющую манифест модуля.

Примечания

New-ModuleManifest при выполнении на платформах Windows и сторонних платформах создаются файлы манифеста модуля (.psd1), закодированные как UTF8NoBOM.

Обычно манифесты не являются обязательным условием для работы модуля. При этом манифест модуля необходим для экспорта сборки, установленной в глобальный кэш сборок.

Чтобы добавить или изменить файлы в каталоге $pshome\Modules , запустите PowerShell с параметром Запуск от имени администратора .

Примечание

Начиная с PowerShell 6.2, PowerShell пытается загрузить все DLL-файлы, перечисленные в свойстве FileList манифеста модуля. Собственные библиотеки DLL в fileList не загружаются в процессе, и ошибка игнорируется. Все управляемые библиотеки DLL загружаются в процессе. Это поведение было удалено в PowerShell 7.1.

В PowerShell 2.0 многие параметры New-ModuleManifest были обязательными, хотя они не были обязательными в манифесте модуля. Начиная с PowerShell 3.0, только параметр Path является обязательным.

Сеанс — это экземпляр среды выполнения PowerShell. Сеанс может иметь одно или несколько состояний. По умолчанию сеанс имеет только глобальное состояние сеанса, но каждый импортированный модуль имеет собственное состояние сеанса. Состояния сеансов позволяют выполнять команды в модуле, не влияя на глобальное состояние сеанса.

Состояние сеанса вызывающего объекта — это состояние сеанса, в которое импортируется модуль. Как правило, он ссылается на глобальное состояние сеанса, но когда модуль импортирует вложенные модули, вызывающий объект является модулем, а состояние сеанса вызывающего объекта — состоянием сеанса модуля.