Write-Information
Specifica come Windows PowerShell gestisce i dati del flusso di informazioni per un comando.
Sintassi
Write-Information
[-MessageData] <Object>
[[-Tags] <String[]>]
[<CommonParameters>]
Descrizione
Il Write-Information
cmdlet specifica come Windows PowerShell gestisce i dati del flusso di informazioni per un comando.
Windows PowerShell 5.0 introduce un nuovo flusso informativo strutturato (numero 6 in flussi Windows PowerShell) che è possibile usare per trasmettere dati strutturati tra uno script e i chiamanti (o l'ambiente di hosting).
Write-Information
consente di aggiungere un messaggio informativo al flusso e di specificare come Windows PowerShell gestisce i dati del flusso di informazioni per un comando. I flussi di informazioni funzionano anche per PowerShell.Streams
, processi, processi pianificati e flussi di lavoro.
Nota
Il flusso di informazioni non segue la convenzione standard di prefisso dei messaggi con "[Stream Name]:". Questo è stato progettato per brevità e pulizia visiva.
Il valore della $InformationPreference
variabile di preferenza determina se il messaggio fornito a Write-Information
viene visualizzato nel punto previsto nell'operazione di uno script.
Poiché il valore predefinito di questa variabile è SilentlyContinue
, per impostazione predefinita, i messaggi informativi non vengono visualizzati.
Se non si vuole modificare il valore di $InformationPreference
, è possibile eseguirne l'override aggiungendo il InformationAction
parametro comune al comando.
Per altre informazioni, vedere about_Preference_Variables e about_CommonParameters.
Nota
A partire da Windows PowerShell 5.0, Write-Host
è un wrapper per Write-Information
Questo consente di usare Write-Host
per generare output nel flusso di informazioni.
Ciò consente l'acquisizione o l'eliminazione dei dati scritti usando Write-Host
mantenendo la compatibilità con le versioni precedenti.
per altre informazioni, vedere Write-Host
Write-Information
è anche un'attività del flusso di lavoro supportata.
Esempio
Esempio 1: Scrivere informazioni per ottenere i risultati
Get-WindowsFeature -Name p*; Write-Information -MessageData "Got your features!" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
Got your features!
In questo esempio viene visualizzato un messaggio informativo "Got your features!", dopo aver eseguito il Get-WindowsFeature
comando per trovare tutte le funzionalità con un valore Name che inizia con 'p'.
Poiché la $InformationPreference
variabile è ancora impostata sul valore predefinito, SilentlyContinue
, aggiungere il InformationAction
parametro per eseguire l'override del $InformationPreference
valore e visualizzare il messaggio.
Il InformationAction
valore è Continua, ovvero viene visualizzato il messaggio, ma lo script o il comando continua, se non è ancora stato completato.
Esempio 2: Scrivere informazioni e contrassegnarla
Get-WindowsFeature -Name p*; Write-Information -MessageData "To filter your results for PowerShell, pipe your results to the Where-Object cmdlet." -Tags "Instructions" -InformationAction Continue
Display Name Name Install State
------------ ---- -------------
[ ] Print and Document Services Print-Services Available
[ ] Print Server Print-Server Available
[ ] Distributed Scan Server Print-Scan-Server Available
[ ] Internet Printing Print-Internet Available
[ ] LPD Service Print-LPD-Service Available
[ ] Peer Name Resolution Protocol PNRP Available
[X] Windows PowerShell PowerShellRoot Installed
[X] Windows PowerShell 5.0 PowerShell Installed
[ ] Windows PowerShell 2.0 Engine PowerShell-V2 Removed
[X] Windows PowerShell ISE PowerShell-ISE Installed
To filter your results for PowerShell, pipe your results to the Where-Object cmdlet.
In questo esempio si usa Write-Information
per informare gli utenti che dovranno eseguire un altro comando dopo aver eseguito il comando corrente.
Nell'esempio viene aggiunto il tag Instructions al messaggio informativo.
Dopo aver eseguito questo comando, se si cerca nel flusso di informazioni i messaggi contrassegnati Istruzioni, il messaggio specificato qui sarà tra i risultati.
Esempio 3: Scrivere informazioni in un file
function Test-Info
{
Get-Process P*
Write-Information "Here you go"
}
Test-Info 6> Info.txt
In questo esempio si reindirizza il flusso di informazioni nella funzione a un file, Info.txt, usando il codice 6>. Quando si apre il file di Info.txt, viene visualizzato il testo "Qui vai".
Parametri
-MessageData
Specifica un messaggio informativo che si desidera visualizzare agli utenti durante l'esecuzione di uno script o di un comando. Per ottenere risultati ottimali, racchiudere il messaggio informativo tra virgolette. Un esempio è "Test completato".
Type: | Object |
Aliases: | Msg |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
Specifica una stringa semplice che è possibile usare per ordinare e filtrare i messaggi aggiunti al flusso di informazioni con Write-Information
.
Questo parametro funziona in modo analogo al parametro Tags in New-ModuleManifest
.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Write-Information
non accetta input inviato tramite pipe.