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 .

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 helpgh.

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 menjadi Constant.
  • 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 menggunakan Remove-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:

Lihat juga