Write-Information
PowerShell'in bir komut için bilgi akışı verilerini nasıl işlediğini belirtir.
Sözdizimi
Default EnterprisePublishing
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Description
Write-Information cmdlet'i, 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 komut dosyası ile onu çağıranlar veya ana uygulama arasında yapılandırılmış veriler iletmek 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şleyeceğini belirtmenize olanak tanır. Bilgi akışları, PowerShell.Streams, işler ve zamanlanmış görevler için de işlev görür.
Uyarı
Bilgi akışı, iletilerine "[Stream Name]:" ön eki eklemenin standart kuralına uymaz. Bu, kısalık ve görsel temizlik amacıyla amaçlandı.
$InformationPreference tercih değişkeninin değeri, Write-Information'e sağladığınız mesajın, bir betiğin işlemi sırasında beklenen noktada görüntülenip görüntülenmeyeceğini belirler. Bu değişkenin varsayılan değeri SilentlyContinueolduğundan, bilgilendirici iletiler varsayılan olarak gösterilmez.
$InformationPreferencedeğerini 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.
Uyarı
Windows PowerShell 5.0'dan başlayarak, Write-HostWrite-Information için bir sarmalayıcıdır. Bu, bilgi akışına çıktı yaymak için Write-Host kullanmanıza olanak tanır. Bu, geriye dönük uyumluluğu korurken Write-Host kullanılarak 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 Get-Process değerine sahip tüm işlemleri bulmak için komutunu çalıştırmadan önce "P' ile başlayan işlemler" adlı bir bilgilendirme iletisi gösterirsiniz.
$InformationPreference değişkeni hala varsayılan değerine ayarlı olduğundan SilentlyContinue, değerini geçersiz kılmak için $InformationPreference parametresini ekler ve iletiyi gösterirsiniz.
InformationAction değeri Continueolarak ayarlanmıştır. Bu, iletinizin gösterildiği, ancak betiğin veya komutun henüz tamamlanmadığı sürece devam ettiği anlamına gelir.
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, kullanıcılara geçerli komutu çalıştırmaları tamamlandıktan sonra başka bir komut çalıştırmaları gerektiğini bildirmek için Write-Information kullanırsınız. Örnek, bilgi iletisine "Instructions" etiketini ekler. Bu komutu çalıştırdıktan sonra, "Instructions"etiketli 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şlevdeki bilgi akışını Info.txtkodunu kullanarak 6>'a yönlendirirsiniz.
Info.txt dosyasını açtığınızda ,"İş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 bilgi yazma işlemi için geçirme
Bu örnekte, birden çok işlem hattından geçen Write-Information nesne çıkışından en yüksek 10 CPU kullanım işlemini yazmak için Get-Process kullanabilirsiniz.
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.
Parametre özellikleri
| Tür: | Object |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Msg, Mesaj |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Tags
Write-Informationile bilgi akışına eklediğiniz iletileri sıralamak ve filtrelemek için kullanabileceğiniz bir veya daha fazla dize. Bu parametre, New-ModuleManifest parametresine benzer şekilde çalışır.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
Object
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 mesajı akışına yazar.