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


New-ModuleManifest

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

Синтаксис

All

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

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

$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 с помощью параметра списка. Команда отправляет модуль в командлет 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 со значением * (все), то есть все псевдонимы, определенные в модуле, экспортируются манифестом.

Свойства параметра

Тип:

String[]

Default value:* (all)
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Author

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

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

Свойства параметра

Тип:String
Default value:Name of the current user
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ClrVersion

Задает минимальную версию Системы Общего Языка (CLR) Microsoft .NET Framework, требуемую модулем.

Замечание

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

Свойства параметра

Тип:Version
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CmdletsToExport

Указывает командлеты, экспортируемые модулем. Подстановочные символы разрешены.

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

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

Свойства параметра

Тип:

String[]

Default value:* (all)
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CompanyName

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

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

Свойства параметра

Тип:String
Default value:Unknown
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CompatiblePSEditions

Указывает PSEditions, совместимые с модулем. Для получения информации о PSEdition см. раздел Модули с совместимыми редакциями PowerShell.

Свойства параметра

Тип:

String[]

Default value:None
Допустимые значения:Desktop, Core
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

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

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

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

-DefaultCommandPrefix

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

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

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Description

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DotNetFrameworkVersion

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

Замечание

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

Свойства параметра

Тип:Version
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DscResourcesToExport

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ExternalModuleDependencies

Список внешних модулей, от которые зависит этот модуль.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FileList

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

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FormatsToProcess

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

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FunctionsToExport

Указывает функции, экспортируемые модулем. Подстановочные символы разрешены.

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

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

Свойства параметра

Тип:

String[]

Default value:* (all)
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Guid

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

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

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

Свойства параметра

Тип:Guid
Default value:A GUID generated for the module
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-HelpInfoUri

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

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

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

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-IconUri

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

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LicenseUri

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

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ModuleList

Перечисляет все модули, включенные в этот модуль.

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

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

Свойства параметра

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ModuleVersion

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

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

Свойства параметра

Тип:Version
Default value:1.0
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-NestedModules

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

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

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

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

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

Свойства параметра

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PassThru

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

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

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

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

Замечание

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PowerShellHostName

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

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PowerShellHostVersion

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

Свойства параметра

Тип:Version
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PowerShellVersion

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

Свойства параметра

Тип:Version
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Prerelease

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PrivateData

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

Свойства параметра

Тип:Object
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ProcessorArchitecture

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

Свойства параметра

Тип:ProcessorArchitecture
Default value:None
Допустимые значения:None, MSIL, X86, IA64, Amd64, Arm
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ProjectUri

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

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ReleaseNotes

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RequiredAssemblies

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

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RequiredModules

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

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

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

Свойства параметра

Тип:

Object[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RequireLicenseAcceptance

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RootModule

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

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

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

Замечание

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:ModuleToProcess

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ScriptsToProcess

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

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Tags

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TypesToProcess

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

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VariablesToExport

Указывает переменные, экспортируемые модулем. Подстановочные символы разрешены.

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

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

Свойства параметра

Тип:

String[]

Default value:* (all)
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

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

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