Install-Module

리포지토리에서 하나 이상의 모듈을 다운로드하고 로컬 컴퓨터에 설치합니다.

Syntax

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

cmdlet은 Install-Module 온라인 리포지토리에서 지정된 조건을 충족하는 하나 이상의 모듈을 가져옵니다. cmdlet은 검색 결과가 유효한 모듈임을 확인하고 모듈 폴더를 설치 위치에 복사합니다. 설치된 모듈은 설치 후 자동으로 가져오지 않습니다. 지정된 모듈의 최소, 최대 및 정확한 버전에 따라 설치된 모듈을 필터링할 수 있습니다.

Microsoft.PowerShell.PSResourceGetGet-InstalledPSResource cmdlet에 대한 프록시 cmdlet입니다. 자세한 내용은 Install-PSResource를 참조하세요.

예제

예제 1: 모듈 찾기 및 설치

이 예제에서는 리포지토리에서 모듈을 찾아서 모듈을 설치합니다.

Find-Module -Name PowerShellGet | Install-Module

Find-ModuleName 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. 기본적으로 최신 버전의 모듈은 리포지토리에서 다운로드됩니다. 개체가 파이프라인 아래로 cmdlet으로 Install-Module 전송됩니다. Install-Module 는 의 모든 사용자에 대한 모듈을 설치합니다 $env:ProgramFiles\PowerShell\Modules.

예제 2: 이름으로 모듈 설치

이 예제에서는 최신 버전의 PowerShellGet 모듈이 설치됩니다.

Install-Module -Name PowerShellGet

Install-ModuleName 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. 기본적으로 최신 버전의 모듈은 리포지토리에서 다운로드되어 설치됩니다.

예제 3: 최소 버전을 사용하여 모듈 설치

이 예제에서는 PowerShellGet 모듈의 최소 버전이 설치됩니다. MinimumVersion 매개 변수는 설치해야 하는 모듈의 가장 낮은 버전을 지정합니다. 최신 버전의 모듈을 사용할 수 있는 경우 해당 버전이 다운로드되어 모든 사용자에 대해 설치됩니다.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Install-ModuleName 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. MinimumVersion 매개 변수는 버전 2.0.1이 리포지토리에서 다운로드되고 설치되도록 지정합니다. 버전 2.0.4 를 사용할 수 있으므로 해당 버전은 모든 사용자에 대해 다운로드되고 설치됩니다.

예제 4: 특정 버전의 모듈 설치

이 예제에서는 특정 버전의 PowerShellGet 모듈이 설치됩니다.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-ModuleName 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. RequiredVersion 매개 변수는 버전 2.0.0이 모든 사용자에 대해 다운로드되고 설치되도록 지정합니다.

예제 5: 현재 사용자에 대해서만 모듈 설치

다음은 현재 사용자에 대해서만 최신 버전의 모듈을 다운로드하여 설치하는 예제입니다.

Install-Module -Name PowerShellGet -Scope CurrentUser

Install-ModuleName 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. Install-Module 최신 버전의 PowerShellGet 을 다운로드하여 현재 사용자의 디렉터리 에 설치합니다 $HOME\Documents\PowerShell\Modules.

예제 6: 모듈의 최신 시험판 버전 설치

이 예제에서는 해당 버전이 시험판 버전인 경우 최신 버전의 모듈을 설치하는 방법을 보여줍니다. 시험판 버전을 설치하려면 AllowPrerelease 매개 변수가 필요합니다.

Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease

이 방법을 사용하면 최신 버전을 사용할 수 있습니다. 최신 버전이 시험판이 아닌 경우 안정적인 최신 버전의 모듈이 표시됩니다.

예제 7: 모듈의 특정 시험판 버전 설치

이 예제에서는 모듈의 특정 시험판 버전을 설치하는 방법을 보여줍니다. cmdlet을 Find-Module 사용하여 PowerShell 갤러리 시험판 버전의 모듈을 찾을 수 있습니다.

시험판 버전에는 형식이 있습니다 <version_number>-<prerelease_label>.

Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5

Version        Name             Repository       Description
-------        ----             ----------       -----------
2.2.6          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.5          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.4-beta1    PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.3          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.2          PSReadLine       PSGallery        Great command line editing in the PowerS…

Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease

PowerShell 갤러리 표시된 버전을 RequiredVersion 매개 변수 값에 사용합니다.

매개 변수

-AcceptLicense

라이선스가 필요한 모듈의 경우 AcceptLicense 는 설치 중에 라이선스 계약을 자동으로 수락합니다. 자세한 내용은 라이선스 동의가 필요한 모듈을 참조하세요.

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

-AllowClobber

컴퓨터의 기존 명령에 대한 설치 충돌에 대한 경고 메시지를 재정의합니다. 모듈에서 설치하는 명령과 이름이 같은 기존 명령을 덮어씁니다. AllowClobberForce 는 명령에서 Install-Module 함께 사용할 수 있습니다.

프록시 cmdlet은 이 매개 변수의 값을 cmdlet의 NoClobber 매개 변수로 Install-PSResource 변환합니다.

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

-AllowPrerelease

시험판으로 표시된 모듈을 설치할 수 있습니다.

프록시 cmdlet은 이 매개 변수를 의 Prerelease 매개 변수에 Install-PSResource매핑합니다.

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

-Confirm

cmdlet을 실행 Install-Module 하기 전에 확인 메시지를 표시합니다.

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

-Credential

지정된 패키지 공급자 또는 원본에 대한 모듈을 설치할 권한이 있는 사용자 계정을 지정합니다.

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

-Force

프록시 cmdlet은 에서 지원 Install-PSResource되지 않으므로 이 매개 변수를 무시합니다.

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

-InputObject

파이프라인 입력에 사용됩니다. InputObject에 직접 제공된 값이 있으면 오류가 발생합니다. 파이프라인을 사용하여 InputObject 매개 변수를 사용하여 개체를 전달합니다.

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

-MaximumVersion

프록시 cmdlet은 이 매개 변수의 값을 사용하여 의 Version 매개 변수 Install-PSResource와 함께 사용할 NuGet 버전 검색 문자열을 만듭니다.

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

-MinimumVersion

프록시 cmdlet은 이 매개 변수의 값을 사용하여 의 Version 매개 변수 Install-PSResource와 함께 사용할 NuGet 버전 검색 문자열을 만듭니다.

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

-Name

온라인 갤러리에서 설치할 모듈의 정확한 이름을 지정합니다. 모듈 이름의 쉼표로 구분된 목록이 허용됩니다. 모듈 이름은 리포지토리의 모듈 이름과 일치해야 합니다. 를 사용하여 Find-Module 모듈 이름 목록을 가져옵니다.

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

-PassThru

PassThru 매개 변수 Install-Module 를 사용하는 경우 모듈에 대한 PSRepositoryItemInfo 개체를 출력합니다. cmdlet에서 Find-Module 가져온 것과 동일한 정보입니다.

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

-Proxy

프록시 cmdlet은 에서 지원 Install-PSResource되지 않으므로 이 매개 변수를 무시합니다.

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

-ProxyCredential

프록시 cmdlet은 에서 지원 Install-PSResource되지 않으므로 이 매개 변수를 무시합니다.

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

-Repository

리포지토리 매개 변수를 사용하여 모듈을 다운로드하고 설치할 리포지토리의 이름을 지정합니다. 여러 리포지토리가 등록될 때 사용됩니다. 명령에 등록된 리포지 Install-Module 토리의 이름을 지정합니다. 리포지토리를 등록하려면 를 사용합니다 Register-PSRepository. 등록된 리포지토리를 표시하려면 를 사용합니다 Get-PSRepository.

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

-RequiredVersion

프록시 cmdlet은 이 매개 변수의 값을 사용하여 의 Version 매개 변수 Install-PSResource와 함께 사용할 NuGet 버전 검색 문자열을 만듭니다.

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

-Scope

모듈의 설치 범위를 지정합니다. 이 매개 변수에 허용되는 값은 AllUsersCurrentUser입니다.

AllUsers scope 컴퓨터의 모든 사용자가 액세스할 수 있는 위치에 모듈을 설치합니다.

$env:ProgramFiles\PowerShell\Modules

CurrentUser는 컴퓨터의 현재 사용자만 액세스할 수 있는 위치에 모듈을 설치합니다. 예:

$HOME\Documents\PowerShell\Modules

범위가 정의되지 않은 경우 기본값은 PowerShellGet 버전에 따라 설정됩니다.

  • PowerShellGet 1.x 버전에서 기본값은 AllUsers이며 설치를 위해 상승이 필요합니다.
  • PowerShell 6 이상에서 PowerShellGet 버전 2.0.0 이상:
    • 기본값은 CurrentUser이며 설치를 위해 권한 상승이 필요하지 않습니다.
    • 관리자 권한 세션에서 실행하는 경우 기본값은 AllUsers입니다.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

프록시 cmdlet은 를 호출Install-PSResource하기 전에 이 매개 변수를 AthenticodeCheck로 변환합니다.

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

-WhatIf

명령이 실행된 경우 Install-Module 어떤 일이 발생하는지 표시합니다. cmdlet이 실행되지 않습니다.

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

입력

PSRepositoryItemInfo

Find-Module 는 파이프라인 아래로 보낼 수 있는 PSRepositoryItemInfo 개체를 Install-Module만듭니다.

String[]

PSObject[]

String

PSCredential

Uri

출력

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

PassThru 매개 변수 Install-Module 를 사용하는 경우 모듈에 대한 PSRepositoryItemInfo 개체를 출력합니다. cmdlet에서 Find-Module 가져온 것과 동일한 정보입니다.

참고

PowerShell에는 에 대한 Install-Module다음 별칭이 포함되어 있습니다.

  • 모든 플랫폼:
    • inmo

Install-Module 는 Windows 7 또는 Windows 2008 R2 이상 릴리스의 PowerShell 5.0 이상 릴리스에서 실행됩니다.

중요

2020년 4월부터 PowerShell 갤러리는 더 이상 TLS(전송 계층 보안) 버전 1.0 및 1.1을 지원하지 않습니다. TLS 1.2 이상을 사용하지 않는 경우 PowerShell 갤러리 액세스하려고 할 때 오류가 발생합니다. 다음 명령을 사용하여 TLS 1.2를 사용하는지 확인합니다.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

자세한 내용은 PowerShell 블로그의 공지를 참조하세요.

보안 모범 사례로 처음으로 cmdlet 또는 함수를 실행하기 전에 모듈의 코드를 평가합니다. 악성 코드가 포함된 모듈을 실행하지 않도록 설치한 모듈은 설치 후 자동으로 가져오지 않습니다.

Name 매개 변수로 지정된 모듈 이름이 리포지 Install-Module 토리에 없는 경우 오류를 반환합니다.

여러 모듈을 설치하려면 Name 매개 변수를 사용하고 모듈 이름의 쉼표로 구분된 배열을 지정합니다. 여러 모듈 이름을 지정하는 경우 MinimumVersion, MaximumVersion 또는 RequiredVersion 사용할 수 없습니다. Find-Module 는 파이프라인 아래로 보낼 수 있는 PSRepositoryItemInfo 개체를 Install-Module만듭니다. 파이프라인은 단일 명령에 설치할 여러 모듈을 지정하는 또 다른 방법입니다.

기본적으로 AllUsers scope 대한 모듈은 에 $env:ProgramFiles\PowerShell\Modules설치됩니다. 기본값은 PowerShell Desired State Configuration(DSC) 리소스를 설치할 때 혼동을 방지합니다.

모듈 설치가 실패하고 폴더 내에 , .psd1또는 .dll 이름이 같은 경우 가져올 수 없습니다.psm1. Force 매개 변수를 사용하여 모듈을 설치합니다.

기존 모듈의 버전이 Name 매개 변수로 지정된 이름과 일치하고 MinimumVersion 또는 RequiredVersion 매개 변수 가 사용되지 Install-Module 않는 경우 자동으로 계속되지만 모듈을 설치하지는 않습니다.

기존 모듈의 버전이 MinimumVersion 매개 변수 값보다 크거나 RequiredVersion 매개 변수 Install-Module 값과 같으면 자동으로 계속되지만 모듈을 설치하지는 않습니다.

기존 모듈이 MinimumVersion 또는 RequiredVersion 매개 변수에 지정된 값과 일치하지 않으면 명령에서 Install-Module 오류가 발생합니다. 예를 들어 설치된 기존 모듈의 버전이 MinimumVersion 값보다 작거나 RequiredVersion 값과 같지 않은 경우입니다.

Install-Module 또한 모듈 게시자가 요구하는 대로 지정된 종속 모듈을 설치합니다. 게시자는 모듈 매니페스트에 필요한 모듈 및 해당 버전을 나열합니다.