Bagikan melalui


Jenis output cmdlet

PowerShell menyediakan beberapa metode yang dapat dipanggil oleh cmdlet untuk menghasilkan output. Metode ini menggunakan operasi tertentu untuk menulis output mereka ke aliran data tertentu, seperti aliran data keberhasilan atau aliran data kesalahan. Artikel ini menjelaskan jenis output dan metode yang digunakan untuk menghasilkannya.

Jenis output

Output keberhasilan

Cmdlet dapat melaporkan keberhasilan dengan mengembalikan objek yang dapat diproses oleh perintah berikutnya dalam alur. Setelah cmdlet berhasil melakukan tindakannya, cmdlet memanggil metode System.Management.Automation.Cmdlet.WriteObject. Kami menyarankan agar Anda memanggil metode ini alih-alih metode System.Console.WriteLine atau System.Management.Automation.Host.PSHostUserInterface.WriteLine.

Anda dapat menyediakan parameter sakelar PassThru untuk cmdlet yang biasanya tidak mengembalikan objek. Ketika parameter sakelar PassThru ditentukan di baris perintah, cmdlet diminta untuk mengembalikan objek. Untuk contoh cmdlet yang memiliki parameter PassThru, lihat Add-History.

Output kesalahan

Cmdlet dapat melaporkan kesalahan. Ketika kesalahan penghentian terjadi, cmdlet melemparkan pengecualian. Ketika kesalahan non-penghentian terjadi, cmdlet memanggil metode System.Management.Automation.Provider.CmdletProvider.WriteError untuk mengirim rekaman kesalahan ke aliran data kesalahan. Untuk informasi selengkapnya tentang pelaporan kesalahan, lihat Konsep Pelaporan Kesalahan.

Keluaran terperinci

Cmdlet dapat memberikan informasi yang berguna kepada Anda saat cmdlet memproses rekaman dengan benar dengan memanggil metode System.Management.Automation.Cmdlet.WriteVerbose. Metode ini menghasilkan pesan verbose yang menunjukkan bagaimana tindakan dilanjutkan.

Secara default, pesan verbose tidak ditampilkan. Anda dapat menentukan parameter Verbose saat cmdlet dijalankan untuk menampilkan pesan-pesan ini. Verbose adalah parameter umum yang tersedia untuk semua cmdlet.

Output kemajuan

Cmdlet dapat memberikan informasi kemajuan kepada Anda ketika cmdlet melakukan tugas yang membutuhkan waktu lama untuk diselesaikan, seperti menyalin direktori secara rekursif. Untuk menampilkan informasi kemajuan, cmdlet memanggil metode System.Management.Automation.Cmdlet.WriteProgress.

Output debug

Cmdlet dapat menyediakan pesan debug yang berguna saat memecahkan masalah kode cmdlet. Untuk menampilkan informasi debug, cmdlet memanggil metode System.Management.Automation.Cmdlet.WriteDebug.

Secara default, pesan debug tidak ditampilkan. Anda dapat menentukan parameter Debug saat cmdlet dijalankan untuk menampilkan pesan ini. Debug adalah parameter umum yang tersedia untuk semua cmdlet.

Output peringatan

Cmdlet dapat menampilkan pesan peringatan dengan memanggil metode System.Management.Automation.Cmdlet.WriteWarning.

Secara default, pesan peringatan ditampilkan. Namun, Anda dapat mengonfigurasi pesan peringatan dengan menggunakan variabel $WarningPreference atau dengan menggunakan parameter Verbose dan Debug saat cmdlet dipanggil.

Menampilkan output

Untuk semua panggilan metode tulis, tampilan konten ditentukan oleh variabel runtime tertentu. Pengecualiannya adalah metode System.Management.Automation.Cmdlet.WriteObject. Dengan menggunakan variabel ini, Anda dapat melakukan panggilan tulis yang sesuai di tempat yang benar dalam kode Anda dan tidak khawatir tentang kapan atau apakah output harus ditampilkan.

Mengakses fungsionalitas output aplikasi host

Anda juga dapat merancang cmdlet untuk langsung mengakses fungsionalitas output aplikasi host melalui runtime PowerShell. Menggunakan API host yang disediakan oleh PowerShell alih-alih System.Console atau System.Windows.Forms memastikan bahwa cmdlet Anda akan berfungsi dengan berbagai host. Misalnya: host konsol powershell.exe, host grafis powershell_ise.exe, host jarak jauh PowerShell, dan host pihak ketiga.

Lihat juga

Konsep Pelaporan Kesalahan

Gambaran Umum Cmdlet

Menulis Cmdlet Windows PowerShell