New-PSDrive
Membuat drive sementara dan persisten yang terkait dengan lokasi di penyimpanan data item.
Sintaks
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet New-PSDrive
membuat drive sementara dan persisten yang dipetakan atau terkait dengan lokasi di penyimpanan data, seperti drive jaringan, direktori di komputer lokal, atau kunci registri, dan drive jaringan yang dipetakan Windows persisten yang terkait dengan lokasi sistem file pada komputer jarak jauh.
Drive sementara hanya ada di sesi PowerShell saat ini dan dalam sesi yang Anda buat di sesi saat ini. Mereka dapat memiliki nama apa pun yang valid di PowerShell dan dapat dipetakan ke sumber daya lokal atau jarak jauh apa pun. Anda dapat menggunakan drive PowerShell sementara untuk mengakses data di penyimpanan data terkait, seperti yang akan Anda lakukan dengan drive jaringan yang dipetakan. Anda dapat mengubah lokasi menjadi drive, dengan menggunakan Set-Location
, dan mengakses konten drive dengan menggunakan Get-Item
atau Get-ChildItem
.
Karena drive sementara hanya diketahui powerShell, Anda tidak dapat mengaksesnya dengan menggunakan File Explorer, Windows Management Instrumentation (WMI), Component Object Model (COM), Microsoft .NET Framework, atau dengan alat seperti net use
.
Fitur berikut ditambahkan ke New-PSDrive
di PowerShell 3.0:
- Kandar jaringan yang dipetakan. Anda dapat menggunakan parameter
New-PSDrive
Persist untuk membuat drive jaringan yang dipetakan Windows. Tidak seperti drive PowerShell sementara, drive jaringan yang dipetakan Windows tidak spesifik untuk sesi. Mereka disimpan di Windows dan dapat dikelola dengan menggunakan alat Windows standar, seperti File Explorer dan penggunaan bersih. Kandar jaringan yang dipetakan harus memiliki nama huruf kandar dan tersambung ke lokasi sistem file jarak jauh. Saat perintah Anda dilingkup secara lokal, tidak ada sumber titik, parameter Persist tidak mempertahankan pembuatan PSDrive di luar cakupan tempat perintah dijalankan. Jika Anda menjalankanNew-PSDrive
di dalam skrip, dan Anda ingin drive bertahan tanpa batas waktu, Anda harus sumber titik skrip. Untuk hasil terbaik, untuk memaksa drive baru bertahan tanpa batas waktu, tambahkan parameter Cakupan ke perintah Anda, dan atur nilainya ke Global. Untuk informasi selengkapnya tentang sumber titik, lihat about_Scripts. - Drive eksternal. Saat drive eksternal tersambung ke komputer, PowerShell secara otomatis menambahkan PSDrive ke sistem file yang mewakili drive baru. Anda tidak perlu memulai ulang PowerShell. Demikian pula, ketika drive eksternal terputus dari komputer, PowerShell secara otomatis menghapus PSDrive yang mewakili drive yang dihapus.
- Kredensial untuk jalur Universal Naming Convention (UNC).
Ketika nilai parameter Akar adalah jalur UNC, seperti \\Server\Share
, kredensial yang ditentukan dalam nilai parameter Kredensial digunakan untuk membuat PSDrive. Jika tidak, Kredensial tidak efektif saat Anda membuat drive sistem file baru.
Beberapa sampel kode menggunakan splatting untuk mengurangi panjang garis dan meningkatkan keterbacaan. Untuk informasi selengkapnya, lihat about_Splatting.
Nota
Kecuali Anda menggunakan parameter Cakupan, PSDrive dibuat dalam cakupan tempat perintah New-PSDrive
dijalankan.
Contoh
Contoh 1: Membuat drive sementara yang dipetakan ke berbagi jaringan
Contoh ini membuat drive PowerShell sementara yang dipetakan ke berbagi jaringan.
New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
Public FileSystem \\Server01\Public
New-PSDrive
menggunakan parameter Nama untuk menentukan drive PowerShell bernama Public
dan parameter PSProvider untuk menentukan penyedia FileSystem
PowerShell. Parameter Root menentukan jalur UNC berbagi jaringan.
Untuk menampilkan konten dari sesi PowerShell: Get-ChildItem -Path Public:
Contoh 2: Membuat drive sementara yang dipetakan ke direktori lokal
Contoh ini membuat drive PowerShell sementara yang menyediakan akses ke direktori di komputer lokal.
$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
Splatting membuat kunci dan nilai parameter. Parameter Nama menentukan nama drive, MyDocs. Parameter PSProvider menentukan penyedia FileSystem
PowerShell.
Root menentukan direktori komputer lokal. Parameter Deskripsi menjelaskan tujuan drive.
New-PSDrive
menggunakan parameter splatted untuk membuat drive MyDocs
.
Untuk menampilkan konten dari sesi PowerShell: Get-ChildItem -Path MyDocs:
Contoh 3: Membuat drive sementara untuk kunci registri
Contoh ini membuat drive PowerShell sementara yang menyediakan akses ke kunci registri. Ini membuat drive bernama MyCompany yang dipetakan ke kunci registri HKLM:\Software\MyCompany
.
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKLM:\Software\MyCompany
New-PSDrive
menggunakan parameter Nama untuk menentukan drive PowerShell bernama MyCompany
dan parameter PSProvider untuk menentukan penyedia Registry
PowerShell. Parameter Akar menentukan lokasi registri.
Untuk menampilkan konten dari sesi PowerShell: Get-ChildItem -Path MyCompany:
Contoh 4: Membuat drive jaringan yang dipetakan persisten menggunakan kredensial
Contoh ini memetakan drive jaringan yang diautentikasi dengan kredensial akun layanan domain. Untuk informasi selengkapnya tentang objek PSCredential yang menyimpan kredensial dan bagaimana kata sandi disimpan sebagai SecureString , lihat deskripsi parameter Kredensial.
$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
Nota
Ingat, jika Anda menggunakan cuplikan di atas dalam skrip, atur nilai parameter Cakupan ke "Global" untuk memastikan drive bertahan di luar cakupan saat ini.
Variabel $cred
menyimpan objek PSCredential yang berisi kredensial akun layanan.
Get-Credential
meminta Anda untuk memasukkan kata sandi yang disimpan di SecureString.
New-PSDrive
membuat drive jaringan yang dipetakan dengan menggunakan beberapa parameter.
Nama menentukan huruf kandar S
yang diterima Windows. dan Root mendefinisikan \\Server01\Scripts
sebagai lokasi di komputer jarak jauh.
Persist membuat drive jaringan yang dipetakan Windows yang disimpan di komputer lokal.
PSProvider menentukan penyedia FileSystem
.
Kredensial menggunakan variabel $cred
untuk mendapatkan kredensial akun layanan untuk autentikasi.
Drive yang dipetakan dapat dilihat di komputer lokal dalam sesi PowerShell, File Explorer, dan dengan alat seperti penggunaan bersih. Untuk menampilkan konten dari sesi PowerShell: Get-ChildItem -Path S:
Contoh 5: Membuat drive persisten dan sementara
Contoh ini menunjukkan perbedaan antara drive jaringan yang dipetakan persisten dan drive PowerShell sementara yang dipetakan ke berbagi jaringan yang sama.
Jika Anda menutup sesi PowerShell lalu membuka sesi baru, PSDrive:
sementara tidak tersedia, tetapi drive X:
persisten tersedia. Saat memutuskan metode mana yang akan digunakan untuk memetakan drive jaringan, pertimbangkan bagaimana Anda akan menggunakan drive. Misalnya, apakah harus persisten, dan apakah drive harus terlihat oleh fitur Windows lainnya.
# 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
Contoh 6: Membuat drive persisten dalam skrip
PSDrive dibuat dalam cakupan tempat perintah New-PSDrive
dijalankan. Saat perintah dijalankan dalam skrip, pemetaan drive bersifat lokal ke skrip. Ketika skrip keluar, drive tidak lagi tersedia.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public" -Scope Global
Untuk memastikan bahwa drive tersedia di luar skrip, Anda harus menggunakan parameter Cakupan untuk membuat drive dalam cakupan Global.
Parameter
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Menentukan akun pengguna yang memiliki izin untuk melakukan tindakan ini. Defaultnya adalah pengguna saat ini.
Karena PowerShell 3.0, ketika nilai parameter Akar adalah jalur UNC, Anda dapat menggunakan kredensial untuk membuat drive sistem file.
Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential yang dihasilkan oleh cmdlet Get-Credential
. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.
Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Description
Menentukan deskripsi teks singkat drive. Ketik string apa pun.
Untuk melihat deskripsi semua drive sesi, Get-PSDrive | Format-Table Name, Description
.
Untuk melihat deskripsi drive tertentu, ketik (Get-PSDrive <DriveName>).Description
.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama untuk drive baru. Untuk drive jaringan yang dipetakan persisten, gunakan huruf kandar. Untuk drive PowerShell sementara, Anda tidak terbatas pada huruf kandar, gunakan string yang valid.
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Persist
Menunjukkan bahwa cmdlet ini membuat kandar jaringan yang dipetakan Windows. Parameter Persist hanya tersedia di Windows.
Kandar jaringan yang dipetakan disimpan di Windows pada komputer lokal. Mereka persisten, tidak spesifik sesi, dan dapat dilihat dan dikelola di File Explorer dan alat lainnya.
Saat Anda mencakup perintah secara lokal, tanpa sumber titik, parameter Persist tidak mempertahankan pembuatan PSDrive di luar cakupan tempat Anda menjalankan perintah. Jika Anda menjalankan New-PSDrive
di dalam skrip, dan Anda ingin drive baru bertahan tanpa batas waktu, Anda harus sumber titik skrip. Untuk hasil terbaik, untuk memaksa drive baru bertahan, tentukan Global sebagai nilai parameter Cakupan dan sertakan Persist dalam perintah Anda.
Nama drive harus berupa huruf, seperti D
atau E
. Nilai parameter Akar harus merupakan jalur UNC dari komputer yang berbeda. Nilai parameter PSProvider harus FileSystem
.
Untuk memutuskan sambungan drive jaringan yang dipetakan Windows, gunakan cmdlet Remove-PSDrive
. Ketika Anda memutuskan sambungan drive jaringan yang dipetakan Windows, pemetaan dihapus secara permanen dari komputer, bukan hanya dihapus dari sesi saat ini.
Drive jaringan yang dipetakan khusus untuk akun pengguna. Drive yang dipetakan yang dibuat dalam sesi atau sesi yang ditingkatkan menggunakan kredensial pengguna lain tidak terlihat dalam sesi yang dimulai menggunakan kredensial yang berbeda.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PSProvider
Menentukan penyedia PowerShell yang mendukung drive semacam ini.
Misalnya, jika drive dikaitkan dengan berbagi jaringan atau direktori sistem file, penyedia PowerShell FileSystem
. Jika drive dikaitkan dengan kunci registri, penyedia Registry
.
Drive PowerShell sementara dapat dikaitkan dengan penyedia PowerShell apa pun. Kandar jaringan yang dipetakan hanya dapat dikaitkan dengan penyedia FileSystem
.
Untuk melihat daftar penyedia di sesi PowerShell Anda, gunakan cmdlet Get-PSProvider
.
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Root
Menentukan lokasi penyimpanan data tempat drive PowerShell dipetakan.
Misalnya, tentukan berbagi jaringan, seperti \\Server01\Public
, direktori lokal, seperti C:\Program Files
, atau kunci registri, seperti HKLM:\Software\Microsoft
.
Drive PowerShell sementara dapat dikaitkan dengan lokasi lokal atau jarak jauh pada drive penyedia yang didukung. Kandar jaringan yang dipetakan hanya dapat dikaitkan dengan lokasi sistem file pada komputer jarak jauh.
Jenis: | String |
Position: | 2 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Scope
Menentukan cakupan untuk drive. Nilai yang dapat diterima untuk parameter ini adalah: Global, Lokal , dan Skrip, atau angka yang relatif terhadap cakupan saat ini. Cakupan nomor 0 hingga jumlah cakupan. Nomor cakupan saat ini adalah 0 dan induknya adalah 1. Untuk informasi selengkapnya, lihat about_Scopes.
Jenis: | String |
Position: | Named |
Nilai default: | Local |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini
Output
Cmdlet ini mengembalikan objek PSDriveInfo yang mewakili drive yang dibuat.
Catatan
PowerShell menyertakan alias berikut untuk Get-PSDrive
:
- Semua platform:
ndr
- Windows:
mount
New-PSDrive
dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, gunakan Get-PSProvider
. Untuk informasi selengkapnya tentang penyedia, lihat about_Providers.
Drive jaringan yang dipetakan khusus untuk akun pengguna. Drive yang dipetakan yang dibuat dalam sesi atau sesi yang ditingkatkan menggunakan kredensial pengguna lain tidak terlihat dalam sesi yang dimulai menggunakan kredensial yang berbeda.