영어로 읽기

다음을 통해 공유


Install-Module

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

Syntax

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

Description

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

설치 중인 모듈의 이름이나 버전이 동일하거나 기존 모듈에 명령이 포함된 경우 경고 메시지가 표시됩니다. 모듈을 설치하고 경고를 재정의하려는 경우 및 -AllowClobber 매개 변수를 -Force 사용합니다. 리포지토리 설정에 따라 모듈 설치를 계속하려면 프롬프트에 응답해야 할 수 있습니다.

모듈 버전 번호를 사용하는 매개 변수는 버전 번호로 형식이 지정된 문자열을 예상합니다.

  • 표준 버전 번호의 형식 x.y.z 은 x, y 및 z가 숫자입니다.
  • 시험판 버전에는 의 형식 x.y.z-<prerelease_label> 이 있습니다. 여기서 는 <prerelease_label> 해당 릴리스에 할당된 임의의 문자열입니다.

이러한 예제에서는 PowerShell 갤러리 유일하게 등록된 리포지토리로 사용합니다. Get-PSRepository 는 등록된 리포지토리를 표시합니다. 등록된 리포지토리가 여러 명 있는 경우 매개 변수를 -Repository 사용하여 리포지토리의 이름을 지정합니다.

예제

예제 1: 모듈 찾기 및 설치

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

PowerShell
Find-Module -Name PowerShellGet | Install-Module

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

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

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

PowerShell
Install-Module -Name PowerShellGet

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

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

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

PowerShell
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

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

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

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

PowerShell
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

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

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

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

PowerShell
Install-Module -Name PowerShellGet -Scope CurrentUser

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

매개 변수

-AllowClobber

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

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

모듈을 설치하고 모듈 설치 충돌에 대한 경고 메시지를 재정의합니다. 컴퓨터에 이름이 같은 모듈이 이미 있는 경우 강제 적용을 사용하면 여러 버전을 설치할 수 있습니다. 이름과 버전이 같은 기존 모듈이 있는 경우 강제 적용은 해당 버전을 덮어씁니다. ForceAllowClobber 는 명령에서 Install-Module 함께 사용할 수 있습니다.

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

-InputObject

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

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

-MaximumVersion

설치할 단일 모듈의 최대 버전을 지정합니다. 설치된 버전은 MaximumVersion보다 작거나 같아야 합니다. 여러 모듈을 설치하려는 경우 MaximumVersion을 사용할 수 없습니다. MaximumVersionRequiredVersion은 동일한 Install-Module 명령에서 사용할 수 없습니다.

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

-MinimumVersion

설치할 단일 모듈의 최소 버전을 지정합니다. 설치된 버전은 MinimumVersion보다 크거나 같아야 합니다. 사용 가능한 최신 버전의 모듈이 있는 경우 최신 버전이 설치됩니다. 여러 모듈을 설치하려는 경우 MinimumVersion을 사용할 수 없습니다. MinimumVersionRequiredVersion은 동일한 Install-Module 명령에서 사용할 수 없습니다.

Type:Version
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

-Proxy

인터넷 리소스에 직접 연결하는 대신 요청에 대한 프록시 서버를 지정합니다.

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

-ProxyCredential

프록시 매개 변수로 지정된 프록시 서버를 사용할 수 있는 권한이 있는 사용자 계정을 지정합니다.

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

설치할 단일 모듈의 정확한 버전을 지정합니다. 지정된 버전의 리포지토리에 일치하는 항목이 없으면 오류가 표시됩니다. 여러 모듈을 설치하려는 경우 RequiredVersion을 사용할 수 없습니다. RequiredVersion은MinimumVersion 또는 MaximumVersion과 동일한 Install-Module 명령에서 사용할 수 없습니다.

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

-Scope

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

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

$env:ProgramFiles\WindowsPowerShell\Modules

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

$HOME\Documents\WindowsPowerShell\Modules

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

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

-SkipPublisherCheck

컴퓨터에 이미 존재하는 최신 버전의 모듈을 설치할 수 있습니다. 예를 들어 기존 모듈이 신뢰할 수 있는 게시자가 디지털 서명했지만 새 버전이 신뢰할 수 있는 게시자가 디지털 서명하지 않은 경우입니다.

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

입력

String[]

PSObject[]

Version

PSCredential

Uri

출력

Object

참고

Windows PowerShell 에 대해 다음과 같은 별칭을 포함합니다.Install-Module

  • inmo

Install-Module 는 Windows 7 또는 Windows 2008 R2 이상 버전의 Windows에서 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\WindowsPowerShell\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 에서는 모듈 게시자가 요구하는 대로 지정된 종속 모듈도 설치합니다. 게시자는 모듈 매니페스트에 필요한 모듈 및 해당 버전을 나열합니다.