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. Создание манифеста модуля

В этом примере создается новый манифест модуля в файле, указанном параметром 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. Создание нового манифеста с некоторыми предварительно заполненными параметрами

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

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

Пример 3. Создание манифеста, требующего других модулей

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

В этом примере параметр 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

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

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

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

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

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

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

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

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

-CompanyName

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

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

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

Указывает ресурсы требуемой конфигурации состояния (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

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

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

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

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 или 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

Строка предварительной версии этого модуля. Добавление строки prerelease определяет модуль как предварительную версию. Когда модуль публикуется в коллекция PowerShell, эти данные используются для идентификации пакетов предварительного выпуска. Чтобы получить пакеты предварительной версии из коллекции, необходимо использовать параметр AllowPrerelease с командами Find-ModulePowerShellGet , Install-ModuleUpdate-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 .

Используйте этот параметр для перечисления всех необходимых сборок, включая сборки, которые должны быть загружены для обновления всех файлов форматирования или типов, перечисленных в ключах FormatToProcess или 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

Указывает основной или корневой файл модуля. Введите имя файла скрипта (), модуль скрипта (), манифест.psd1 модуля модуля (), сборку (.dll.psm1), XML-файл.cdxml определения командлета или рабочий процесс (.xaml)..ps1 При импорте модуля элементы, экспортируемые из корневого файла модуля, импортируются в состояние сеанса вызывающего объекта.

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

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

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

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

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 и не 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. Сеанс может иметь одно или несколько состояний. По умолчанию сеанс имеет только глобальное состояние сеанса, но каждый импортированный модуль имеет собственное состояние сеанса. Состояния сеансов позволяют выполнять команды в модуле, не влияя на глобальное состояние сеанса.

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