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

この例では、 ModuleListRequiredModules、および 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」を参照してください。 HelpInfo XML ファイルの詳細については、「 更新可能なヘルプのサポートを参照してください。

例 5 - モジュール情報の取得

この例では、モジュールの構成値を取得する方法を示します。 モジュール マニフェストの値は、モジュール オブジェクトのプロパティの値に反映されます。

Get-Module コマンドレットは、List パラメーターを使用して 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-ModuleManifestAliasesToExport キーの値が * (all) になります。つまり、モジュールで定義されているすべてのエイリアスがマニフェストによってエクスポートされます。

型:String[]
配置:Named
規定値:* (all)
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Author

モジュールの作成者を指定します。

このパラメーターを省略 New-ModuleManifest 、現在のユーザーの名前を持つ Author キーが作成されます。

型:String
配置:Named
規定値:Name of the current user
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ClrVersion

モジュールに必要な、Microsoft .NET Framework の共通言語ランタイム (CLR) の最低限のバージョンを指定します。

Note

この設定は、Windows PowerShell 5.1 などの PowerShell Desktop エディションでのみ有効であり、4.5 未満の .NET Framework バージョンにのみ適用されます。 この要件は、新しいバージョンの PowerShell または .NET Framework には影響しません。

型:Version
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CmdletsToExport

モジュールがエクスポートするコマンドレットを指定します。 ワイルドカードを使用できます。

このパラメーターを使用して、モジュールによってエクスポートされるコマンドレットを制限できます。 エクスポートされたコマンドレットの一覧からコマンドレットを削除できますが、一覧にコマンドレットを追加することはできません。

このパラメーターを省略 New-ModuleManifestCmdletsToExport キーの値が * (all) になります。つまり、モジュールで定義されているすべてのコマンドレットがマニフェストによってエクスポートされます。

型:String[]
配置:Named
規定値:* (all)
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-CompanyName

モジュールを作成した企業またはベンダーを識別します。

このパラメーターを省略 New-ModuleManifest 、値が "Unknown" の CompanyName キーが作成されます。

型:String
配置:Named
規定値:"Unknown"
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CompatiblePSEditions

モジュールの互換性のある PSEdition を指定します。 PSEdition の詳細については、「 Modules with compatible PowerShell Editionsを参照してください。

型:String[]
指定可能な値:Desktop, Core
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

モジュールの著作権表記を指定します。

このパラメーターを省略すると、New-ModuleManifestCopyright キーが作成され、(c) <year> <username>. All rights reserved.値が現在の年で、<year> <username>Author キーの値であるが作成されます。

型:String
配置:Named
規定値:(c) <year> <username>. All rights reserved.
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultCommandPrefix

セッションにインポートされるときにモジュール内のすべてのコマンドの名詞の前に付加されるプレフィックスを指定します。 プレフィックス文字列を入力します。 プレフィックスは、ユーザーのセッションでのコマンド名の競合を防ぎます。

モジュール ユーザーは、Import-Module コマンドレットの Prefix パラメーターを指定することで、このプレフィックスをオーバーライドできます。

このパラメーターは PowerShell 3.0 で導入されました。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Description

モジュールの内容について説明します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DotNetFrameworkVersion

モジュールに必要な、Microsoft .NET Framework の最低限のバージョンを指定します。

Note

この設定は、Windows PowerShell 5.1 などの PowerShell Desktop エディションでのみ有効であり、4.5 未満の .NET Framework バージョンにのみ適用されます。 この要件は、新しいバージョンの PowerShell または .NET Framework には影響しません。

型:Version
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DscResourcesToExport

モジュールがエクスポートする Desired State Configuration (DSC) リソースを指定します。 ワイルドカードを使用できます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-ExternalModuleDependencies

このモジュールが依存する外部モジュールの一覧。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FileList

モジュールに含まれているすべての項目を指定します。

このキーは、モジュール インベントリとしての動作を想定して設計されています。 キーに一覧表示されているファイルは、モジュールが発行されるときに含まれますが、関数は自動的にエクスポートされません。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FormatsToProcess

モジュールのインポート時に実行される書式設定ファイル (.ps1xml) を指定します。

モジュールをインポートすると、PowerShell は指定されたファイルを使用して Update-FormatData コマンドレットを実行します。 フォーマット ファイルはスコープ設定されていないため、セッション内のすべてのセッション状態に影響します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FunctionsToExport

モジュールがエクスポートする関数を指定します。 ワイルドカードを使用できます。

このパラメーターを使用して、モジュールによってエクスポートされる関数を制限できます。 エクスポートされたエイリアスの一覧から関数を削除できますが、リストに関数を追加することはできません。

このパラメーターを省略した場合、 New-ModuleManifest は、 FunctionsToExport * (all) の値を持つキーを作成します。つまり、モジュールで定義されているすべての関数がマニフェストによってエクスポートされます。

型:String[]
配置:Named
規定値:* (all)
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Guid

モジュールの一意の識別子を指定します。 GUIDを使用して、同じ名前のモジュールを区別できます。

このパラメーターを省略すると、 New-ModuleManifest マニフェストに GUID キーが作成され、値の GUID が生成されます。

PowerShell で新しい GUID を作成するには、「 [guid]::NewGuid()」と入力します。

型:Guid
配置:Named
規定値:A GUID generated for the module
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HelpInfoUri

モジュールの HelpInfo XML ファイルのインターネット アドレスを指定します。 http または https で始まる URI (Uniform Resource Identifier) を入力します。

HelpInfo XML ファイルは、PowerShell 3.0 で導入された更新可能なヘルプ機能をサポートしています。 これには、モジュールのダウンロード可能なヘルプ ファイルの場所、およびサポートされている各ロケールの最新のヘルプ ファイルのバージョン番号に関する情報が含まれます。

更新可能なヘルプについては、「 about_Updatable_Help」を参照してください。 HelpInfo XML ファイルの詳細については、「 更新可能なヘルプのサポートを参照してください。

このパラメーターは PowerShell 3.0 で導入されました。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-IconUri

モジュールのアイコンの URL を指定します。 指定したアイコンが、モジュールのギャラリー Web ページに表示されます。

型:Uri
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-LicenseUri

モジュールのライセンス条項の URL を指定します。

型:Uri
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ModuleList

このモジュールに含まれているすべてのモジュールを一覧表示します。

各モジュール名を文字列またはハッシュ テーブルとして入力し、 ModuleName および ModuleVersion キーを使用します。 ハッシュ テーブルには、省略可能な GUID キーを指定することもできます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

このキーは、モジュール インベントリとしての動作を想定して設計されています。 このキーの値に一覧表示されているモジュールは自動的に処理されません。

型:Object[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ModuleVersion

モジュールのバージョンを指定します。

このパラメーターは必須ではありませんが、マニフェストには ModuleVersion キーが必要です。 このパラメーターを省略すると、 New-ModuleManifest 値が 1.0 の ModuleVersion キーが作成されます。

型:Version
配置:Named
規定値:1.0
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NestedModules

モジュールのセッション状態にインポートされるスクリプト モジュール (.psm1) とバイナリ モジュール (.dll) を指定します。 NestedModules キー内のファイルは、値に一覧表示されている順序で実行されます。

各モジュール名を文字列またはハッシュ テーブルとして入力し、 ModuleName および ModuleVersion キーを使用します。 ハッシュ テーブルには、省略可能な GUID キーを指定することもできます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

通常、入れ子になったモジュールには、ルート モジュールが内部処理のために必要とするコマンドが含まれています。 既定では、入れ子になったモジュール内のコマンドはモジュールのセッション状態から呼び出し元のセッション状態にエクスポートされますが、ルート モジュールはエクスポートするコマンドを制限できます。 たとえば、 Export-ModuleMember コマンドを使用します。

モジュール セッション状態の入れ子になったモジュールはルート モジュールで使用できますが、呼び出し元のセッション状態の Get-Module コマンドからは返されません。

NestedModules キーにリストされているスクリプト (.ps1) は、呼び出し元のセッション状態ではなく、モジュールのセッション状態で実行されます。 呼び出し元のセッション状態でスクリプトを実行するには、マニフェストの ScriptsToProcess キーの値にスクリプト ファイル名を一覧表示します。

型:Object[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PassThru

結果のモジュール マニフェストをコンソールに書き込み、 .psd1 ファイルを作成します。 既定では、このコマンドレットは出力を生成しません。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

新しいモジュール マニフェストのパスとファイル名を指定します。 $pshome\Modules\MyModule\MyModule.psd1など、.psd1ファイル名拡張子を持つパスとファイル名を入力します。 Path パラメーターが必要です。

既存のファイルへのパスを指定した場合、 New-ModuleManifest は、ファイルに読み取り専用属性がない限り、警告なしでファイルを置き換えます。

マニフェストはモジュールのディレクトリに配置する必要があり、マニフェスト ファイル名はモジュール ディレクトリ名と同じにする必要がありますが、ファイル名拡張子は .psd1 必要があります。

Note

Path パラメーター値のプロンプトに応じて、$PSHOME$HOMEなどの変数を使用することはできません。 変数を使用するには、コマンドに Path パラメーターを含めます。

型:String
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PowerShellHostName

モジュールに必要な PowerShell ホスト プログラムの名前を指定します。 Windows PowerShell ISE HostConsoleHost など、ホスト プログラムの名前を入力します。 ワイルドカードは使用できません。

ホスト・プログラムの名前を見つけるには、プログラムに「 $Host.Name」と入力します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PowerShellHostVersion

モジュールで動作する PowerShell ホスト プログラムの最小バージョンを指定します。 1.1 などのバージョン番号を入力します。

型:Version
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PowerShellVersion

このモジュールで動作する PowerShell の最小バージョンを指定します。 たとえば、パラメーターの値として「1.0、2.0、または 3.0」と入力できます。 X.X 形式である必要があります。 たとえば、 5を送信すると、PowerShell はエラーをスローします。

型:Version
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Prerelease

このモジュールのプレリリース文字列。 プレリリース文字列を追加すると、モジュールがプレリリース バージョンとして識別されます。 モジュールがPowerShell ギャラリーに発行されると、このデータはプレリリース パッケージを識別するために使用されます。 ギャラリーからプレリリース パッケージを取得するには、 AllowPrerelease パラメーターを PowerShellGet コマンドの Find-ModuleInstall-ModuleUpdate-Module、および Save-Moduleと共に使用する必要があります。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PrivateData

インポート時にモジュールに渡されるデータを指定します。

型:Object
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProcessorArchitecture

モジュールに必要なプロセッサ アーキテクチャを指定します。 有効な値は x86、AMD64、IA64、MSIL、および None (不明または未指定) です。

型:ProcessorArchitecture
指定可能な値:None, MSIL, X86, IA64, Amd64, Arm
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProjectUri

このプロジェクトに関する Web ページの URL を指定します。

型:Uri
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ReleaseNotes

リリース ノートを指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RequiredAssemblies

モジュールに必要なアセンブリ (.dll) ファイルを指定します。 アセンブリ ファイル名を入力します。 PowerShell は、型または形式の更新、入れ子になったモジュールのインポート、 RootModule キーの値で指定されたモジュール ファイルのインポートを行う前に、指定したアセンブリを読み込みます。

このパラメーターを使用して、 FormatsToProcess キーまたは TypesToProcess キーにリストされている書式ファイルまたは型ファイルを更新するために読み込む必要があるアセンブリを含め、モジュールが必要とするすべてのアセンブリを一覧表示します NestedModules キーにもバイナリ モジュールとして一覧表示されます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RequiredModules

グローバル セッション状態にする必要があるモジュールを指定します。 必要なモジュールがグローバル セッション状態でない場合は、PowerShell によってインポートされます。 必要なモジュールが使用できない場合、 Import-Module コマンドは失敗します。

各モジュール名を文字列またはハッシュ テーブルとして入力し、 ModuleName および ModuleVersion キーを使用します。 ハッシュ テーブルには、省略可能な GUID キーを指定することもできます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

PowerShell 2.0 では、 Import-Module は必要なモジュールを自動的にインポートしません。 必要なモジュールがグローバル セッション状態であることを確認するだけです。

型:Object[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RequireLicenseAcceptance

モジュールがインストール、更新、または保存に明示的なユーザーの同意を必要とするかどうかを示すフラグ。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-RootModule

モジュールのプライマリ ファイルまたはルート ファイルを指定します。 スクリプト (.ps1)、スクリプト モジュール (.psm1)、モジュール マニフェスト (.psd1)、アセンブリ (.dll)、コマンドレット定義 XML ファイル (.cdxml)、またはワークフロー (.xaml) のファイル名を入力します。 モジュールのインポート時に、ルート モジュール ファイルからエクスポートされるメンバーは、呼び出し元のセッション状態にインポートされます。

モジュールにマニフェスト ファイルがあり、 RootModule キーでルート ファイルが指定されていない場合、マニフェストはモジュールのプライマリ ファイルになり、モジュールはマニフェスト モジュール (ModuleType = Manifest) になります。

マニフェストを持つモジュール内の .psm1 ファイルまたは .dll ファイルからメンバーをエクスポートするには、これらのファイルの名前をマニフェストの RootModule または NestedModules キーの値で指定する必要があります。 それ以外の場合、メンバーはエクスポートされません。

Note

PowerShell 2.0 では、このキーは ModuleToProcess と呼ばれます。 RootModule パラメーター名またはそのModuleToProcessエイリアスを使用できます。

型:String
Aliases:ModuleToProcess
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ScriptsToProcess

モジュールのインポート時に呼び出し元のセッション状態で実行されるスクリプト (.ps1) ファイルを指定します。 ログイン スクリプトを使用する場合と同様に、これらのスクリプトを使用して、環境を準備できます。

モジュールのセッション状態で実行されるスクリプトを指定するには、 NestedModules キーを使用します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Tags

タグの配列を指定します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TypesToProcess

モジュールのインポート時に実行される型ファイル (.ps1xml) を指定します。

モジュールをインポートすると、PowerShell は指定されたファイルを使用して Update-TypeData コマンドレットを実行します。 型ファイルはスコープ設定されていないため、セッション内のすべてのセッション状態に影響します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-VariablesToExport

モジュールがエクスポートする変数を指定します。 ワイルドカードを使用できます。

このパラメーターを使用して、モジュールによってエクスポートされる変数を制限できます。 エクスポートされた変数のリストから変数を削除できますが、リストに変数を追加することはできません。

このパラメーターを省略 New-ModuleManifestVariablesToExport * (all) の値を持つキーが作成されます。つまり、モジュールで定義されているすべての変数がマニフェストによってエクスポートされます。

型:String[]
配置:Named
規定値:* (all)
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-WhatIf

New-ModuleManifestが実行された場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

None

既定では、このコマンドレットは出力を返しません。

String

PassThru パラメーターを使用すると、このコマンドレットはモジュール マニフェストを表す文字列を返します。

メモ

New-ModuleManifest Windows および Windows 以外のプラットフォームで実行すると、モジュール マニフェスト (.psd1) ファイルが作成され、 UTF8NoBOM としてエンコードされます。

モジュール マニフェストは、通常、オプションです。 ただし、モジュール マニフェストは、グローバル アセンブリ キャッシュにインストールされているアセンブリをエクスポートするために必要です。

$pshome\Modules ディレクトリにファイルを追加または変更するには、管理者として実行 オプションを使用して PowerShell を起動します。

Note

PowerShell 6.2 以降、PowerShell はモジュール マニフェストの FileList プロパティに記載されているすべての DLL ファイルの読み込みを試みます。 ネイティブ DLL が FileList に含まれている プロセスで読み込みに失敗し、エラーは無視されます。 すべてのマネージド DLL がプロセスに読み込まれます。 この動作は、PowerShell 7.1 で削除されました。

PowerShell 2.0 では、 New-ModuleManifest の多くのパラメーターは必須でしたが、モジュール マニフェストでは必須ではありません。 PowerShell 3.0 以降では、 Path パラメーターのみが必須です。

セッションは、PowerShell 実行環境のインスタンスです。 セッションは、1 つまたは複数のセッション状態の場合があります。 既定では、セッションはグローバルなセッション状態のみですが、インポートされた各モジュールは独自のセッション状態があります。 セッション状態によって、モジュール内のコマンドは、グローバルなセッション状態に影響を与えずに実行できます。

呼び出し元のセッション状態は、モジュールがインポートされるセッション状態です。 通常はグローバル セッション状態を参照しますが、モジュールが入れ子になったモジュールをインポートする場合、呼び出し元はモジュールであり、呼び出し元のセッション状態はモジュールのセッション状態です。