Aracılığıyla paylaş


Write-Information

PowerShell'in bir komut için bilgi akışı verilerini nasıl işlediğini belirtir.

Syntax

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ışı sağlar. Bu akışı, bir betik ile çağıranları veya konak uygulaması arasında yapılandırılmış veri aktarmak için kullanabilirsiniz. Write-Information akışa bilgilendirıcı bir ileti eklemenize ve PowerShell'in bir komut için bilgi akışı verilerini nasıl işlediğini belirtmenize olanak tanır. Bilgi akışları , işleri ve zamanlanmış görevler için PowerShell.Streamsde çalışır.

Not

Bilgi akışı, iletilerine "[Stream Name]:" ön eki eklemeye yönelik standart kuralı izlemez. 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şleminin beklenen noktasında 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 $InformationPreferencedeğiştirmek istemiyorsanız, komutunuza InformationAction ortak 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 Bu, Write-Host bilgi akışına çıktı yaymak için kullanmanıza Write-Host olanak tanıyan bir sarmalayıcıdırWrite-Information. Bu, geriye dönük uyumluluğu korurken kullanılarak Write-Host yazılan verilerin yakalanmasına veya gizlenmesine olanak tanır. Daha fazla bilgi için bkz . Write-Host

Örnekler

Örnek 1: Get- sonuçları 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 değeri 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 tamamlanmadıysa 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ırmayı tamamladı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: Dosyaya bilgi yazma

Bu örnekte, işlevindeki bilgi akışını kodunu 6>kullanarak yeniden Info.txt yönlendirirsiniz. Dosyayı açtığınızda Info.txt ,"İşte gidiyor" metnini görürsünüz.

function Test-Info
{
    Get-Process P*
    Write-Information "Here you go"
}
Test-Info 6> Info.txt

Örnek 4: Yazma bilgilerine nesne 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}

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ı elde için, bilgi iletisini tırnak içine alın.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Tags

ile Write-Informationbilgi akışına eklediğiniz iletileri sıralamak ve filtrelemek için kullanabileceğiniz basit bir dize belirtir. Bu parametre, içindeki New-ModuleManifestTags parametresine benzer şekilde çalışır.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Object

Write-Information bilgi akışına geçirmek için kanallı nesneleri kabul eder.

Çıkışlar

InformationRecord