Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nama penyedia
Fungsi
Drives
Function:
Capabilities
HarusMemproses
Deskripsi singkat
Menyediakan akses ke fungsi yang ditentukan di PowerShell.
Deskripsi terperinci
Fungsi Penyedia PowerShell memungkinkan Anda mendapatkan, menambahkan, mengubah, mengosongkan, 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 perintah Where-Object.
Drive Fungsi adalah namespace datar yang hanya berisi fungsi dan objek filter. Baik fungsi maupun filter tidak memiliki anak item.
Penyedia Fitur mendukung cmdlet berikut, yang dibahas dalam artikel ini.
- Dapatkan-Lokasi
- Set-Location
- Get-Item
- Item Baru
- Hapus Item
- Clear-Item
Jenis yang diekspos oleh penyedia ini
Setiap fungsi adalah instans kelas
Menavigasi drive Fungsi
Penyedia Fungsi Function: (Set-Location Function:). Atau, Anda dapat bekerja dari drive PowerShell lain. Untuk merujuk fungsi dari lokasi lain, gunakan nama drive (Function:) dalam 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 merujuk fungsi dari lokasi lain, gunakan nama drive Function: dalam jalur.
Nota
PowerShell menggunakan alias untuk memungkinkan Anda cara yang familier untuk bekerja dengan jalur penyedia. Perintah seperti
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 ketika digunakan dengan Get-ChildItem.
Get-ChildItem -Path Function:
Anda dapat mengambil definisi fungsi dengan mengakses properti Definition, 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 tanda dolar dengan kurung kurawal.
${Function:Clear-Host}
Mendapatkan fungsi yang dipilih
Perintah ini mendapatkan fungsi man dari drive Function:. Ini menggunakan cmdlet Get-Item 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
Kedua perintah ini mendapatkan fungsi bernama C:. Perintah pertama dapat digunakan di drive apa pun. Perintah kedua digunakan pada drive Function:. Karena nama berakhiran titik dua, yang merupakan sintaksis untuk drive, Anda harus menentukan jalur dengan menggunakan nama drive. Dalam drive Function:, 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 cmdlet New-Item 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}
Cakupan
Sama seperti variabel, fungsi termasuk dalam cakupan tertentu. Saat Anda membuat fungsi, fungsi hanya tersedia dalam cakupan tempat fungsi dibuat. Untuk membuat fungsi tersedia, gunakan pengubah cakupan saat Anda membuat fungsi. Untuk informasi selengkapnya, lihat about_Scopes.
Contoh berikut menggunakan pengubah cakupan Global: untuk membuat fungsi dalam cakupan global.
function New-Function {
param(
[string] $Name,
[scriptblock] $Script
)
$lp = "Function:\Global:$($Name)"
Set-Item -LiteralPath $lp -Value $Script -PassThru -Force
}
New-Function -Name 'Win32:' -Script { Set-Location C:\Windows\System32 }
Tanpa pengubah cakupan Global:, fungsi akan dibuat dalam cakupan lokal. Ketika New-Function keluar dari fungsi yang baru dibuat tidak akan ada lagi.
Menghapus fungsi
Perintah ini menghapus fungsi more dari sesi saat ini.
Remove-Item Function:more
Mengubah fungsi
Perintah ini menggunakan cmdlet Set-Item untuk mengubah fungsi prompt sehingga menampilkan waktu sebelum jalur.
Set-Item -Path Function:prompt -Value {
'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
}
Mengganti nama fungsi
Perintah ini menggunakan cmdlet Rename-Item untuk mengubah nama fungsi help menjadi 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
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 opsi properti dari suatu fungsi.
-
None: Tidak ada opsi.Noneadalah default. -
Constant: Fungsi tidak dapat dihapus, dan propertinya tidak dapat diubah.Constanthanya 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 parameter-Force. Anda dapat menggunakanRemove-Itemuntuk menghapus fungsi. -
AllScope: Fungsi disalin ke setiap ruang lingkup baru yang dibentuk.
Cmdlet yang didukung
Menggunakan alur
Cmdlet penyedia menerima masukan dari pipeline. 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
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Function: