PowerShell 갤러리 시작

PowerShell 갤러리는 다운로드하고 이용할 수 있는 스크립트, 모듈 및 DSC 리소스를 포함하는 패키지 리포지토리입니다. PowerShellGet 모듈에서 cmdlet을 사용하여 PowerShell 갤러리에서 패키지를 설치합니다. PowerShell 갤러리에서 항목을 다운로드하기 위해 로그인할 필요는 없습니다.

참고

패키지는 PowerShell 갤러리에서 직접 다운로드할 수 있지만 권장되는 방법이 아닙니다. 자세한 내용은 수동 패키지 다운로드를 참조하세요.

PowerShell 갤러리의 홈페이지에서 검색 컨트롤을 사용하거나 패키지 페이지에서 모듈 및 스크립트를 검색하여 PowerShell 갤러리에서 패키지를 찾을 수 있습니다. 패키지 유형에 따라 Find-Module, Find-DscResource, and Find-Script cmdlet을 -Repository PSGallery와 함께 사용하여 PowerShell 갤러리에서 패키지를 찾을 수도 있습니다.

다음 매개 변수를 사용하여 갤러리의 결과를 필터링할 수 있습니다.

  • 이름
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • 태그
  • Includes
  • DscResource
  • RoleCapability
  • 명령
  • 필터

갤러리에서 특정 DSC 리소스를 검색하는 데만 관심이 있는 경우 Find-DscResource cmdlet을 실행할 수 있습니다. Find-DscResource는 갤러리에 포함된 DSC 리소스에 대한 데이터를 반환합니다. DSC 리소스는 항상 모듈의 일부로 제공되기 때문에 여전히 Install-Module을 실행하여 이러한 DSC 리소스를 설치해야 합니다.

관심 있는 패키지를 찾았으면 자세히 알아보는 것이 좋습니다. 이렇게 하려면 갤러리에서 해당 패키지의 페이지를 살펴봅니다. 이 페이지에서 패키지와 함께 업로드된 메타데이터를 모두 볼 수 있습니다. 이 메타데이터는 패키지의 작성자가 제공하며 Microsoft에서 확인하지 않습니다. 패키지의 소유자는 패키지를 게시하는 데 사용되는 갤러리 계정에 강하게 연결되어 있으며 작성자 필드보다 더 신뢰할 수 있습니다.

좋은 의도로 게시되지 않은 것 같은 패키지를 발견할 경우 해당 패키지의 페이지에서 신고하기를 클릭합니다.

또는 Find-Script를 실행하는 Find-Module 경우 반환된 PSGetModuleInfo 개체에서 이 데이터를 볼 수 있습니다. 다음 예제에서는 갤러리의 PSReadLine 모듈에 대한 데이터를 반환합니다.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

PowerShell 갤러리에서 패키지를 다운로드하려면 다음 프로세스를 사용하는 것이 좋습니다.

검사

검사를 위해 갤러리에서 패키지를 다운로드하려면 패키지 유형에 따라 Save-Module 또는 Save-Script cmdlet을 실행합니다. 이렇게 하면 설치하지 않고 로컬에 패키지를 저장한 다음 패키지 내용을 검사할 수 있습니다. 저장된 패키지는 수동으로 삭제해야 합니다.

이러한 패키지 중 일부는 Microsoft에서 작성되었으며 다른 항목은 PowerShell 커뮤니티에서 작성되었습니다. 설치 전에 이 갤러리에 있는 패키지의 내용과 코드를 검토하는 것이 좋습니다.

좋은 의도로 게시되지 않은 것 같은 패키지를 발견할 경우 해당 패키지의 페이지에서 신고하기를 클릭합니다.

설치

사용을 위해 갤러리에서 패키지를 설치하려면 패키지 유형에 따라 Install-Module 또는 Install-Script cmdlet을 실행합니다.

Install-Module은 기본적으로 $env:ProgramFiles\WindowsPowerShell\Modules에 모듈을 설치합니다. 이 경우 관리자 계정이 필요합니다. -Scope CurrentUser 매개 변수를 추가하는 경우 모듈은 $HOME\Documents\WindowsPowerShell\Modules에 설치됩니다.

Install-Script는 기본적으로 $env:ProgramFiles\WindowsPowerShell\Scripts에 스크립트를 설치합니다. 이 경우 관리자 계정이 필요합니다. -Scope CurrentUser 매개 변수를 추가하는 경우 스크립트는 $HOME\Documents\WindowsPowerShell\Scripts에 설치됩니다.

기본적으로 Install-ModuleInstall-Script는 최신 버전의 패키지를 설치합니다. 이전 버전의 패키지를 설치하려면 -RequiredVersion 매개 변수를 추가합니다.

배포

PowerShell 갤러리의 패키지를 Azure Automation에 배포하려면 Azure Automation을 클릭한 후 패키지 세부 정보 페이지에서 Azure Automation에 배포를 클릭합니다. Azure 관리 포털로 리디렉션되며, 여기서 Azure 계정 자격 증명을 사용하여 로그인합니다. 종속성과 함께 패키지를 배포하면 모든 종속성이 Azure Automation에 배포됩니다. 패키지 메타데이터에 AzureAutomationNotSupported 태그를 추가하면 Azure Automation에 배포 단추를 해제할 수 있습니다.

Azure Automation에 대한 자세한 내용은 Azure Automation 설명서를 참조하세요.

PowerShell 갤러리에서 설치된 패키지를 업데이트하려면 Update-Module 또는 Update-Script cmdlet을 실행합니다. 추가 매개 변수 없이 실행하면 Update-ModuleInstall-Module을 실행하여 설치된 모든 모듈을 업데이트하려고 합니다. 모듈을 선택적으로 업데이트하려면 -Name 매개 변수를 추가합니다.

마찬가지로, 추가 매개 변수 없이 실행하면 Update-ScriptInstall-Script를 실행하여 설치된 모든 스크립트를 업데이트하려고 합니다. 스크립트를 선택적으로 업데이트하려면 -Name 매개 변수를 추가합니다.

PowerShell 갤러리에서 설치한 모듈을 찾으려면 Get-InstalledModule cmdlet을 실행합니다. 이 명령은 PowerShell 갤러리에서 직접 설치된 시스템의 모듈을 모두 나열합니다.

마찬가지로, PowerShell 갤러리에서 설치한 스크립트를 찾으려면 Get-InstalledScript cmdlet을 실행합니다. 이 명령은 PowerShell 갤러리에서 직접 설치된 시스템의 스크립트를 모두 나열합니다.

이러한 호스트 이름은 네트워크 액세스를 제어하는 허용 목록에 추가해야 합니다.

패키지 검색 및 다운로드에 필요한 호스트:

  • onegetcdn.azureedge.net - CDN 호스트 이름

PowerShell 갤러리 웹 사이트를 사용할 때 필요한 호스트:

  • devopsgallerystorage.blob.core.windows.net - 스토리지 계정 호스트 이름
  • *.powershellgallery.com - 웹 사이트
  • go.microsoft.com - 리디렉션 서비스

중요

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

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

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