Write-Information
Menentukan cara PowerShell menangani data aliran informasi untuk perintah.
Sintaks
Default (Default)
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Deskripsi
Cmdlet Write-Information menentukan cara PowerShell menangani data aliran informasi untuk perintah.
Windows PowerShell 5.0 memperkenalkan aliran informasi terstruktur baru. Anda dapat menggunakan aliran ini untuk mengirimkan data terstruktur antara skrip dan pemanggilnya atau aplikasi host.
Write-Information memungkinkan Anda menambahkan pesan informasi ke aliran, dan menentukan cara PowerShell menangani data aliran informasi untuk perintah. Aliran informasi juga berfungsi untuk PowerShell.Streams, pekerjaan, dan tugas terjadwal.
Nota
Aliran informasi tidak mengikuti konvensi standar awalan pesannya dengan "[Nama Aliran]:". Ini ditujukan untuk kesederhanaan dan kebersihan visual.
Nilai variabel preferensi $InformationPreference menentukan apakah pesan yang Anda berikan ke Write-Information ditampilkan pada titik yang diharapkan dalam operasi skrip. Karena nilai default variabel ini SilentlyContinue, secara default, pesan informasi tidak ditampilkan.
Jika Anda tidak ingin mengubah nilai $InformationPreference, Anda dapat mengambil alih nilainya dengan menambahkan InformationAction parameter umum ke perintah Anda. Untuk informasi lebih lanjut, lihat tentang_Variabel_Preferensi dan tentang_ParameterUmum.
Nota
Mulai Windows PowerShell 5.0, Write-Host adalah pembungkus untuk Write-Information Ini memungkinkan Anda menggunakan Write-Host untuk memancarkan output ke aliran informasi. Ini memungkinkan penyimpanan atau pemblokiran data yang ditulis menggunakan Write-Host sambil mempertahankan kompatibilitas ke belakang. Untuk informasi selengkapnya, lihat Write-Host
Contoh
Contoh 1: Menuliskan informasi tentang hasil Get-
Dalam contoh ini, Anda menampilkan pesan informasi, "Proses yang dimulai dengan 'P'", sebelum menjalankan perintah
Write-Information -MessageData "Processes starting with 'P'" -InformationAction Continue
Get-Process -Name p*
Processes starting with 'P'
18 19.76 15.16 0.00 6232 0 PFERemediation
20 8.92 25.15 0.00 24944 0 policyHost
9 1.77 7.64 0.00 1780 0 powercfg
10 26.67 32.18 0.00 7028 0 powercfg
8 26.55 31.59 0.00 13600 0 powercfg
9 1.66 7.55 0.00 22620 0 powercfg
21 6.17 4.54 202.20 12536 1 PowerMgr
42 84.26 12.71 2,488.84 20588 1 powershell
27 47.07 45.38 2.05 25988 1 powershell
27 24.45 5.31 0.00 12364 0 PresentationFontCache
92 112.04 13.36 82.30 13176 1 pwsh
106 163.73 93.21 302.25 14620 1 pwsh
227 764.01 92.16 1,757.22 25328 1 pwsh
Contoh 2: Tulis informasi dan tandai
Dalam contoh ini, Anda menggunakan Write-Information untuk memberi tahu pengguna bahwa mereka harus menjalankan perintah lain setelah selesai menjalankan perintah saat ini. Contoh menambahkan tag "Instructions" ke pesan informasi. Setelah menjalankan perintah ini, saat Anda mencari aliran informasi untuk pesan yang ditandai "Instructions", pesan ada di hasilnya.
$message = "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet."
Get-Process -Name p*
Write-Information -MessageData $message -Tags "Instructions" -InformationAction Continue
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
18 19.76 15.16 0.00 6232 0 PFERemediation
20 8.92 25.15 0.00 24944 0 policyHost
9 1.77 7.64 0.00 1780 0 powercfg
10 26.67 32.18 0.00 7028 0 powercfg
8 26.55 31.59 0.00 13600 0 powercfg
9 1.66 7.55 0.00 22620 0 powercfg
21 6.17 4.54 202.20 12536 1 PowerMgr
42 84.26 12.71 2,488.84 20588 1 powershell
27 47.07 45.38 2.05 25988 1 powershell
27 24.45 5.31 0.00 12364 0 PresentationFontCache
92 112.04 13.36 82.30 13176 1 pwsh
106 163.73 93.21 302.25 14620 1 pwsh
227 764.01 92.16 1,757.22 25328 1 pwsh
To filter your results for PowerShell, pipe your results to the Where-Object cmdlet.
Contoh 3: Menulis informasi ke file
Dalam contoh ini, Anda mengalihkan aliran informasi dalam fungsi ke Info.txt menggunakan kode 6>. Saat Anda membuka file Info.txt, Anda akan melihat teks "Ini untuk Anda."
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
Contoh 4: Meneruskan objek untuk mencatat informasi
Dalam contoh ini, Anda dapat menggunakan Write-Information untuk menulis 10 proses pemanfaatan CPU tertinggi teratas dari output objek Get-Process yang telah melewati beberapa alur.
Get-Process | Sort-Object CPU -Descending |
Select-Object Id, ProcessName, CPU -First 10 |
Write-Information -InformationAction Continue
@{Id=12692; ProcessName=chrome; CPU=39431.296875}
@{Id=21292; ProcessName=OUTLOOK; CPU=23991.875}
@{Id=10548; ProcessName=CefSharp.BrowserSubprocess; CPU=20546.203125}
@{Id=312848; ProcessName=Taskmgr; CPU=13173.1875}
@{Id=10848; ProcessName=SnapClient; CPU=7014.265625}
@{Id=9760; ProcessName=Receiver; CPU=6792.359375}
@{Id=12040; ProcessName=Teams; CPU=5605.578125}
@{Id=498388; ProcessName=chrome; CPU=3062.453125}
@{Id=6900; ProcessName=chrome; CPU=2546.9375}
@{Id=9044; ProcessName=explorer; CPU=2358.765625}
Contoh 5: Menyimpan rekaman informasi ke variabel
Dengan menggunakan parameter
Get-Process -Id $PID |
Select-Object ProcessName, CPU, Path |
Write-Information -Tags 'PowerShell' -InformationVariable 'InfoMsg'
$InfoMsg | Select-Object *
MessageData : @{ProcessName=pwsh; CPU=12.36; Path=/opt/microsoft/powershell/7/pwsh}
Source : Write-Information
TimeGenerated : 10/19/2023 11:28:15
Tags : {PowerShell}
User : sdwheeler
Computer : circumflex
ProcessId : 237
NativeThreadId : 261
ManagedThreadId : 10
Parameter
-MessageData
Menentukan pesan informasi yang ingin Anda tampilkan kepada pengguna saat mereka menjalankan skrip atau perintah. Untuk hasil terbaik, sertakan pesan informasi dalam tanda kutip.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Msg, Pesan |
Set parameter
(All)
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Tags
Satu atau beberapa string yang dapat Anda gunakan untuk mengurutkan dan memfilter pesan yang telah Anda tambahkan ke aliran informasi dengan Write-Information. Parameter ini berfungsi mirip dengan parameter Tag
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
Object
Anda dapat menyalurkan objek untuk diteruskan ke aliran informasi ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output. Ini hanya menulis ke alur pesan informasi.