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 MapNetworkDrive 및 RemoveNetworkDrive 메서드를 사용하여 삭제한 드라이브를 비롯한 Windows에서 추가하거나 제거한 파일 시스템 드라이브를 검색합니다.