다음을 통해 공유


New-ModuleManifest

새 모듈 매니페스트를 만듭니다.

Syntax

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>]

Description

cmdlet은 New-ModuleManifest 새 모듈 매니페스트(.psd1) 파일을 만들고, 해당 값을 채우고, 매니페스트 파일을 지정된 경로에 저장합니다.

모듈 작성자는 이 cmdlet을 사용하여 모듈의 매니페스트를 만들 수 있습니다. 모듈 매니페스트는 .psd1 해시 테이블을 포함하는 파일입니다. 해시 테이블의 키와 값은 모듈의 내용 및 특성을 설명하고, 필수 구성 요소를 정의하고, 구성 요소의 처리 방법을 결정합니다. 모듈에는 매니페스트가 필요하지 않습니다.

New-ModuleManifest 는 일반적으로 사용되는 모든 매니페스트 키를 포함하는 매니페스트를 만들므로 기본 출력을 매니페스트 템플릿으로 사용할 수 있습니다. 값을 추가하거나 변경하거나 이 cmdlet에서 추가하지 않는 모듈 키를 추가하려면 결과 파일을 텍스트 편집기에서 엽니다.

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

이 예제에서는 새 모듈 매니페스트를 만듭니다. PowerShellVersionAliasesToExport 매개 변수를 사용하여 해당 매니페스트 키에 값을 추가합니다.

$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

이 예제에서는 ModuleList, RequiredModulesNestedModules 매개 변수의 문자열 및 해시 테이블 형식을 사용하는 방법을 보여 줍니다. 동일한 매개 변수 값에서 문자열과 해시 테이블을 결합할 수 있습니다.

예제 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

Updatable 도움말에 대한 자세한 내용은 about_Updatable_Help 참조하세요. HelpInfo XML 파일에 대한 자세한 내용은 Updatable 도움말 지원을 참조하세요.

예제 5 - 모듈 정보 가져오기

이 예제에서는 모듈의 구성 값을 가져오는 방법을 보여줍니다. 모듈 매니페스트의 값은 모듈 개체의 속성 값에 반영됩니다.

cmdlet Get-ModuleList 매개 변수를 사용하여 Microsoft.PowerShell.Diagnostics 모듈을 가져오는 데 사용됩니다. 명령은 모듈 Format-List 개체의 모든 속성과 값을 표시하기 위해 모듈을 cmdlet으로 보냅니다.

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(공용 언어 런타임) 최소 버전을 지정합니다.

참고

이 설정은 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

모듈이 내보내는 cmdlet을 지정합니다. 와일드카드가 지원됩니다.

이 매개 변수를 사용하여 모듈이 내보내는 cmdlet을 제한할 수 있습니다. 내보낸 cmdlet 목록에서 cmdlet을 제거할 수 있지만 목록에 cmdlet을 추가할 수는 없습니다.

이 매개 변수 New-ModuleManifest 를 생략하면 값이 (all)인 CmdletsToExport 키를 * 만듭니다. 즉, 모듈에 정의된 모든 cmdlet이 매니페스트에 의해 내보내집니다.

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

모듈의 호환되는 PSEditions를 지정합니다. PSEdition에 대한 자세한 내용은 호환되는 PowerShell 버전이 있는 모듈을 참조하세요.

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

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

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

모듈의 저작권 정보를 지정합니다.

이 매개 변수 New-ModuleManifest 를 생략하면 값이 현재 <year> 연도이고 <username>Author 키의 (c) <year> <username>. All rights reserved. 값인 Copyright 키를 만듭니다.

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

-DefaultCommandPrefix

세션으로 가져올 때 모듈에 있는 모든 명령의 명사 앞에 추가되는 접두사를 지정합니다. 접두사 문자열을 입력합니다. 접두사는 사용자 세션에서 명령 이름 충돌을 방지합니다.

모듈 사용자는 cmdlet의 접두사 매개 변수를 지정하여 이 접두 사를 재정의할 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의 최소 버전을 지정합니다.

참고

이 설정은 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

모듈에서 내보내는 DSC(Desired State Configuration) 리소스를 지정합니다. 와일드카드가 지원됩니다.

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 cmdlet을 실행합니다. 서식 파일의 범위는 지정되지 않으므로 세션의 모든 세션 상태에 영향을 미칩니다.

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에서 도입된 Updatable 도움말 기능을 지원합니다. 이 파일에는 모듈에 대한 다운로드 가능한 도움말 파일의 위치 및 지원되는 각 로캘에 대한 최신 도움말 파일의 버전 번호 정보가 포함되어 있습니다.

Updatable 도움말에 대한 자세한 내용은 about_Updatable_Help 참조하세요. HelpInfo XML 파일에 대한 자세한 내용은 Updatable 도움말 지원을 참조하세요.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다.

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

-IconUri

모듈 아이콘의 URL을 지정합니다. 지정한 아이콘이 모듈의 갤러리 웹 페이지에 표시됩니다.

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

이 모듈에 포함된 모든 모듈을 나열합니다.

각 모듈 이름을 문자열이나 ModuleNameModuleVersion 키가 포함된 해시 테이블로 입력합니다. 해시 테이블에 선택적 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 키의 파일은 값에 나열된 순서대로 실행됩니다.

각 모듈 이름을 문자열이나 ModuleNameModuleVersion 키가 포함된 해시 테이블로 입력합니다. 해시 테이블에 선택적 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 . 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

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

-Path

새 모듈 매니페스트의 경로와 파일 이름을 지정합니다. 파일 이름 확장명을 가진 경로 및 파일 이름(예: $pshome\Modules\MyModule\MyModule.psd1)을 .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 호스트 또는 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 명령 , , Install-ModuleUpdate-ModuleSave-Module와 함께 AllowPrerelease 매개 변수를 Find-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

이 프로젝트에 대한 웹 페이지의 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 실패합니다.

각 모듈 이름을 문자열이나 ModuleNameModuleVersion 키가 포함된 해시 테이블로 입력합니다. 해시 테이블에 선택적 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), 모듈 매니페스트(.psm1), 어셈블리(.psd1.dll), cmdlet 정의 XML 파일() 또는 워크플로(.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 cmdlet을 실행합니다. 형식 파일의 범위는 지정되지 않으므로 세션의 모든 세션 상태에 영향을 미칩니다.

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 어떤 일이 발생하는지 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

None

기본적으로 이 cmdlet은 출력을 반환하지 않습니다.

String

PassThru 매개 변수를 사용하는 경우 이 cmdlet은 모듈 매니페스트를 나타내는 문자열을 반환합니다.

참고

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 실행 환경의 instance. 세션에 하나 이상의 세션 상태가 있을 수 있습니다. 기본적으로 세션에는 하나의 전역 세션 상태만 있지만 가져온 각 모듈에 해당 세션 상태가 있습니다. 세션 상태를 사용하면 모듈의 명령이 전역 세션 상태에 영향을 주지 않고 실행될 수 있습니다.

호출자의 세션 상태는 모듈을 가져오는 세션 상태입니다. 일반적으로 전역 세션 상태를 참조하지만 모듈이 중첩된 모듈을 가져올 때 호출자는 모듈이고 호출자의 세션 상태는 모듈의 세션 상태입니다.