about_Function_Provider
Nama penyedia
Fungsi
Drive
Function:
Kemampuan
ShouldProcess
Deskripsi singkat
Menyediakan akses ke fungsi yang ditentukan di PowerShell.
Deskripsi terperinci
Penyedia Fungsi PowerShell memungkinkan Anda mendapatkan, menambahkan, mengubah, menghapus, dan menghapus fungsi dan filter di PowerShell.
Fungsi adalah blok kode bernama yang melakukan tindakan. Saat Anda mengetik nama fungsi, kode dalam fungsi berjalan. Filter adalah blok kode bernama yang menetapkan kondisi untuk tindakan. Anda dapat mengetik nama filter sebagai pengganti kondisi, seperti dalam Where-Object
perintah.
Drive Fungsi adalah namespace datar yang hanya berisi fungsi dan objek filter. Tidak ada fungsi maupun filter yang memiliki item turunan.
Penyedia Fungsi mendukung cmdlet berikut, yang dibahas dalam artikel ini.
Jenis yang diekspos oleh penyedia ini
Setiap fungsi adalah instans kelas System.Management.Automation.FunctionInfo . Setiap filter adalah instans kelas System.Management.Automation.FilterInfo .
Menavigasi drive Fungsi
Penyedia Fungsi mengekspos penyimpanan datanya di Function:
drive. Untuk bekerja dengan fungsi, Anda dapat mengubah lokasi Anda ke Function:
drive (Set-Location Function:
). Atau, Anda dapat bekerja dari drive PowerShell lain. Untuk mereferensikan fungsi dari lokasi lain, gunakan nama drive (Function:
) di jalur.
Set-Location Function:
Untuk kembali ke drive sistem file, ketik nama drive. Misalnya, ketik:
Set-Location C:
Anda juga dapat bekerja dengan penyedia Fungsi dari drive PowerShell lainnya. Untuk mereferensikan fungsi dari lokasi lain, gunakan nama Function:
drive di jalur.
Catatan
PowerShell menggunakan alias untuk memungkinkan Anda cara yang familier untuk bekerja dengan jalur penyedia. Perintah seperti dir
dan ls
sekarang menjadi alias untuk Get-ChildItem, cd
adalah alias untuk Set-Location. dan pwd
merupakan alias untuk Get-Location.
Mendapatkan fungsi
Perintah ini mendapatkan daftar semua fungsi dalam sesi saat ini. Anda dapat menggunakan perintah ini dari drive PowerShell apa pun.
Get-ChildItem -Path Function:
Penyedia Fungsi tidak memiliki kontainer, sehingga perintah di atas memiliki efek yang sama saat digunakan dengan Get-ChildItem
.
Get-ChildItem -Path Function:
Anda dapat mengambil definisi fungsi dengan mengakses properti Definisi, seperti yang ditunjukkan di bawah ini.
(Get-Item -Path function:more).Definition
Anda juga dapat mengambil definisi fungsi menggunakan jalur penyedianya yang diawali dengan tanda dolar ($
).
$function:more
Untuk mengambil definisi untuk fungsi yang memiliki tanda hubung (-
) dalam nama, bungkus nilai setelah dolar masuk kurung kurawal.
${function:Clear-Host}
Mendapatkan fungsi yang dipilih
Perintah ini mendapatkan man
fungsi dari Function:
drive. Ini menggunakan Get-Item
cmdlet untuk mendapatkan fungsi . Operator alur (|
) mengirimkan hasilnya ke Format-Table
. Parameter -Wrap
mengarahkan teks yang tidak pas pada baris ke baris berikutnya. Parameter -Autosize
mengubah ukuran kolom tabel untuk mengakomodasi teks.
Get-Item -Path man | Format-Table -Wrap -Autosize
Bekerja dengan jalur penyedia Fungsi
Perintah ini keduanya mendapatkan fungsi bernama c:
. Perintah pertama dapat digunakan di drive apa pun. Perintah kedua digunakan di Function:
drive. Karena nama berakhiran titik dua, yang merupakan sintaksis untuk drive, Anda harus memenuhi syarat jalur dengan nama drive. Function:
Dalam drive, Anda dapat menggunakan salah satu format. Pada perintah kedua, titik (.
) mewakili lokasi saat ini.
PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:
Membuat fungsi
Perintah ini menggunakan New-Item
cmdlet untuk membuat fungsi yang disebut Win32:
.
Ekspresi dalam kurung kurawal adalah blok skrip yang diwakili oleh nama fungsi.
New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}
Anda juga dapat membuat fungsi dengan mengetikkannya di baris perintah PowerShell. Misalnya, tpe Function:Win32: {Set-Location C:\Windows\System32}
. Jika Anda berada di Function:
drive, Anda dapat menghilangkan nama drive.
Menghapus fungsi
Perintah ini menghapus more
fungsi dari sesi saat ini.
Remove-Item Function:more
Mengubah fungsi
Perintah ini menggunakan Set-Item
cmdlet untuk mengubah prompt
fungsi sehingga menampilkan waktu sebelum jalur.
Set-Item -Path Function:prompt -Value {
'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
}
Mengganti nama fungsi
Perintah ini menggunakan Rename-Item
cmdlet untuk mengubah nama fungsi menjadi help
gh
.
Rename-Item -Path Function:help -NewName gh
Menyalin fungsi
Perintah ini menyalin prompt
fungsi ke oldPrompt
, secara efektif membuat nama baru untuk blok skrip yang terkait dengan fungsi prompt.
Anda dapat menggunakan ini untuk menyimpan fungsi prompt asli jika Anda berencana untuk mengubahnya.
Properti Opsi dari fungsi baru memiliki nilai None
. Untuk mengubah nilai properti Opsi , gunakan Set-Item
.
Copy-Item -Path Function:prompt -Destination Function:oldPrompt
Parameter dinamis
Parameter dinamis adalah parameter cmdlet yang ditambahkan oleh penyedia PowerShell dan hanya tersedia ketika cmdlet digunakan dalam drive yang diaktifkan penyedia.
Opsi <[System.Management.Automation.ScopedItemOptions]>
Menentukan nilai properti Opsi fungsi.
None
: Tidak ada opsi.None
adalah defaultnya.Constant
: Fungsi tidak dapat dihapus, dan propertinya tidak dapat diubah.Constant
hanya tersedia saat Anda membuat fungsi. Anda tidak dapat mengubah opsi fungsi yang ada menjadiConstant
.Private
: Fungsi hanya terlihat dalam cakupan saat ini- (tidak dalam cakupan anak).
ReadOnly
: Properti fungsi tidak dapat diubah kecuali dengan menggunakan-Force
parameter . Anda dapat menggunakanRemove-Item
untuk menghapus fungsi.AllScope
: Fungsi disalin ke cakupan baru apa pun yang dibuat.
Cmdlet yang didukung
Menggunakan alur
Cmdlet penyedia menerima input alur. Anda dapat menggunakan alur untuk menyederhanakan tugas dengan mengirim data penyedia dari satu cmdlet ke cmdlet penyedia lain. Untuk membaca selengkapnya tentang cara menggunakan alur dengan cmdlet penyedia, lihat referensi cmdlet yang disediakan di seluruh artikel ini.
Mendapatkan bantuan
Dimulai di Windows PowerShell 3.0, Anda bisa mendapatkan topik bantuan yang disesuaikan untuk cmdlet penyedia yang menjelaskan bagaimana cmdlet tersebut bereaksi dalam drive sistem file.
Untuk mendapatkan topik bantuan yang disesuaikan untuk drive sistem file, jalankan perintah Get-Help di drive sistem file atau gunakan -Path
parameter Get-Help untuk menentukan drive sistem file.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function: