Condividi tramite


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-Informationconsente 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.

Output

InformationRecord