New-PSDrive

항목 데이터 저장소의 위치와 연결된 임시 및 영구 드라이브를 만듭니다.

Syntax

New-PSDrive
   [-Name] <String>
   [-PSProvider] <String>
   [-Root] <String>
   [-Description <String>]
   [-Scope <String>]
   [-Persist]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

이 cmdlet은 New-PSDrive 네트워크 드라이브, 로컬 컴퓨터의 디렉터리 또는 레지스트리 키와 같은 데이터 저장소의 위치에 매핑되거나 연결된 임시 및 영구 드라이브와 원격 컴퓨터의 파일 시스템 위치와 연결된 영구 Windows 매핑된 네트워크 드라이브를 만듭니다.

임시 드라이브는 현재 PowerShell 세션 및 현재 세션에서 만든 세션에만 존재합니다. PowerShell에서 유효한 이름을 가질 수 있으며 로컬 또는 원격 리소스에 매핑할 수 있습니다. 매핑된 네트워크 드라이브와 마찬가지로 임시 PowerShell 드라이브를 사용하여 연결된 데이터 저장소의 데이터에 액세스할 수 있습니다. 사용 하 여 드라이브에 위치를 변경 하 고 사용 Get-Item 하거나 Get-ChildItem사용 하 여 Set-Location드라이브의 내용에 액세스할 수 있습니다.

임시 드라이브는 PowerShell에만 알려져 있으므로 파일 탐색기, WMI(Windows Management Instrumentation), COM(구성 요소 개체 모델), Microsoft .NET Framework 또는 같은 net use도구를 사용하여 액세스할 수 없습니다.

PowerShell 3.0에는 다음 기능이 추가 New-PSDrive 되었습니다.

  • 매핑된 네트워크 드라이브 Persist 매개 변수 New-PSDrive사용하여 Windows 매핑된 네트워크 드라이브를 만들 수 있습니다. 임시 PowerShell 드라이브와 달리 Windows 매핑된 네트워크 드라이브는 세션별 드라이브가 아닙니다. Windows에 저장되며 파일 탐색기 및 순 사용같은 표준 Windows 도구를 사용하여 관리할 수 있습니다. 매핑된 네트워크 드라이브에는 드라이브 문자 이름이 있어야 하며 원격 파일 시스템 위치에 연결되어야 합니다. 명령의 범위가 로컬로 지정되고 점 소싱이 없는 경우 Persist 매개 변수는 명령이 실행되는 범위를 벗어나는 PSDrive 만들기를 유지하지 않습니다. 스크립트 내에서 실행 New-PSDrive 중이고 드라이브가 무기한 유지되도록 하려면 스크립트의 원본을 지정해야 합니다. 최상의 결과를 얻으려면 새 드라이브가 무기한 유지되도록 하려면 Scope 매개 변수를 명령에 추가하고 해당 값을 Global설정합니다. 점 소싱에 대한 자세한 내용은 about_Scripts 참조하세요.
  • 외부 드라이브. 외부 드라이브가 컴퓨터에 연결되면 PowerShell은 새 드라이브를 나타내는 파일 시스템에 PSDrive를 자동으로 추가합니다. PowerShell을 다시 시작할 필요가 없습니다. 마찬가지로 컴퓨터에서 외부 드라이브의 연결이 끊어지면 PowerShell은 제거된 드라이브를 나타내는 PSDrive를 자동으로 삭제합니다.
  • UNC(유니버설 명명 규칙) 경로에 대한 자격 증명입니다.

Root 매개 변수의 값이 UNC 경로인 경우(예: \\Server\Share자격 증명 매개 변수 값에 지정된 자격 증명)를 사용하여 PSDrive만듭니다. 그렇지 않으면 새 파일 시스템 드라이브를 만들 때 자격 증명 이 유효하지 않습니다.

일부 코드 샘플은 스플래팅을 사용하여 줄 길이를 줄이고 가독성을 향상시킵니다. 자세한 내용은 about_Splatting 참조하세요.

참고 항목

범위 매개 변수를 사용하지 않는 한 명령이 실행되는 범위에서 PSDrive가 New-PSDrive 만들어집니다.

예제

예제 1: 네트워크 공유에 매핑된 임시 드라이브 만들기

이 예제에서는 네트워크 공유에 매핑된 임시 PowerShell 드라이브를 만듭니다.

New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\\Server01\Public"

Name       Provider      Root
----       --------      ----
Public     FileSystem    \\Server01\Public

New-PSDrive는 Name 매개 변수를 사용하여 명명된 Public PowerShell 드라이브와 PSProvider 매개 변수를 지정하여 PowerShell FileSystem 공급자를 지정합니다. 루트 매개 변수는 네트워크 공유의 UNC 경로를 지정합니다.

PowerShell 세션에서 콘텐츠를 보려면 다음을 수행합니다. Get-ChildItem -Path Public:

예제 2: 로컬 디렉터리에 매핑된 임시 드라이브 만들기

이 예제에서는 로컬 컴퓨터의 디렉터리에 대한 액세스를 제공하는 임시 PowerShell 드라이브를 만듭니다.

$parameters = @{
    Name = "MyDocs"
    PSProvider = "FileSystem"
    Root = "C:\Users\User01\Documents"
    Description = "Maps to my My Documents folder."
}
New-PSDrive @parameters

Name        Provider      Root
----        --------      ----
MyDocs      FileSystem    C:\Users\User01\Documents

스플래팅은 매개 변수 키와 값을 만듭니다. Name 매개 변수는 드라이브 이름 MyDocs를 지정합니다. PSProvider 매개 변수는 PowerShell FileSystem 공급자를 지정합니다. 루트 는 로컬 컴퓨터의 디렉터리를 지정합니다. Description 매개 변수는 드라이브의 용도를 설명합니다. New-PSDrive 는 스플래트된 매개 변수를 사용하여 드라이브를 만듭니다 MyDocs .

PowerShell 세션에서 콘텐츠를 보려면 다음을 수행합니다. Get-ChildItem -Path MyDocs:

예제 3: 레지스트리 키에 대한 임시 드라이브 만들기

이 예제에서는 레지스트리 키에 대한 액세스를 제공하는 임시 PowerShell 드라이브를 만듭니다. 레지스트리 키에 매핑 HKLM:\Software\MyCompany 되는 MyCompany라는 드라이브를 만듭니다.

New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"

Name           Provider      Root
----           --------      ----
MyCompany      Registry      HKLM:\Software\MyCompany

New-PSDrive는 Name 매개 변수를 사용하여 명명된 MyCompany PowerShell 드라이브와 PSProvider 매개 변수를 지정하여 PowerShell Registry 공급자를 지정합니다. 루트 매개 변수는 레지스트리 위치를 지정합니다.

PowerShell 세션에서 콘텐츠를 보려면 다음을 수행합니다. Get-ChildItem -Path MyCompany:

예제 4: 자격 증명을 사용하여 영구 매핑된 네트워크 드라이브 만들기

이 예제에서는 할 일기본 서비스 계정의 자격 증명으로 인증된 네트워크 드라이브를 매핑합니다. 자격 증명을 저장하는 PSCredential 개체 및 암호가 SecureString으로 저장되는 방법에 대한 자세한 내용은 자격 증명 매개 변수의 설명을 참조하세요.

$cred = Get-Credential -Credential Contoso\ServiceAccount
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem" -Credential $cred
Net Use

Status       Local     Remote                    Network
---------------------------------------------------------
OK           S:        \\Server01\Scripts        Microsoft Windows Network

참고 항목

스크립트에서 위의 코드 조각을 사용하는 경우 범위 매개 변수 값을 "전역"으로 설정하여 드라이브가 현재 범위를 벗어나도록 합니다.

변수는 $cred 서비스 계정의 자격 증명을 포함하는 PSCredential 개체를 저장합니다. Get-Credential 는 SecureString에 저장된 암호를 입력하라는 메시지를 표시합니다.

New-PSDrive 는 여러 매개 변수를 사용하여 매핑된 네트워크 드라이브를 만듭니다. 이름은 Windows에서 S 허용하는 드라이브 문자를 지정합니다. 루트는 원격 컴퓨터의 위치로 정의됩니다\\Server01\Scripts. Persist 는 로컬 컴퓨터에 저장된 Windows 매핑된 네트워크 드라이브를 만듭니다. PSProvider 는 공급자를 FileSystem 지정합니다. 자격 증명 은 변수를 $cred 사용하여 인증을 위한 서비스 계정 자격 증명을 가져옵니다.

매핑된 드라이브는 PowerShell 세션, 파일 탐색기 로컬 컴퓨터 및 순 사용과 같은 도구를 사용하여 볼 수 있습니다. PowerShell 세션에서 콘텐츠를 보려면 다음을 수행합니다. Get-ChildItem -Path S:

예제 5: 영구 및 임시 드라이브 만들기

이 예제에서는 영구 매핑된 네트워크 드라이브와 동일한 네트워크 공유에 매핑된 임시 PowerShell 드라이브 간의 차이점을 보여 있습니다.

PowerShell 세션을 닫은 다음 새 세션을 열면 임시 PSDrive: 세션을 사용할 수 없지만 영구 X: 드라이브를 사용할 수 있습니다. 네트워크 드라이브를 매핑하는 데 사용할 방법을 결정할 때 드라이브를 사용하는 방법을 고려합니다. 예를 들어 영구적이어야 하는지 여부 및 드라이브를 다른 Windows 기능에 표시해야 하는지 여부입니다.

# Create a temporary PowerShell drive called PSDrive:
# that's mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"

# Use the Persist parameter of New-PSDrive to create the X: mapped network drive,
# which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"

# Now, you can use the Get-PSDrive drive cmdlet to examine the two drives.
# The drives appear to be the same, although the network share name appears only
# in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"

Name       Provider      Root
----       --------      ----

PsDrive    FileSystem    \\Server01\public
X          FileSystem    X:\

# Get-Member cmdlet shows that the drives have the same object type,
# System.Management.Automation.PSDriveInfo.
Get-PSDrive "PSDrive", "x" | Get-Member

TypeName: System.Management.Automation.PSDriveInfo

Name                MemberType   Definition
----                ----------   ----------
CompareTo           Method       System.Int32 CompareTo(PSDriveInfo drive),
Equals              Method       System.Boolean Equals(Object obj),
GetHashCode         Method       System.Int32 GetHashCode()
...

# Net Use and Get-CimInstance for the Win32_LogicalDisk class,
# and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-CimInstance Win32_LogicalDisk | Format-Table -Property DeviceID
Get-CimInstance Win32_NetworkConnection

Status       Local     Remote                    Network
--------------------------------------------------------
OK           X:        \\contoso-pc\data         Microsoft Windows Network

deviceid
--------
C:
D:
X:

LocalName    RemoteName              ConnectionState          Status
---------    ----------              ---------------          ------
X:           \\products\public       Disconnected             Unavailable

예제 6: 스크립트에서 영구 드라이브 만들기

PSDrive는 명령이 실행되는 범위에서 New-PSDrive 만들어집니다. 명령이 스크립트 내에서 실행되면 드라이브 매핑은 스크립트에 로컬입니다. 스크립트가 종료되면 드라이브를 더 이상 사용할 수 없습니다.

New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public" -Scope Global

스크립트 외부에서 드라이브를 사용할 수 있도록 하려면 범위 매개 변수를 사용하여 전역 범위에서 드라이브를 만들어야 합니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

이 작업을 수행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

PowerShell 3.0부터 루트 매개 변수의 값이 UNC 경로인 경우 자격 증명을 사용하여 파일 시스템 드라이브를 만들 수 있습니다.

User01 또는 Do기본01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 생성된 PSCredential 개체를 Get-Credential 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString으로 저장됩니다.

참고 항목

SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?를 참조하세요.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Description

드라이브에 대한 간단한 텍스트 설명을 지정합니다. 문자열을 입력합니다.

모든 세션의 드라이브 Get-PSDrive | Format-Table Name, Description에 대한 설명을 보려면 .

특정 드라이브에 대한 설명을 보려면 .를 입력합니다 (Get-PSDrive <DriveName>).Description.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

새 드라이브의 이름을 지정합니다. 영구 매핑된 네트워크 드라이브의 경우 드라이브 문자를 사용합니다. 임시 PowerShell 드라이브의 경우 드라이브 문자로 제한되지 않으며 유효한 문자열을 사용합니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Persist

이 cmdlet은 Windows 매핑된 네트워크 드라이브를 만듭니다. Persist 매개 변수는 Windows에서만 사용할 수 있습니다.

매핑된 네트워크 드라이브는 로컬 컴퓨터의 Windows에 저장됩니다. 세션별이 아닌 영구적이며 파일 탐색기 및 기타 도구에서 보고 관리할 수 있습니다.

명령의 범위를 로컬로 지정하는 경우 점 소싱 없이 Persist 매개 변수는 명령을 실행하는 범위를 벗어나는 PSDrive 만들기를 유지하지 않습니다. 스크립트 내에서 실행하고 New-PSDrive 새 드라이브가 무기한 유지되도록 하려면 스크립트의 원본을 지정해야 합니다. 최상의 결과를 얻으려면 새 드라이브가 강제로 유지되도록 하려면 Global을 범위 매개 변수 값으로 지정하고 명령에 Persist를 포함합니다.

드라이브의 이름은 문자(예: D 또는 E.)여야 합니다. 루트 매개 변수의 값은 다른 컴퓨터의 UNC 경로여야 합니다. PSProvider 매개 변수의 값FileSystem.

Windows 매핑된 네트워크 드라이브의 연결을 끊려면 cmdlet을 Remove-PSDrive 사용합니다. Windows 매핑된 네트워크 드라이브의 연결을 끊으면 매핑이 현재 세션에서 삭제되는 것이 아니라 컴퓨터에서 영구적으로 삭제됩니다.

매핑된 네트워크 드라이브는 사용자 계정과 관련이 있습니다. 다른 사용자의 자격 증명을 사용하여 관리자 권한 세션 또는 세션에서 만든 매핑된 드라이브는 다른 자격 증명을 사용하여 시작된 세션에서 표시되지 않습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

이러한 종류의 드라이브를 지원하는 PowerShell 공급자를 지정합니다.

예를 들어 드라이브가 네트워크 공유 또는 파일 시스템 디렉터리에 연결된 경우 PowerShell 공급자는 다음과 같습니다 FileSystem. 드라이브가 레지스트리 키와 연결된 경우 공급자는 .입니다 Registry.

임시 PowerShell 드라이브는 모든 PowerShell 공급자와 연결할 수 있습니다. 매핑된 네트워크 드라이브는 공급자와 FileSystem 만 연결할 수 있습니다.

PowerShell 세션에서 공급자 목록을 보려면 cmdlet을 Get-PSProvider 사용합니다.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Root

PowerShell 드라이브가 매핑되는 데이터 저장소 위치를 지정합니다.

예를 들어 네트워크 공유(예: \\Server01\Public로컬 디렉터리 C:\Program Files) 또는 레지스트리 키(예: HKLM:\Software\Microsoft)를 지정합니다.

임시 PowerShell 드라이브는 지원되는 공급자 드라이브의 로컬 또는 원격 위치와 연결할 수 있습니다. 매핑된 네트워크 드라이브는 원격 컴퓨터의 파일 시스템 위치에만 연결할 수 있습니다.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Scope

드라이브의 범위를 지정합니다. 이 매개 변수에 허용되는 값은 전역, 로컬스크립트이거나 현재 범위에 상대적인 숫자입니다. 범위 수를 통해 0의 범위를 지정합니다. 현재 범위 번호는 0이고 부모는 1입니다. 자세한 내용은 about_Scopes 참조하세요.

Type:String
Position:Named
Default value:Local
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

None

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

출력

PSDriveInfo

이 cmdlet은 만든 드라이브를 나타내는 PSDriveInfo 개체를 반환합니다.

참고

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

  • 모든 플랫폼:
    • ndr
  • Windows:
    • mount

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

매핑된 네트워크 드라이브는 사용자 계정과 관련이 있습니다. 다른 사용자의 자격 증명을 사용하여 관리자 권한 세션 또는 세션에서 만든 매핑된 드라이브는 다른 자격 증명을 사용하여 시작된 세션에서 표시되지 않습니다.