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


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>]
   [-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: 1/22/2019
#

@{

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

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

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = '47179120-0bcb-4f14-8d80-f4560107f85c'

# Author of this module
Author = 'ContosoAdmin'

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

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

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

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

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

# Minimum version of the Windows 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 = ''

    } # 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 определенные в модуле, экспортируются манифестом.

Тип:String[]
Position:Named
Default value:* (all)
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Author

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

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

Тип:String
Position:Named
Default value:Name of the current user
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ClrVersion

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

Примечание.

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

Тип:Version
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CmdletsToExport

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

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

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

Тип:String[]
Position:Named
Default value:* (all)
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-CompanyName

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

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

Тип:String
Position:Named
Default value:"Unknown"
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CompatiblePSEditions

Указывает совместимые PSEditions модуля. Сведения о PSEdition см. в модулях с совместимыми выпусками PowerShell.

Тип:String[]
Допустимые значения:Desktop, Core
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

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

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

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

Тип:String
Position:Named
Default value:(c) <year> <username>. All rights reserved.
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultCommandPrefix

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

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

Описывает содержимое модуля.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DotNetFrameworkVersion

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

Примечание.

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

Тип:Version
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DscResourcesToExport

Указывает ресурсы требуемой конфигурации состояния (DSC), экспортируемые модулем. Разрешено использовать подстановочные знаки.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-FileList

Задает все элементы, включенные в модуль.

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FormatsToProcess

Указывает файлы форматирования (.ps1xml), которые выполняются при импорте модуля.

При импорте модуля PowerShell запускает Update-FormatData командлет с указанными файлами. Так как файлы форматирования не ограничены, они влияют на все состояния сеанса в сеансе.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FunctionsToExport

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

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

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

Тип:String[]
Position:Named
Default value:* (all)
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Guid

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

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

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

Тип:Guid
Position:Named
Default value:A GUID generated for the module
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HelpInfoUri

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

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

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-IconUri

Указывает URL-адрес значка модуля. Указанный значок отображается на веб-странице коллекции для модуля.

Тип:Uri
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-LicenseUri

Указывает URL-адрес условий лицензирования модуля.

Тип:Uri
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ModuleList

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

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

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

Тип:Object[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ModuleVersion

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

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

Тип:Version
Position:Named
Default value:1.0
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NestedModules

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

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

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

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

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

Тип:Object[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PassThru

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

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

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

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

Примечание.

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

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PowerShellHostName

Указывает имя конечной программы PowerShell, которую требует модуль. Введите имя хост-программы, например узел интегрированной среды сценариев Windows PowerShell или ConsoleHost. Подстановочные знаки не разрешены.

Чтобы найти имя хост-программы, введите $Host.Nameв программе.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PowerShellHostVersion

Указывает минимальную версию хост-программы PowerShell, которая работает с модулем. Введите номер версии, например, 1.1.

Тип:Version
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PowerShellVersion

Указывает минимальную версию PowerShell, которая работает с этим модулем. Например, можно ввести 1.0, 2.0 или 3.0 в качестве значения параметра. Он должен быть в формате X.X. Например, при отправке 5PowerShell вызовет ошибку.

Тип:Version
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PrivateData

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

Тип:Object
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProcessorArchitecture

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

Тип:ProcessorArchitecture
Допустимые значения:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProjectUri

Указывает URL-адрес веб-страницы этого проекта.

Тип:Uri
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ReleaseNotes

Задает заметки о выпуске.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RequiredAssemblies

Указывает необходимые сборки (.dll) файлы сборки. Введите имена файлов сборки. PowerShell загружает указанные сборки перед обновлением типов или форматов, импорта вложенных модулей или импорта файла модуля, указанного в значении ключа RootModule .

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RequiredModules

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

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

В PowerShell 2.0 Import-Module не импортирует необходимые модули автоматически. Он только проверяет наличие необходимых модулей в глобальном состоянии сеанса.

Тип:Object[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RootModule

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

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

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

Примечание.

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

Тип:String
Aliases:ModuleToProcess
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ScriptsToProcess

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

Чтобы указать сценарии, которые выполняются в состоянии сеанса модуля, используйте ключ NestedModules .

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Tags

Задает массив тегов.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TypesToProcess

Указывает файлы типов ,.ps1xmlкоторые выполняются при импорте модуля.

При импорте модуля PowerShell запускает Update-TypeData командлет с указанными файлами. Так как файлы типов не ограничены, они влияют на все состояния сеанса в сеансе.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-VariablesToExport

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

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

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

Тип:String[]
Position:Named
Default value:* (all)
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

None

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

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

None

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

String

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

Примечания

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

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

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

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

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

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