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은 검색 결과가 유효한 모듈임을 확인하고 모듈 폴더를 설치 위치에 복사합니다. 설치된 모듈은 설치 후 자동으로 가져오지 않습니다.
지정된 모듈의 최소, 최대 및 정확한 버전에 따라 설치된 모듈을 필터링할 수 있습니다.
설치 중인 모듈의 이름이나 버전이 같거나 기존 모듈에 명령이 포함된 경우 경고 메시지가 표시됩니다. 모듈을 설치하고 경고를 재정의하려는 경우 및 -AllowClobber
매개 변수를 -Force
사용합니다. 리포지토리 설정에 따라 모듈 설치를 계속하라는 프롬프트에 응답해야 할 수 있습니다.
모듈 버전 번호를 사용하는 매개 변수는 버전 번호로 형식이 지정된 문자열을 예상합니다.
- 표준 버전 번호는 x, y 및 z가
x.y.z
숫자인 형식입니다. - 시험판 버전에는 의 형식
x.y.z-<prerelease_label>
이 있습니다. 여기서<prerelease_label>
은 해당 릴리스에 할당된 임의의 문자열입니다.
이러한 예제에서는 PowerShell 갤러리 유일한 등록된 리포지토리로 사용합니다. Get-PSRepository
는 등록된 리포지토리를 표시합니다. 등록된 리포지토리가 여러 대 있는 경우 매개 변수를 -Repository
사용하여 리포지토리의 이름을 지정합니다.
예제
예제 1: 모듈 찾기 및 설치
이 예제에서는 리포지토리에서 모듈을 찾아서 모듈을 설치합니다.
Find-Module -Name PowerShellGet | Install-Module
는 Find-Module
Name 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. 기본적으로 최신 버전의 모듈은 리포지토리에서 다운로드됩니다. 개체가 파이프라인 아래로 cmdlet으로 Install-Module
전송됩니다. Install-Module
는 의 모든 사용자에 대한 모듈을 설치합니다 $env:ProgramFiles\PowerShell\Modules
.
예제 2: 이름으로 모듈 설치
이 예제에서는 최신 버전의 PowerShellGet 모듈이 설치됩니다.
Install-Module -Name PowerShellGet
는 Install-Module
Name 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. 기본적으로 최신 버전의 모듈은 리포지토리에서 다운로드되어 설치됩니다.
예제 3: 최소 버전을 사용하여 모듈 설치
이 예제에서는 PowerShellGet 모듈의 최소 버전이 설치됩니다. MinimumVersion 매개 변수는 설치해야 하는 모듈의 가장 낮은 버전을 지정합니다. 최신 버전의 모듈을 사용할 수 있는 경우 해당 버전이 다운로드되어 모든 사용자에 대해 설치됩니다.
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
는 Install-Module
Name 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. MinimumVersion 매개 변수는 버전 2.0.1이 리포지토리에서 다운로드되고 설치되도록 지정합니다. 버전 2.0.4 를 사용할 수 있으므로 해당 버전은 모든 사용자에 대해 다운로드되고 설치됩니다.
예제 4: 특정 버전의 모듈 설치
이 예제에서는 특정 버전의 PowerShellGet 모듈이 설치됩니다.
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
는 Install-Module
Name 매개 변수를 사용하여 PowerShellGet 모듈을 지정합니다. RequiredVersion 매개 변수는 버전 2.0.0이 모든 사용자에 대해 다운로드되고 설치되도록 지정합니다.
예제 5: 현재 사용자에 대해서만 모듈 설치
다음은 현재 사용자에 대해서만 최신 버전의 모듈을 다운로드하여 설치하는 예제입니다.
Install-Module -Name PowerShellGet -Scope CurrentUser
는 Install-Module
Name 매개 변수를 사용하여 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
컴퓨터의 기존 명령에 대한 설치 충돌에 대한 경고 메시지를 재정의합니다.
모듈에서 설치하는 명령과 이름이 같은 기존 명령을 덮어씁니다.
AllowClobber 및 Force 는 명령에서 Install-Module
함께 사용할 수 있습니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
시험판으로 표시된 모듈을 설치할 수 있습니다.
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
모듈을 설치하고 모듈 설치 충돌에 대한 경고 메시지를 재정의합니다. 컴퓨터에 이름이 같은 모듈이 이미 있는 경우 Force 를 사용하면 여러 버전을 설치할 수 있습니다. 이름과 버전이 같은 기존 모듈이 있는 경우 강제 적용은 해당 버전을 덮어씁니다. Force 및 AllowClobber 는 명령에서 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을 사용할 수 없습니다. MaximumVersion 및 RequiredVersion은 동일한 Install-Module
명령에서 사용할 수 없습니다.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinimumVersion
설치할 단일 모듈의 최소 버전을 지정합니다. 설치된 버전은 MinimumVersion보다 크거나 같아야 합니다. 사용 가능한 최신 버전의 모듈이 있는 경우 최신 버전이 설치됩니다. 여러 모듈을 설치하려는 경우 MinimumVersion을 사용할 수 없습니다.
MinimumVersion 및 RequiredVersion은 동일한 Install-Module
명령에서 사용할 수 없습니다.
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
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
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: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
모듈의 설치 범위를 지정합니다. 이 매개 변수에 허용되는 값은 AllUsers 및 CurrentUser입니다.
AllUsers scope 컴퓨터의 모든 사용자가 액세스할 수 있는 위치에 모듈을 설치합니다.
$env:ProgramFiles\PowerShell\Modules
CurrentUser는 컴퓨터의 현재 사용자만 액세스할 수 있는 위치에 모듈을 설치합니다. 예:
$HOME\Documents\PowerShell\Modules
범위가 정의되지 않은 경우 기본값은 PowerShellGet 버전에 따라 설정됩니다.
- PowerShellGet 1.x 버전에서 기본값은 AllUsers이며 설치를 위해 권한 상승이 필요합니다.
- PowerShellGet 버전 2.0.0 이상의 경우 PowerShell 6 이상:
- 기본값은 CurrentUser이며 설치를 위해 권한 상승이 필요하지 않습니다.
- 관리자 권한 세션에서 실행하는 경우 기본값은 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 |
입력
PSRepositoryItemInfo
Find-Module
는 파이프라인 아래로 보낼 수 있는 PSRepositoryItemInfo 개체를 Install-Module
만듭니다.
String[]
PSObject[]
출력
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
또한 모듈 게시자가 요구하는 대로 지정된 종속 모듈을 설치합니다.
게시자는 모듈 매니페스트에 필요한 모듈 및 해당 버전을 나열합니다.
관련 링크
PowerShellGet