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 - 新しいモジュール マニフェストを作成する

この例では、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 モジュールの名前を指定し、ハッシュ テーブル形式を使用して 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

この例では、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」を参照してください。 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-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) の最低限のバージョンを指定します。

Note

この設定は、Windows PowerShell 5.1 などの PowerShell Desktop エディションでのみ有効であり、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

モジュールの互換性のある P Standard Edition itions を指定します。 P Standard Edition dition の詳細については、「互換性のある PowerShell エディションを備えたモジュール」を参照してください

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

-Confirm

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

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

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

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

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 の最低限のバージョンを指定します。

Note

この設定は、Windows PowerShell 5.1 などの PowerShell Desktop エディションでのみ有効であり、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始まる URI (Uniform Resource Identifier) を入力します

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 付いています。

Note

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

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

-PowerShellHostName

モジュールに必要な PowerShell ホスト プログラムの名前を指定します。 Windows PowerShell I Standard Edition Host、ConsoleHost など、ホスト プログラムの名前を入力します ワイルドカードは許可されません。

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

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

-PowerShellHostVersion

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

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

-PowerShellVersion

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

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

-Prerelease

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

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

-PrivateData

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

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

-ProcessorArchitecture

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

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

-ProjectUri

このプロジェクトに関する 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) になります。

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

Note

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-ModuleManifest値が (all) の * VariablesToExport キーを作成します。つまり、モジュールで定義されているすべての変数がマニフェストによってエクスポートされます。

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 を起動します。

Note

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

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

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

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