Write-Information
PowerShell'in bir komut için bilgi akışı verilerini nasıl işlediğini belirtir.
Sözdizimi
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
cmdlet'i Write-Information
, PowerShell'in bir komut için bilgi akışı verilerini nasıl işlediğini belirtir.
Windows PowerShell 5.0, yeni, yapılandırılmış bir bilgi akışı sunar. Bu akışı, bir betik ile çağıranları veya konak uygulaması arasında yapılandırılmış veriler iletmek için kullanabilirsiniz.
Write-Information
, akışa bilgi iletisi eklemenize ve PowerShell'in bir komut için bilgi akışı verilerini nasıl işleyeceğini belirtmenize olanak tanır. Bilgi akışları , işleri ve zamanlanmış görevler için PowerShell.Streams
de çalışır.
Not
Bilgi akışı, iletilerine "[Stream Name]:" ön eki eklemenin standart kuralına uymaz. Bu, kısa ve görsel temizlik için tasarlanmıştır.
Tercih $InformationPreference
değişkeni değeri, sağladığınız Write-Information
iletinin betiğin işleminde beklenen noktada görüntülenip görüntülenmeyeceğini belirler. Bu değişkenin varsayılan değeri SilentlyContinue olduğundan, bilgilendirici iletiler varsayılan olarak gösterilmez.
değerini $InformationPreference
değiştirmek istemiyorsanız, komutunuza InformationAction common parametresini ekleyerek değerini geçersiz kılabilirsiniz. Daha fazla bilgi için bkz . about_Preference_Variables ve about_CommonParameters.
Not
Windows PowerShell 5.0'dan başlayarak, Write-Host
Bilgi akışına çıktı yaymak için Write-Information
kullanmanıza Write-Host
olanak tanıyan bir sarmalayıcıdır. Bu, geriye dönük uyumluluğu korurken kullanılarak Write-Host
yazılan verilerin yakalanmasını veya gizlenmesini sağlar. Daha fazla bilgi için bkz. Write-Host
Örnekler
Örnek 1: Get- results için bilgi yazma
Bu örnekte, 'p' ile başlayan Bir Ad değerine sahip tüm işlemleri bulmak için komutu çalıştırmadan Get-Process
önce "P' ile başlayan işlemler" şeklinde bir bilgilendirme iletisi gösterirsiniz.
$InformationPreference
Değişken hala varsayılan olan SilentlyContinue olarak ayarlandığından, değeri geçersiz kılmak $InformationPreference
için InformationAction parametresini ekler ve iletiyi gösterirsiniz. InformationAction değeri Devam'tır; yani iletiniz gösterilir, ancak betik veya komut henüz tamamlanmamışsa devam eder.
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
Örnek 2: Bilgi yazma ve etiketleme
Bu örnekte, geçerli komutu çalıştırmaları tamamlandıktan sonra kullanıcılara başka bir komut çalıştırmaları gerektiğini bildirmek için kullanırsınız Write-Information
. Örnek, etiketi "Instructions"
bilgilendiren iletiye ekler. Bu komutu çalıştırdıktan sonra, etiketli "Instructions"
iletiler için bilgi akışında arama yaptığınızda, ileti sonuçlarda yer alır.
$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.
Örnek 3: Bir dosyaya bilgi yazma
Bu örnekte, işlevindeki Info.txt
bilgi akışını kodunu 6>
kullanmaya yönlendirirsiniz. Dosyayı açtığınızda Info.txt
,"İşte burada" metnini görürsünüz.
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
Örnek 4: Nesneyi yazma bilgilerine geçirme
Bu örnekte, birden çok işlem hattından geçen nesne çıkışından Get-Process
en yüksek 10 CPU kullanım işlemini yazmak için kullanabilirsinizWrite-Information
.
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}
Örnek 5: Bilgi kayıtlarını bir değişkene kaydetme
InformationVariable parametresini kullanarak, bilgi kayıtlarını bir değişkene kaydedebilirsiniz. Bu, betikte daha sonra bilgi akışı iletilerini incelemenize olanak tanır.
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
Parametreler
-MessageData
Kullanıcılara betik veya komut çalıştırırken görüntülemek istediğiniz bilgilendirici bir ileti belirtir. En iyi sonuçlar için, bilgi iletisini tırnak içine alın.
Tür: | Object |
Diğer adlar: | Msg, Message |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Tags
ile Write-Information
bilgi akışına eklediğiniz iletileri sıralamak ve filtrelemek için kullanabileceğiniz bir veya daha fazla dize. Bu parametre, içindeki New-ModuleManifest
Tags parametresine benzer şekilde çalışır.
Tür: | String[] |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Bu cmdlet'e bilgi akışına geçirmek için nesneleri kanala aktarabilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez. Yalnızca bilgi iletisi akışına yazar.
İlişkili Bağlantılar
PowerShell