about_Providers
업데이트 날짜: 2014년 5월
적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
항목
about_Providers
간단한 설명
Windows PowerShell 공급자가 명령줄에서 쉽게 액세스할 수 없는 데이터 및 구성 요소에 대한 액세스를 제공하는 방법을 설명합니다. 데이터는 파일 시스템 드라이브와 비슷한 일관된 형식으로 제공됩니다.
자세한 설명
Windows PowerShell 공급자는 사용자가 데이터를 보고 관리할 수 있도록 특수 데이터 저장소의 데이터를 Windows PowerShell에서 사용할 수 있게 설정하는 Microsoft .NET Framework 기반 프로그램입니다.
공급자가 노출하는 데이터는 드라이브에 나타나고 하드 디스크 드라이브에서 액세스하는 것처럼 경로의 데이터에 액세스할 수 있습니다. 공급자가 지원하는 기본 제공 cmdlet을 사용하여 공급자 드라이브에서 데이터를 관리할 수 있습니다. 또한 데이터 전용으로 디자인된 사용자 지정 cmdlet을 사용할 수 있습니다.
공급자는 동적 매개 변수를 기본 제공 cmdlet에 추가할 수도 있습니다. 이들 매개 변수는 cmdlet을 공급자 데이터와 함께 사용할 때만 사용할 수 있습니다.
기본 제공 공급자
Windows PowerShell에는 다양한 데이터 저장소 형식에 액세스하는 데 사용할 수 있는 기본 제공 공급자 집합이 포함됩니다.
Provider Drive Data store
-------- ----- ----------
Alias Alias: Windows PowerShell aliases
Certificate Cert: x509 certificates for digital signatures
Environment Env: Windows environment variables
FileSystem * File system drives, directories, and files
Function Function: Windows PowerShell functions
Registry HKLM:, HKCU: Windows registry
Variable Variable: Windows PowerShell variables
WSMan WSMan: WS-Management configuration information
* FileSystem 드라이브는 시스템별로 달라집니다.
고유한 Windows PowerShell 공급자를 만들 수도 있고 다른 사람이 개발하는 공급자를 설치할 수 있습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 다음을 입력합니다.
get-psprovider
공급자 설치 및 제거
Windows PowerShell 공급자는 .dll 파일로 컴파일되는 .NET Framework 기반 프로그램인 Windows PowerShell 스냅인으로 제공됩니다. 스냅인에는 공급자와 cmdlet이 포함될 수 있습니다.
공급자 기능을 사용하기 전에 스냅인을 설치하고 Windows PowerShell 세션에 추가해야 합니다. 자세한 내용은 about_PSSnapins를 참조하세요.
공급자에 대한 Windows PowerShell 스냅인은 현재 세션에서 제거할 수 있지만 공급자는 제거할 수 없습니다. 스냅인을 제거하면 해당 cmdlet을 포함한 모든 스냅인 콘텐츠가 제거됩니다.
Remove-PSDrive cmdlet을 사용하여 현재 세션에서 드라이브를 제거할 수도 있습니다. 이 데이터는 드라이브에 영향을 주지 않지만 해당 세션에서 더 이상 드라이브를 사용할 수 없습니다.
공급자 보기
컴퓨터에서 Windows PowerShell 공급자를 보려면 다음을 입력합니다.
get-psprovider
출력에는 기본 제공 공급자 및 세션에 추가한 공급자가 나열됩니다.
공급자 CMDLET
다음 cmdlet은 공급자를 통해 노출되는 데이터를 사용하도록 디자인되었습니다. 같은 cmdlet을 같은 방식으로 사용하여 공급자가 노출하는 다양한 데이터 형식을 관리할 수 있습니다. 한 공급자의 데이터를 관리하는 방법을 알고 나면 모든 공급자의 데이터에서 같은 절차를 사용할 수 있습니다.
예를 들어 New-Item cmdlet은 새 항목을 만듭니다. FileSystem 공급자가 지원하는 C: 드라이브에서 New-Item을 사용하여 새 파일이나 폴더를 만들 수 있습니다. Registry 공급자가 지원하는 드라이브에서 New-Item을 사용하여 새 레지스트리 키를 만들 수 있습니다. Alias: 드라이브에서 New-Item을 사용하여 새 별칭을 만들 수 있습니다.
다음 cmdlet에 대한 자세한 내용을 보려면 다음을 입력합니다.
get-help <cmdlet-name> -detailed
CHILDITEM CMDLET
Get-ChildItem
CONTENT CMDLET
Add-Content
Clear-Content
Get-Content
Set-Content
ITEM CMDLET
Clear-Item
Copy-Item
Get-Item
Invoke-Item
Move-Item
New-Item
Remove-Item
Rename-Item
Set-Item
ITEMPROPERTY CMDLET
Clear-ItemProperty
Copy-ItemProperty
Get-ItemProperty
Move-ItemProperty
New-ItemProperty
Remove-ItemProperty
Rename-ItemProperty
Set-ItemProperty
LOCATION CMDLET
Get-Location
Pop-Location
Push-Location
Set-Location
PATH CMDLET
Join-Path
Convert-Path
Split-Path
Resolve-Path
Test-Path
PSDRIVE CMDLET
Get-PSDrive
New-PSDrive
Remove-PSDrive
PSPROVIDER CMDLET
Get-PSProvider
공급자 데이터 보기
공급자의 주요 이점은 공급자가 친숙하고 일관된 방법으로 데이터를 노출한다는 것입니다. 데이터 제공 모델은 파일 시스템 드라이브입니다.
공급자가 노출하는 데이터를 사용하기 위해 하드 드라이브에 있던 데이터라도 데이터를 보고 이동하고 변경합니다. 따라서 공급자에 대한 가장 중요한 정보는 공급자가 지원하는 드라이브의 이름입니다.
드라이브는 Get-PSProvider cmdlet의 기본 표시에 나열되지만 Get-PSDrive cmdlet을 사용하여 공급자 드라이브 정보를 가져올 수 있습니다. 예를 들어 Function: drive의 모든 속성을 가져오려면 다음을 입력합니다.
get-psdrive Function | format-list *
파일 시스템 드라이브에서 보고 이동하는 것처럼 공급자 드라이브의 데이터를 보고 이동할 수 있습니다.
공급자 드라이브의 콘텐츠를 보려면 Get-Item 또는 Get-ChildItem cmdlet을 사용합니다. 드라이브 이름을 입력하고 그 뒤에 콜론(:)을 입력합니다. 예를 들어 Alias: 드라이브의 콘텐츠를 보려면 다음을 입력합니다.
get-item alias:
경로에 드라이브 이름을 포함하여 드라이브의 데이터를 또 다른 드라이브에서 보고 관리할 수 있습니다. 예를 들어 HKLM: 드라이브의 HKLM\Software 레지스트리 키를 또 다른 드라이브에서 보려면 다음을 입력합니다.
get-childitem hklm:\software
드라이브를 열려면 Set-Location cmdlet을 사용합니다. 드라이브 경로를 지정할 때 콜론을 추가해야 합니다. 예를 들어 위치를 Cert: 드라이브의 루트 디렉터리로 변경하려면 다음을 입력합니다.
set-location cert:
그다음에 Cert: 드라이브의 콘텐츠를 보려면 다음을 입력합니다.
get-childitem
계층적 데이터 이동
하드 디스크 드라이브를 이동하는 것처럼 공급자 드라이브를 이동할 수 있습니다. 데이터가 항목 내의 항목 계층 구조로 정렬되면 백슬래시(\)를 사용하여 자식 항목을 표시합니다. 다음 형식을 사용합니다.
drive:\location\child-location\...
예를 들어 위치를 HKLM\Software 레지스트리 키로 변경하려면 다음과 같이 Set-Location 명령을 입력합니다.
set-location hklm:\software
위치에 대한 상대 참조를 사용할 수도 있습니다. 마침표(.)는 현재 위치를 나타냅니다. 예를 들어 HKLM:\Software\Microsoft 레지스트리 키에서 HKLM:\Software\Microsoft\PowerShell 키의 레지스트리 하위 키를 나열하려면 다음 명령을 입력합니다.
get-childitem .\PowerShell
동적 매개 변수 찾기
동적 매개 변수는 공급자를 통해 cmdlet에 추가된 cmdlet 매개 변수입니다. 매개 변수를 추가한 공급자와 함께 cmdlet을 사용할 때만 이들 매개 변수를 사용할 수 있습니다.
예를 들어 Cert: 드라이브는 CodeSigningCert 매개 변수를 Get-Item 및 Get-ChildItem cmdlet에 추가합니다. Cert: 드라이브에서 Get-Item 또는 Get-ChildItem을 사용할 때만 이 매개 변수를 사용할 수 있습니다.
공급자가 지원하는 동적 매개 변수 목록을 보려면 공급자에 대한 도움말 파일을 참조하세요. 다음을 입력합니다.
get-help <provider-name>
예를 들면 다음과 같습니다.
get-help certificate
공급자 알아보기
모든 공급자 데이터가 드라이브에 나타나고 같은 메서드를 사용하여 데이터를 이동하지만 비슷한 점은 여기까지입니다. 공급자가 노출하는 데이터 저장소는 Active Directory 위치 및 Microsoft Exchange Server 사서함에 따라 달라질 수 있습니다.
개별 Windows PowerShell 공급자에 대한 자세한 내용을 보려면 다음을 입력합니다.
get-help <ProviderName>
예를 들면 다음과 같습니다.
get-help registry
공급자에 대한 도움말 항목 목록을 보려면 다음을 입력합니다.
get-help * -category provider
참고 항목
about_Locations
about_Path_Syntax