Bagikan melalui


Get-PSDrive

Mendapatkan drive dalam sesi saat ini.

Sintaks

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

Deskripsi

Get-PSDrive Cmdlet mendapatkan drive dalam sesi saat ini. Anda bisa mendapatkan drive tertentu atau semua drive dalam sesi.

Cmdlet ini mendapatkan jenis drive berikut:

  • Kandar logis Windows pada komputer, termasuk kandar yang dipetakan ke berbagi jaringan.
  • Drive yang diekspos oleh penyedia PowerShell (seperti Sertifikat:, Fungsi:, dan Alias: drive) dan HKLM: dan HKCU: drive yang diekspos oleh penyedia Windows PowerShell Registry.
  • Drive sementara yang ditentukan sesi dan drive jaringan yang dipetakan persisten yang Anda buat dengan menggunakan cmdlet New-PSDrive.

Dimulai di Windows PowerShell 3.0, parameter Persist cmdlet New-PSDrive dapat membuat drive jaringan yang dipetakan yang disimpan di komputer lokal dan tersedia di sesi lain. Untuk informasi selengkapnya, lihat New-PSDrive.

Selain itu, dimulai di Windows PowerShell 3.0, ketika drive eksternal tersambung ke komputer, Windows PowerShell secara otomatis menambahkan PSDrive ke sistem file yang mewakili drive baru. Anda tidak perlu memulai ulang Windows PowerShell. Demikian pula, ketika drive eksternal terputus dari komputer, Windows PowerShell secara otomatis menghapus PSDrive yang mewakili drive yang dihapus.

Contoh

Contoh 1: Dapatkan drive dalam sesi saat ini

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

Perintah ini mendapatkan drive dalam sesi saat ini.

Output menunjukkan hard drive (C:), cd-ROM drive (D:), dan drive yang diekspos oleh penyedia Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:, dan Variable:).

Contoh 2: Mendapatkan drive di komputer

PS C:\foo> Get-PSDrive D

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

Perintah ini mendapatkan drive D: di komputer. Perhatikan bahwa huruf kandar dalam perintah tidak diikuti oleh titik dua.

Contoh 3: Dapatkan semua drive yang didukung oleh penyedia sistem file 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

Perintah ini mendapatkan semua drive yang didukung oleh penyedia Windows PowerShell FileSystem. Ini termasuk drive tetap, partisi logis, drive jaringan yang dipetakan, dan drive sementara yang Anda buat dengan menggunakan cmdlet New-PSDrive.

Contoh 4: Periksa untuk melihat apakah drive sedang digunakan sebagai nama drive 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
}

Perintah ini memeriksa untuk melihat apakah drive X sudah digunakan sebagai nama drive Windows PowerShell. Jika tidak, perintah menggunakan cmdlet untuk membuat drive sementara yang dipetakan ke kunci registri New-PSDrive HKLM:\SOFTWARE.

Contoh 5: Membandingkan jenis drive sistem file

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

Contoh ini membandingkan jenis drive sistem file yang ditampilkan oleh Get-PSDrive yang ditampilkan dengan metode lain. Contoh ini menunjukkan berbagai cara untuk menampilkan drive di Windows PowerShell, dan menunjukkan bahwa drive khusus sesi yang dibuat dengan menggunakan cmdlet New-PSDrive hanya dapat diakses di Windows PowerShell.

Perintah pertama menggunakan Get-PSDrive untuk mendapatkan semua drive sistem file dalam sesi. Ini termasuk drive tetap (C: dan D:), drive jaringan yang dipetakan (G:) yang dibuat dengan menggunakan parameter Persist , New-PSDrivedan drive PowerShell (T:) yang dibuat dengan menggunakan New-PSDrive tanpa parameter Persist .

Perintah net use menampilkan drive jaringan yang dipetakan Windows, dalam hal ini hanya menampilkan drive G. Ini tidak menampilkan drive X: yang dibuat oleh New-PSDrive. Ini menunjukkan bahwa drive G: juga dipetakan ke \\Music\GratefulDead.

Perintah ketiga menggunakan metode GetDrives dari kelas Microsoft .NET Framework System.IO.DriveInfo . Perintah ini mendapatkan drive sistem file Windows, termasuk drive G:, tetapi tidak mendapatkan drive yang dibuat oleh New-PSDrive.

Perintah keempat menggunakan Get-CimInstance cmdlet untuk mendapatkan instans kelas Win32_LogicalDisk . Ini mengembalikan drive A:, C:, D:, E:, dan G: , tetapi bukan drive yang dibuat oleh New-PSDrive.

Perintah terakhir menggunakan Get-CimInstance cmdlet untuk menampilkan instans kelas Win32_NetworkConnection . Seperti penggunaan net, hanya mengembalikan drive G: persisten yang dibuat oleh New-PSDrive.

Parameter

-LiteralName

Menentukan nama drive.

Nilai LiteralName digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika nama menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu Windows PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Jenis:String[]
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-Name

Menentukan, sebagai array string, nama atau nama drive yang didapat cmdlet ini dalam operasi. Ketik nama drive atau huruf tanpa titik dua (:).

Jenis:String[]
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-PSProvider

Menentukan, sebagai array string, penyedia Windows PowerShell. Cmdlet ini hanya mendapatkan drive yang didukung oleh penyedia ini. Ketik nama penyedia, seperti FileSystem, Registry, atau Sertifikat.

Jenis:String[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Scope

Menentukan cakupan di mana cmdlet ini mendapatkan drive.

Nilai yang dapat diterima untuk parameter ini adalah:

  • Global
  • Lokal
  • Skrip
  • angka yang relatif terhadap cakupan saat ini (0 hingga jumlah cakupan, di mana 0 adalah cakupan saat ini dan 1 adalah induknya). "Lokal" adalah default.

Untuk informasi selengkapnya, lihat about_Scopes.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

PSDriveInfo

Cmdlet ini mengembalikan objek yang mewakili drive dalam sesi.

Catatan

PowerShell menyertakan alias berikut untuk Get-PSDrive:

  • Semua platform:

    • gdr
  • Cmdlet ini dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia di sesi Anda, gunakan Get-PSProvider cmdlet . Untuk informasi selengkapnya, lihat about_Providers.

  • Drive jaringan yang dipetakan yang dibuat dengan menggunakan parameter Persist cmdlet New-PSDrive khusus untuk akun pengguna. Drive jaringan yang dipetakan yang Anda buat dalam sesi yang dimulai dengan opsi Jalankan sebagai administrator atau dengan kredensial pengguna lain tidak terlihat dalam sesi yang dimulai tanpa kredensial eksplisit atau dengan kredensial pengguna saat ini.