Windows PowerShell 드라이브는 Windows Powershell에서 파일 시스템 드라이브처럼 액세스할 수 있는 데이터 저장소 위치입니다. Windows PowerShell 드라이브에는 파일 시스템 드라이브(C: 및 D:), 레지스트리 드라이브(HKCU: 및 HKLM:) 및 인증서 드라이브(Cert:)와 같이 Windows PowerShell 공급자가 자동으로 만드는 드라이브와 사용자가 직접 만드는 드라이브가 있습니다. 이러한 드라이브는 매우 유용하지만 Windows PowerShell 내에서만 사용할 수 있고 Windows 탐색기나 Cmd.exe와 같은 다른 Windows 도구를 사용하여 액세스할 수 없습니다.

Windows PowerShell에서는 Windows PowerShell 드라이브에 사용되는 명령에 명사 PSDrive를 사용합니다. Windows PowerShell 세션에 있는 Windows PowerShell 드라이브의 목록을 보려면 Get-PSDrive cmdlet을 사용하십시오.

PS> Get-PSDrive

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
Alias      Alias
C          FileSystem    C:\                                 ...And Settings\me
cert       Certificate   \
D          FileSystem    D:\
Env        Environment
Function   Function
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE
Variable   Variable

위에 나온 드라이브는 사용자 시스템의 드라이브와 다르지만 Get-PSDrive 명령이 출력하는 내용은 위와 유사합니다.

파일 시스템 드라이브는 Windows PowerShell 드라이브의 하위 집합입니다. 파일 시스템 드라이브는 Provider 열의 FileSystem 항목으로 식별할 수 있습니다. Windows PowerShell의 파일 시스템 드라이브는 PowerShell 파일 시스템 공급자에 의해 지원됩니다.

Get-PSDrive cmdlet의 구문을 보려면 다음과 같이 Syntax 매개 변수와 함께 Get-Command 명령을 입력하십시오.

PS> Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>] 

PSProvider 매개 변수를 사용하면 특정 공급자가 지원하는 Windows PowerShell 드라이브만 표시할 수 있습니다. 예를 들어 Windows PowerShell 파일 시스템 공급자가 지원하는 Windows PowerShell 드라이브만 표시하려면 다음과 같이 PSProvider 매개 변수 및 FileSystem 값과 함께 Get-PSDrive 명령을 입력하십시오.

PS> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
C          FileSystem    C:\                           ...nd Settings\PowerUser
D          FileSystem    D:\

레지스트리 하이브를 나타내는 Windows PowerShell 드라이브를 보려면 다음과 같이 PSProvider 매개 변수를 사용하여 Windows PowerShell 레지스트리 공급자가 지원하는 Windows PowerShell 드라이브만 표시하십시오.

PS> Get-PSDrive -PSProvider Registry

Name Provider Root CurrentLocation

---- -------- ---- ---------------

HKCU Registry HKEY_CURRENT_USER

HKLM Registry HKEY_LOCAL_MACHINE

또한 다음과 같이 Windows PowerShell 드라이브에 표준 Location cmdlet을 사용할 수도 있습니다.

PS> Set-Location HKLM:\SOFTWARE

PS> Push-Location .\Microsoft

PS> Get-Location

Path

----

HKLM:\SOFTWARE\Microsoft

새 Windows PowerShell 드라이브 추가(New-PSDrive)

New-PSDrive 명령을 사용하여 사용자 고유의 Windows PowerShell 드라이브를 추가할 수 있습니다. New-PSDrive 명령의 구문을 보려면 Syntax 매개 변수와 함께 Get-Command 명령을 입력하십시오.

PS> Get-Command -Name New-PSDrive -Syntax
New-PSDrive [-Name] <String> [-PSProvider] <String> [-Root] <String> [-Descript
ion <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug
] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St
ring>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

새 Windows PowerShell 드라이브를 만들려면 다음과 같은 세 개의 매개 변수를 제공해야 합니다.

  • 드라이브 이름(임의의 유효한 Windows PowerShell 이름을 사용할 수 있음)

  • PSProvider(파일 시스템 위치의 경우 "FileSystem"을 사용하고 레지스트리 위치의 경우 "Registry"를 사용함)

  • 루트, 즉 새 드라이브의 루트 경로

예를 들어 사용자 시스템에서 C:\Program Files\Microsoft Office\OFFICE11 응용 프로그램이 들어 있는 폴더에 매핑되는 "Office"라는 드라이브를 만들 수 있습니다. 이 드라이브를 만들려면 다음 명령을 입력하십시오.

PS> New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Micr
osoft Office\OFFICE11"

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...
참고:

일반적으로 경로는 대/소문자를 구분하지 않습니다.

모든 Windows PowerShell 드라이브와 마찬가지로 새 Windows PowerShell 드라이브는 뒤에 콜론(:)이 오는 이름으로 참조됩니다.

Windows PowerShell 드라이브에서는 다양한 작업을 훨씬 더 쉽게 수행할 수 있습니다. 예를 들어 Windows 레지스트리에 있는 가장 중요한 키 중 일부는 경로가 매우 길어 액세스하거나 기억하기 어려울 수 있습니다. 즉, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion 아래에는 중요한 구성 정보가 있습니다. CurrentVersion 레지스트리 키에 있는 항목을 보고 변경하려면 다음과 같이 입력하여 이 키를 루트로 하는 Windows PowerShell 드라이브를 만들면 됩니다.

PS> New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\W

indows\CurrentVersion

Name Provider Root CurrentLocation

---- -------- ---- ---------------

cvkey Registry HKLM\Software\Microsoft\Windows\...

그런 다음 다른 드라이브에서와 마찬가지로 위치를 cvkey: 드라이브로 변경할 수 있습니다.

PS> cd cvkey:

또는

PS> Set-Location cvkey: -PassThru

Path

----

cvkey:\

New-PsDrive cmdlet은 현재 Windows PowerShell 세션에만 새 드라이브를 추가합니다. Windows PowerShell 창을 닫으면 새 드라이브는 손실됩니다. Windows PowerShell 드라이브를 저장하려면 Export-Console cmdlet을 사용하여 현재 Windows PowerShell 세션을 내보낸 다음 PowerShell.exe의 PSConsoleFile 매개 변수를 사용하여 가져오십시오. 또는 Windows PowerShell 프로필에 새 드라이브를 추가하십시오.

Windows PowerShell 드라이브 삭제(Remove-PSDrive)

Remove-PSDrive cmdlet을 사용하여 Windows PowerShell에서 드라이브를 삭제할 수 있습니다. Remove-PSDrive cmdlet은 사용이 간편하기 때문에 특정 Windows PowerShell 드라이브를 삭제하려면 Windows PowerShell 드라이브 이름만 제공하면 됩니다.

예를 들어 New-PSDrive 항목에서 설명한 대로 Office: Windows PowerShell 드라이브를 추가한 경우 다음과 같이 입력하여 이 드라이브를 삭제할 수 있습니다.

PS> Remove-PSDrive -Name Office

cvkey: Windows PowerShell 드라이브를 삭제하려면 마찬가지로 New-PSDrive 항목에서 설명한 대로 다음 명령을 사용하십시오.

PS> Remove-PSDrive -Name cvkey

Windows PowerShell 드라이브는 쉽게 삭제할 수 있지만 해당 드라이브가 현재 위치인 경우에는 삭제할 수 없습니다. 예를 들면 다음과 같습니다.

PS> cd office:
PS Office:\> remove-psdrive -name office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ remove-psdrive  <<<< -name office

Windows PowerShell 외부의 드라이브 추가 또는 제거

Windows PowerShell은 매핑된 네트워크 드라이브, 연결된 USB 드라이브 및 net use 명령 또는 WSH(Windows 스크립트 호스트) 스크립트의 WScript.Network MapNetworkDriveRemoveNetworkDrive 메서드를 사용하여 삭제한 드라이브를 비롯한 Windows에서 추가하거나 제거한 파일 시스템 드라이브를 검색합니다.




목차