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
この例では、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
はAliasesToExportキーを*
(すべて)の値で作成します。つまり、モジュールで定義されているすべてのエイリアスがマニフェストによってエクスポートされます。
型: | String[] |
配置: | Named |
規定値: | * (all) |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Author
モジュールの作成者を指定します。
このパラメーターを省略すると、New-ModuleManifest
によって現在のユーザーの名前を持つ 著者 キーが作成されます。
型: | String |
配置: | Named |
規定値: | Name of the current user |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ClrVersion
モジュールに必要な Microsoft .NET Framework の共通言語ランタイム (CLR) の最小バージョンを指定します。
手記
この設定は、Windows PowerShell 5.1 などの PowerShell Desktop エディションでのみ有効であり、4.5 未満の .NET Framework バージョンにのみ適用されます。 この要件は、新しいバージョンの PowerShell または .NET Framework には影響しません。
型: | Version |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CmdletsToExport
モジュールがエクスポートするコマンドレットを指定します。 ワイルドカードを使用できます。
このパラメーターを使用して、モジュールによってエクスポートされるコマンドレットを制限できます。 エクスポートされたコマンドレットの一覧からコマンドレットを削除できますが、一覧にコマンドレットを追加することはできません。
このパラメーターを省略すると、New-ModuleManifest
は、値が (すべて) の *
キーを作成します。つまり、モジュールで定義されているすべてのコマンドレットがマニフェストによってエクスポートされます。
型: | String[] |
配置: | Named |
規定値: | * (all) |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-CompanyName
モジュールを作成した会社またはベンダーを識別します。
このパラメーターを省略すると、New-ModuleManifest
値が "Unknown" の CompanyName キーが作成されます。
型: | String |
配置: | Named |
規定値: | "Unknown" |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-CompatiblePSEditions
モジュールの互換性のある PSEdition を指定します。 PSEdition の詳細については、「互換性のある PowerShell Edition を使用したモジュール」を参照してください。
型: | String[] |
指定可能な値: | Desktop, Core |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Copyright
モジュールの著作権に関する声明を指定します。
このパラメーターを省略すると、New-ModuleManifest
Copyright キーが作成され、値が (c) <year> <username>. All rights reserved.
(<year>
は現在の年)、<username>
は Author キーの値になります。
型: | String |
配置: | Named |
規定値: | (c) <year> <username>. All rights reserved. |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DefaultCommandPrefix
セッションにインポートされるときにモジュール内のすべてのコマンドの名詞の前に付加されるプレフィックスを指定します。 プレフィックス文字列を入力します。 プレフィックスは、ユーザーのセッションでのコマンド名の競合を防ぎます。
モジュール ユーザーは、 コマンドレットの Import-Module
パラメーターを指定することで、このプレフィックスをオーバーライドできます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
モジュールの内容について説明します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DotNetFrameworkVersion
モジュールに必要な Microsoft .NET Framework の最小バージョンを指定します。
手記
この設定は、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
コマンドからは返されません。
.ps1
キーにリストされているスクリプト () は、呼び出し元のセッション状態ではなく、モジュールのセッション状態で実行されます。 呼び出し元のセッション状態でスクリプトを実行するには、マニフェストの ScriptsToProcess キーの値にスクリプト ファイル名を一覧表示します。
型: | Object[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PassThru
結果のモジュール マニフェストをコンソールに書き込み、.psd1
ファイルを作成します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
新しいモジュール マニフェストのパスとファイル名を指定します。
.psd1
など、$pshome\Modules\MyModule\MyModule.psd1
ファイル名拡張子を持つパスとファイル名を入力します。
Path パラメーターが必要です。
既存のファイルへのパスを指定した場合、New-ModuleManifest
は、ファイルに読み取り専用属性がない限り、警告なしでファイルを置き換えます。
マニフェストはモジュールのディレクトリに配置し、マニフェスト ファイル名はモジュール ディレクトリ名と同じにする必要がありますが、ファイル名拡張子は .psd1
必要があります。
手記
$PSHOME
パラメーター値のプロンプトに応答して、$HOME
や などの変数を使用することはできません。 変数を使用するには、コマンドに Path パラメーターを含めます。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PowerShellHostName
モジュールに必要な PowerShell ホスト プログラムの名前を指定します。 ホスト プログラムの名前を入力してください。例えば、Windows PowerShell ISE Host や ConsoleHost などです。 ワイルドカードは使用できません。
ホスト・プログラムの名前を見つけるには、プログラムに「$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 ギャラリーに発行されると、このデータはプレリリース パッケージを識別するために使用されます。 ギャラリーからプレリリース パッケージを取得するには、PowerShellGet コマンド 、Find-Module
、Install-Module
、および Update-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 キーの値で指定されたモジュール ファイルのインポートを行う前に、指定されたアセンブリを読み込みます。
このパラメーターを使用すると、NestedModules キーにバイナリ モジュールとしてリストされている場合でも、FormatsToProcess または TypesToProcess キーにリストされている書式ファイルや型ファイルを更新するために読み込む必要があるアセンブリを含め、モジュールで必要なすべてのアセンブリを一覧表示できます。
型: | 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 キーの値に指定する必要があります。 それ以外の場合、メンバーはエクスポートされません。
手記
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-ModuleManifest
VariablesToExport キーが作成され、値が *
(all) になります。つまり、モジュールで定義されているすべての変数がマニフェストによってエクスポートされます。
型: | String[] |
配置: | Named |
規定値: | * (all) |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-WhatIf
New-ModuleManifest
が実行された場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットはモジュール マニフェストを表す文字列を返します。
メモ
Windows および Windows 以外のプラットフォームで実行されている New-ModuleManifest
は、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 つ以上のセッション状態を含めることができます。 既定では、セッションはグローバル セッション状態のみですが、インポートされた各モジュールには独自のセッション状態があります。 セッション状態を使用すると、モジュール内のコマンドをグローバル セッション状態に影響を与えずに実行できます。
呼び出し元のセッション状態は、モジュールがインポートされるセッション状態です。 通常はグローバル セッション状態を参照しますが、モジュールが入れ子になったモジュールをインポートする場合、呼び出し元はモジュールであり、呼び出し元のセッション状態はモジュールのセッション状態です。
関連リンク
PowerShell