다음을 통해 공유


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

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 - 새 모듈 매니페스트 만들기

이 예제에서는 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 - 미리 채워진 설정을 사용하여 새 매니페스트 만들기

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

$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 파일에 대한 자세한 내용은 Updatable 도움말 지원을 참조 하세요.

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

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

Get-Module cmdlet은 List 매개 변수를 사용하여 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 를 생략하면 값 * 이 모두인 AliasesToExport 키를 만듭니다. 즉, 모듈에 정의된 모든 별칭이 매니페스트에 의해 내보내집니다.

형식:String[]
Position:Named
Default value:* (all)
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Author

모듈 작성자를 지정합니다.

이 매개 변수 New-ModuleManifest생략하면 현재 사용자의 이름으로 Author 키를 만듭니다.

형식:String
Position:Named
Default value: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
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CmdletsToExport

모듈에서 내보내는 cmdlet을 지정합니다. 와일드카드가 허용됩니다.

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

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

형식:String[]
Position:Named
Default value:* (all)
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-CompanyName

모듈을 만든 회사 또는 공급업체를 식별합니다.

이 매개 변수 New-ModuleManifest 를 생략하면 값이 "Unknown"인 CompanyName 키를 만듭니다.

형식:String
Position:Named
Default value:"Unknown"
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CompatiblePSEditions

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

형식:String[]
허용되는 값:Desktop, Core
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

모듈에 대한 저작권 문을 지정합니다.

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

형식:String
Position:Named
Default value:(c) <year> <username>. All rights reserved.
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultCommandPrefix

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

모듈 사용자는 cmdlet의 접두사 매개 변수를 지정하여 이 접두 사를 재정의할 Import-Module 수 있습니다.

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

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Description

모듈의 내용을 설명합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DotNetFrameworkVersion

모듈에 필요한 Microsoft .NET Framework의 최소 버전을 지정합니다.

참고 항목

이 설정은 Windows PowerShell 5.1과 같은 PowerShell Desktop 버전에만 유효하며 4.5보다 낮은 .NET Framework 버전에만 적용됩니다. 이 요구 사항은 최신 버전의 PowerShell 또는 .NET Framework에는 영향을 주지 않습니다.

형식:Version
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DscResourcesToExport

모듈에서 내보내는 DSC(필요한 상태 구성) 리소스를 지정합니다. 와일드카드가 허용됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-ExternalModuleDependencies

이 모듈이 종속된 외부 모듈 목록입니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FileList

모듈에 포함된 모든 항목을 지정합니다.

이 키는 모듈 인벤토리 역할을 하도록 설계되었습니다. 키에 나열된 파일은 모듈이 게시될 때 포함되지만 함수는 자동으로 내보내지지 않습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FormatsToProcess

모듈을 가져올 때 실행되는 서식 파일(.ps1xml)을 지정합니다.

모듈을 가져올 때 PowerShell은 지정된 파일을 사용하여 Update-FormatData cmdlet을 실행합니다. 서식 파일의 범위는 지정되지 않으므로 세션의 모든 세션 상태에 영향을 미칩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FunctionsToExport

모듈에서 내보내는 함수를 지정합니다. 와일드카드가 허용됩니다.

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

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

형식:String[]
Position:Named
Default value:* (all)
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Guid

모듈의 고유 식별자를 지정합니다. GUID사용하여 이름이 같은 모듈을 구분할 수 있습니다.

이 매개 변수 New-ModuleManifest생략하면 매니페스트에 GUID 키를 만들고 값에 대한 GUID생성합니다.

PowerShell에서 새 GUID 를 만들려면 .를 입력합니다 [guid]::NewGuid().

형식:Guid
Position:Named
Default value:A GUID generated for the module
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HelpInfoUri

모듈에 대한 HelpInfo XML 파일의 인터넷 주소를 지정합니다. http 또는 https시작하는 URI(Uniform Resource Identifier)를 입력합니다.

HelpInfo XML 파일은 PowerShell 3.0에서 도입된 Updatable 도움말 기능을 지원합니다. 모듈에 대한 다운로드 가능한 도움말 파일의 위치와 지원되는 각 로캘에 대한 최신 도움말 파일의 버전 번호에 대한 정보가 포함되어 있습니다.

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

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

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IconUri

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

형식:Uri
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LicenseUri

모듈에 대한 라이선스 조건의 URL을 지정합니다.

형식:Uri
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ModuleList

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

각 모듈 이름을 문자열로 입력하거나 ModuleNameModuleVersion 키를 사용하여 해시 테이블로 입력합니다. 해시 테이블에는 선택적 GUID 키가 있을 수도 있습니다. 매개 변수 값에 문자열과 해시 테이블을 결합할 수 있습니다.

이 키는 모듈 인벤토리 역할을 하도록 설계되었습니다. 이 키의 값에 나열된 모듈은 자동으로 처리되지 않습니다.

형식:Object[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ModuleVersion

모듈의 버전을 지정합니다.

이 매개 변수는 필요하지 않지만 매니페스트에는 ModuleVersion 키가 필요합니다. 이 매개 변수 New-ModuleManifest 를 생략하면 값이 1.0인 ModuleVersion 키를 만듭니다.

형식:Version
Position:Named
Default value:1.0
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NestedModules

모듈의 세션 상태로 가져오는 스크립트 모듈(.psm1) 및 이진 모듈(.dll)을 지정합니다. NestedModules 키의 파일은 값에 나열된 순서대로 실행됩니다.

각 모듈 이름을 문자열로 입력하거나 ModuleNameModuleVersion 키를 사용하여 해시 테이블로 입력합니다. 해시 테이블에는 선택적 GUID 키가 있을 수도 있습니다. 매개 변수 값에 문자열과 해시 테이블을 결합할 수 있습니다.

일반적으로 중첩된 모듈에는 루트 모듈이 내부 처리에 필요한 명령이 포함됩니다. 기본적으로 중첩된 모듈의 명령은 모듈의 세션 상태에서 호출자의 세션 상태로 내보내지만 루트 모듈은 내보내는 명령을 제한할 수 있습니다. 예를 들어 명령을 사용합니다 Export-ModuleMember .

모듈 세션 상태의 중첩된 모듈은 루트 모듈에서 사용할 수 있지만 호출자의 세션 상태의 명령에 의해 Get-Module 반환되지 않습니다.

NestedModules 키에 나열된 스크립트(.ps1)는 호출자의 세션 상태가 아니라 모듈의 세션 상태에서 실행됩니다. 호출자의 세션 상태에서 스크립트를 실행하려면 매니페스트의 ScriptsToProcess 키 값에 스크립트 파일 이름을 나열합니다.

형식:Object[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PassThru

결과 모듈 매니페스트를 콘솔에 쓰고 파일을 만듭니다 .psd1 . 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

새 모듈 매니페스트의 경로 및 파일 이름을 지정합니다. 파일 이름 확장명을 가진 경로 및 파일 이름(예: $pshome\Modules\MyModule\MyModule.psd1.)을 .psd1 입력합니다. Path 매개 변수가 필요합니다.

기존 파일의 경로를 지정하는 경우 파일에 New-ModuleManifest 읽기 전용 특성이 없는 한 경고 없이 파일을 바꿉니다.

매니페스트는 모듈의 디렉터리에 있어야 하며 매니페스트 파일 이름은 모듈 디렉터리 이름과 동일하지만 파일 이름 확장명을 사용해야 .psd1 합니다.

참고 항목

경로 매개 변수 값에 대한 프롬프트에 대한 응답으로 변수(예: $PSHOME 또는$HOME)를 사용할 수 없습니다. 변수를 사용하려면 명령에 Path 매개 변수를 포함합니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PowerShellHostName

모듈에 필요한 PowerShell 호스트 프로그램의 이름을 지정합니다. Windows PowerShell ISE 호스트 또는 ConsoleHost와 같은 호스트 프로그램의 이름을 입력합니다. 와일드카드는 허용되지 않습니다.

호스트 프로그램의 이름을 찾으려면 프로그램에서 .를 입력합니다 $Host.Name.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PowerShellHostVersion

모듈에서 작동하는 PowerShell 호스트 프로그램의 최소 버전을 지정합니다. 버전 번호(예: 1.1)를 입력합니다.

형식:Version
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PowerShellVersion

이 모듈에서 작동하는 PowerShell의 최소 버전을 지정합니다. 예를 들어 매개 변수 값으로 1.0, 2.0 또는 3.0을 입력할 수 있습니다. X.X 형식이어야 합니다. 예를 들어 제출 5하면 PowerShell에서 오류가 발생합니다.

형식:Version
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Prerelease

이 모듈의 시험판 문자열입니다. 시험판 문자열을 추가하면 모듈이 시험판 버전으로 식별됩니다. 모듈이 PowerShell 갤러리 게시되면 이 데이터는 시험판 패키지를 식별하는 데 사용됩니다. 갤러리에서 시험판 패키지를 획득하려면 PowerShellGet 명령, 및 .와 함께 AllowPrerelease 매개 변수를 Update-ModuleFind-ModuleInstall-Module사용해야 합니다.Save-Module

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PrivateData

모듈을 가져올 때 모듈에 전달되는 데이터를 지정합니다.

형식:Object
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ProcessorArchitecture

모듈에 필요한 프로세서 아키텍처를 지정합니다. 유효한 값은 x86, AMD64, IA64, MSIL 및 None(알 수 없거나 지정되지 않음)입니다.

형식:ProcessorArchitecture
허용되는 값:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ProjectUri

이 프로젝트에 대한 웹 페이지의 URL을 지정합니다.

형식:Uri
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ReleaseNotes

릴리스 정보를 지정합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RequiredAssemblies

모듈에 필요한 어셈블리(.dll) 파일을 지정합니다. 어셈블리 파일 이름을 입력합니다. PowerShell은 형식 또는 형식을 업데이트하거나, 중첩된 모듈을 가져오거나, RootModule 키 값에 지정된 모듈 파일을 가져오기 전에 지정된 어셈블리를 로드합니다.

이 매개 변수를 사용하여 FormatsToProcess 또는 TypesToProcess 키에 나열된 서식 또는 형식 파일을 업데이트하기 위해 로드해야 하는 어셈블리를 포함하여 모듈에 필요한 모든 어셈블리를 나열합니다. 이러한 어셈블리가 NestedModules 키의 이진 모듈로도 나열되더라도 이 매개 변수를 사용합니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RequiredModules

전역 세션 상태에 있어야 하는 모듈을 지정합니다. 필요한 모듈이 전역 세션 상태가 아닌 경우 PowerShell에서 모듈을 가져옵니다. 필요한 모듈을 사용할 수 없는 경우 명령이 Import-Module 실패합니다.

각 모듈 이름을 문자열로 입력하거나 ModuleNameModuleVersion 키를 사용하여 해시 테이블로 입력합니다. 해시 테이블에는 선택적 GUID 키가 있을 수도 있습니다. 매개 변수 값에 문자열과 해시 테이블을 결합할 수 있습니다.

PowerShell 2.0 Import-Module 에서는 필요한 모듈을 자동으로 가져오지 않습니다. 필요한 모듈이 전역 세션 상태에 있는지 확인합니다.

형식:Object[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RequireLicenseAcceptance

모듈에 설치, 업데이트 또는 저장에 대한 명시적 사용자 동의가 필요한지 여부를 나타내는 플래그입니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RootModule

모듈의 기본 또는 루트 파일을 지정합니다. 스크립트의 파일 이름(.ps1), 스크립트 모듈(.psm1), 모듈 매니페스트(.psd1), 어셈블리(.dll), cmdlet 정의 XML 파일() 또는 워크플로(.cdxml.xaml)를 입력합니다. 모듈을 가져오면 루트 모듈 파일에서 내보낸 멤버를 호출자의 세션 상태로 가져옵니다.

모듈에 매니페스트 파일이 있고 RootModule 키에 루트 파일이 지정되지 않은 경우 매니페스트는 모듈의 기본 파일이 되고 모듈은 매니페스트 모듈(ModuleType = Manifest)이 됩니다.

매니페스트가 있는 모듈의 .psm1 멤버 또는 .dll 파일을 내보내려면 해당 파일의 이름을 매니페스트의 RootModule 또는 NestedModules 키 값에 지정해야 합니다. 그렇지 않으면 해당 멤버는 내보내지지 않습니다.

참고 항목

PowerShell 2.0에서 이 키를 ModuleToProcess라고 했습니다. RootModule 매개 변수 이름 또는 ModuleToProcess 별칭을 사용할 수 있습니다.

형식:String
별칭:ModuleToProcess
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ScriptsToProcess

모듈을 가져올 때 호출자의 세션 상태에서 실행되는 스크립트(.ps1) 파일을 지정합니다. 로그인 스크립트를 사용하는 것처럼 이러한 스크립트를 사용하여 환경을 준비할 수 있습니다.

모듈의 세션 상태에서 실행되는 스크립트를 지정하려면 NestedModules 키를 사용합니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Tags

태그 배열을 지정합니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TypesToProcess

모듈을 가져올 때 실행되는 형식 파일(.ps1xml)을 지정합니다.

모듈을 가져올 때 PowerShell은 지정된 파일을 사용하여 Update-TypeData cmdlet을 실행합니다. 형식 파일의 범위는 지정되지 않으므로 세션의 모든 세션 상태에 영향을 미칩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-VariablesToExport

모듈에서 내보내는 변수를 지정합니다. 와일드카드가 허용됩니다.

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

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

형식:String[]
Position:Named
Default value:* (all)
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-WhatIf

실행될 경우 New-ModuleManifest 어떤 일이 발생하는지 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용: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 실행 환경의 인스턴스입니다. 세션에 하나 이상의 세션 상태가 있을 수 있습니다. 기본적으로 세션에는 하나의 전역 세션 상태만 있지만 가져온 각 모듈에 해당 세션 상태가 있습니다. 세션 상태를 사용하면 전역 세션 상태에 영향을 주지 않고 모듈의 명령을 실행할 수 있습니다.

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