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 では、一般的に使用されるすべてのマニフェスト キーを含むマニフェストが作成されるため、既定の出力をマニフェスト テンプレートとして使用できます。 値を追加または変更したり、このコマンドレットで追加しないモジュール キーを追加したりするには、結果のファイルをテキスト エディターで開きます。

PathPassThru を除く各パラメーターは、モジュール マニフェスト キーとその値を作成します。 モジュール マニフェストでは、ModuleVersion キーのみが必須です。 パラメーターの説明で指定しない限り、コマンドからパラメーターを省略すると、関連付けられた値のコメント文字列が作成され、 New-ModuleManifest 効果はありません。

PowerShell 2.0 では、 New-ModuleManifest 必要なパラメーター値に加えて、コマンドで指定されていない一般的に使用されるパラメーターの値の入力を求められます。 PowerShell 3.0 以降では、 New-ModuleManifest 必要なパラメーター値が指定されていない場合にのみプロンプトが表示されます。

PowerShell ギャラリーでモジュールを発行する予定の場合、マニフェストには特定のプロパティの値が含まれている必要があります。 詳細については、ギャラリーのドキュメントの「PowerShell ギャラリーに発行されたアイテムの必須メタデータ」を参照してください。

例 1 - 新しいモジュール マニフェストをCreateする

次の使用例は、 Path パラメーターで指定されたファイルに新しいモジュール マニフェストを作成します。 PassThru パラメーターは、パイプラインとファイルに出力を送信します。

出力は、マニフェスト内のすべてのキーの既定値を示しています。

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

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

@{

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

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

# Supported PSEditions
# CompatiblePSEditions = @()

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

# Author of this module
Author = 'ContosoAdmin'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    PSData = @{

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

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

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

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

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # Prerelease string of this module
        # Prerelease = ''

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

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

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

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

}

例 2 - 事前設定された設定で新しいマニフェストをCreateする

この例では、新しいモジュール マニフェストを作成します。 PowerShellVersion および AliasesToExport パラメーターを使用して、値を対応するマニフェスト キーに追加します。

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

例 3 - 他のモジュールを必要とするマニフェストをCreateする

この例では、文字列形式を使用して BitsTransfer モジュールの名前を指定し、ハッシュ テーブル形式を使用して PSScheduledJob モジュールの名前、GUID、およびバージョンを指定します。

$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 - 更新可能なヘルプをサポートするマニフェストをCreateする

この例では、 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-ModuleList パラメーターを使用して 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値が (all) の *AliasesToExport キーが作成されます。つまり、モジュールで定義されているすべてのエイリアスがマニフェストによってエクスポートされます。

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

-Author

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

このパラメーターを省略した場合は、 New-ModuleManifest 現在のユーザーの名前を持つ Author キーを作成します。

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

-ClrVersion

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

注意

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

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

-CmdletsToExport

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

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

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

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

-CompanyName

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

このパラメーターを省略した場合は、 New-ModuleManifest "Unknown" の値を持つ CompanyName キーを作成します。

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

-CompatiblePSEditions

モジュールの互換性のある PSEdition を指定します。 PSEdition の詳細については、「 互換性のある PowerShell エディションを使用するモジュール」を参照してください。

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

-Confirm

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

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

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

このパラメーターを省略した場合は、 New-ModuleManifestCopyright キーを作成し、 の値は現在の(c) <year> <username>. All rights reserved.<year>年で、 <username>Author キーの値です。

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

-DefaultCommandPrefix

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

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

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

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

-Description

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

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

-DotNetFrameworkVersion

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

注意

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

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

-DscResourcesToExport

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

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

-ExternalModuleDependencies

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

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

-FileList

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

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

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

-FormatsToProcess

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

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

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

-FunctionsToExport

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

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

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

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

-Guid

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

このパラメーターを省略した場合は、 New-ModuleManifest マニフェストに GUID キーを作成し、値の GUID を 生成します。

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

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

-HelpInfoUri

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

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

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

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

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

-IconUri

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

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

-LicenseUri

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

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

-ModuleList

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

各モジュールの名前を文字列として、または ModuleName キーと ModuleVersion キーを含むハッシュ テーブルとして入力します。 ハッシュ テーブルは、オプションの GUID キーも保持できます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

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

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

-ModuleVersion

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

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

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

-NestedModules

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

各モジュールの名前を文字列として、または ModuleName キーと ModuleVersion キーを含むハッシュ テーブルとして入力します。 ハッシュ テーブルは、オプションの GUID キーも保持できます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

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

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

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

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

-PassThru

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

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

-Path

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

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

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

注意

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

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

-PowerShellHostName

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

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

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

-PowerShellHostVersion

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

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

-PowerShellVersion

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

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

-Prerelease

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

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

-PrivateData

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

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

-ProcessorArchitecture

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

Type:ProcessorArchitecture
Accepted values:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProjectUri

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

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

-ReleaseNotes

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

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

-RequiredAssemblies

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

このパラメーターを使用して、アセンブリが NestedModules キーでバイナリ モジュールとして列挙されている場合でも、FormatsToProcess キーまたは TypesToProcess キーに列挙される形式または型ファイルを更新するために読み込む必要があるアセンブリを含め、モジュールに必要なすべてのアセンブリを列挙できます。

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

-RequiredModules

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

各モジュールの名前を文字列として、または ModuleName キーと ModuleVersion キーを含むハッシュ テーブルとして入力します。 ハッシュ テーブルは、オプションの GUID キーも保持できます。 パラメーター値として文字列とハッシュ テーブルを組み合わせることができます。

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

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

-RequireLicenseAcceptance

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

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

-RootModule

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

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

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

注意

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

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

-ScriptsToProcess

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

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

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

-Tags

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

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

-TypesToProcess

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

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

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

-VariablesToExport

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

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

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

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

-WhatIf

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

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

入力

None

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

出力

None

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

String

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

メモ

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

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

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

注意

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

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

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

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