다음을 통해 공유


Get-PSDrive

현재 세션의 드라이브를 가져옵니다.

구문

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]

Description

cmdlet은 Get-PSDrive 현재 세션의 드라이브를 가져옵니다. 특정 드라이브를 가져오거나 세션의 모든 드라이브를 가져올 수 있습니다.

이 cmdlet은 다음과 같은 유형의 드라이브를 가져옵니다.

  • 네트워크 공유에 매핑된 드라이브를 포함하여 컴퓨터의 Windows 논리 드라이브입니다.
  • PowerShell 공급자(예: Certificate:, Function:, Alias: drives) 및 HKLM: 및 HKCU: Windows PowerShell 레지스트리 공급자가 노출하는 드라이브에 의해 노출되는 드라이브입니다.
  • New-PSDrive cmdlet을 사용하여 만든 세션 지정 임시 드라이브 및 영구 매핑된 네트워크 드라이브입니다.

Windows PowerShell 3.0부터 cmdlet의 New-PSDrive Persist 매개 변수는 로컬 컴퓨터에 저장되고 다른 세션에서 사용할 수 있는 매핑된 네트워크 드라이브를 만들 수 있습니다. 자세한 내용은 New-PSDrive를 참조하세요.

또한 Windows PowerShell 3.0부터 외부 드라이브가 컴퓨터에 연결되면 Windows PowerShell은 새 드라이브를 나타내는 파일 시스템에 PSDrive를 자동으로 추가합니다. Windows PowerShell을 다시 시작하지 않아도 됩니다. 마찬가지로 컴퓨터에서 외부 드라이브의 연결이 끊어지면 Windows PowerShell은 제거된 드라이브를 나타내는 PSDrive를 자동으로 삭제합니다.

예제

예제 1: 현재 세션에서 드라이브 가져오기

PS C:\> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 202.06      23718.91 FileSystem    C:\
Cert                                   Certificate   \
D                1211.06     123642.32 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable

이 명령은 현재 세션에서 드라이브를 가져옵니다.

출력은 하드 드라이브(C:), CD-ROM 드라이브(D:) 및 Windows PowerShell 공급자(별칭:, Cert:, Env:, Function:, HKCU:, HKLM:, Variable:)에서 노출하는 드라이브를 보여 줍니다.

예제 2: 컴퓨터에서 드라이브 가져오기

PS C:\foo> Get-PSDrive D

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
D                1211.06     123642.32 FileSystem    D:\

이 명령은 컴퓨터에서 D: 드라이브를 가져옵니다. 여기서는 명령의 드라이브 문자 다음에 콜론이 붙는 형태입니다.

예제 3: Windows PowerShell 파일 시스템 공급자가 지원하는 모든 드라이브 가져오기

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead

이 명령은 Windows PowerShell FileSystem 공급자가 지원하는 모든 드라이브를 가져옵니다. 여기에는 New-PSDrive cmdlet을 사용하여 만든 고정 드라이브, 논리 파티션, 매핑된 네트워크 드라이브 및 임시 드라이브가 포함됩니다.

예제 4: 드라이브가 Windows PowerShell 드라이브 이름으로 사용되고 있는지 확인

if (Get-PSDrive X -ErrorAction SilentlyContinue) {
    Write-Host 'The X: drive is already in use.'
} else {
    New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}

이 명령은 X 드라이브가 이미 Windows PowerShell 드라이브 이름으로 사용되고 있는지 확인합니다. 그렇지 않은 경우 명령은 cmdlet을 New-PSDrive 사용하여 HKLM:\SOFTWARE 레지스트리 키에 매핑되는 임시 드라이브를 만듭니다.

예제 5: 파일 시스템 드라이브 유형 비교

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead
X                                      Registry      HKLM:\Network

PS C:\> net use
New connections will be remembered.
Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           G:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives() | Format-Table
Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace TotalSize     RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ -------------- ---------     ------------- -----------
A:\    Network               False                                                 A:\
C:\      Fixed NTFS          True  771920580608       771920580608   988877418496  C:\           Windows
D:\      Fixed NTFS          True  689684144128       689684144128   1990045179904 D:\           Big Drive
E:\      CDRom               False                                                 E:\
G:\    Network NTFS          True      69120000           69120000       104853504 G:\           GratefulDead

PS N:\> Get-CimInstance -Class Win32_LogicalDisk

DeviceID DriveType ProviderName   VolumeName         Size          FreeSpace
-------- --------- ------------   ----------         ----          ---------
A:       4
C:       3                        Windows            988877418496  771926069248
D:       3                        Big!              1990045179904  689684144128
E:       5
G:       4         \\Music\GratefulDead              988877418496  771926069248


PS C:\> Get-CimInstance -Class Win32_NetworkConnection
LocalName RemoteName            ConnectionState Status
--------- ----------            --------------- ------
G:        \\Music\GratefulDead  Connected       OK

이 예제에서는 표시되는 Get-PSDrive 파일 시스템 드라이브의 형식을 다른 메서드를 사용하여 표시되는 드라이브와 비교합니다. 이 예제에서는 Windows PowerShell에서 드라이브를 표시하는 다양한 방법을 보여 줍니다. New-PSDrive cmdlet을 사용하여 만든 세션별 드라이브는 Windows PowerShell에서만 액세스할 수 있음을 보여 줍니다.

첫 번째 명령은 세션의 모든 파일 시스템 드라이브를 가져오는 데 사용합니다 Get-PSDrive . 여기에는 고정 드라이브(C: 및 D:), Persist 매개 변수를 사용하여 만든 매핑된 네트워크 드라이브(G:) 및 Persist 매개 변수 New-PSDrive없이 사용하여 New-PSDrive 만든 PowerShell 드라이브(T:)가 포함됩니다.

net use 명령은 Windows 매핑된 네트워크 드라이브를 표시합니다. 이 경우 G 드라이브만 표시합니다. 에서 만든 New-PSDriveX: 드라이브는 표시되지 않습니다. G: 드라이브도 \\Music\GratefulDead에 매핑되어 있음을 보여줍니다.

세 번째 명령은 Microsoft .NET Framework System.IO.DriveInfo 클래스의 GetDrives 메서드를 사용합니다. 이 명령은 드라이브 G:를 포함하여 Windows 파일 시스템 드라이브를 가져오지만 New-PSDrive.

네 번째 명령은 cmdlet을 Get-CimInstance 사용하여 Win32_LogicalDisk 클래스의 인스턴스를 가져옵니다. A:, C:, D:, E:, G: 드라이브는 반환하지만 New-PSDrive.

마지막 명령은 cmdlet을 Get-CimInstance 사용하여 Win32_NetworkConnection 클래스의 인스턴스를 표시합니다. net use와 마찬가지로. 이 속성은 .에서 만든 New-PSDrive영구 G: 드라이브만 반환합니다.

매개 변수

-LiteralName

드라이브의 이름을 지정합니다.

LiteralName값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 이름에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 Windows PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

형식:String[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Name

문자열 배열로 이 cmdlet이 작업에 가져오는 드라이브의 이름 또는 이름을 지정합니다. 콜론(:)이 없는 드라이브 이름 또는 문자를 입력합니다.

형식:String[]
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PSProvider

문자열 배열로 Windows PowerShell 공급자를 지정합니다. 이 cmdlet은 이 공급자가 지원하는 드라이브만 가져옵니다. FileSystem, Registry 또는 Certificate와 같은 공급자의 이름을 입력합니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Scope

이 cmdlet이 드라이브를 가져오는 범위를 지정합니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 전역
  • Local
  • 스크립트
  • 현재 범위에 상대적인 숫자입니다(범위 수를 0부터 0까지, 여기서 0은 현재 범위이고 1은 부모입니다). "로컬"이 기본값입니다.

자세한 내용은 about_Scopes 참조하세요.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-UseTransaction

활성 트랜잭션에 명령을 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions 참조하세요.

형식:SwitchParameter
별칭:usetx
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

PSDriveInfo

이 cmdlet은 세션의 드라이브를 나타내는 개체를 반환합니다.

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Get-PSDrive

  • gdr

  • 이 cmdlet은 모든 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 cmdlet을 Get-PSProvider 사용합니다. 자세한 내용은 about_Providers 참조하세요.

  • New-PSDrive cmdlet의 Persist 매개 변수를 사용하여 만든 매핑된 네트워크 드라이브는 사용자 계정과 관련이 있습니다. 관리자 권한으로 실행 옵션 또는 다른 사용자의 자격 증명으로 시작하는 세션에서 만든 매핑된 네트워크 드라이브는 명시적 자격 증명이나 현재 사용자의 자격 증명 없이 시작된 세션에서 표시되지 않습니다.