Typen cmdlet-uitvoer

PowerShell biedt verschillende methoden die kunnen worden aangeroepen door cmdlets om uitvoer te genereren. Deze methoden gebruiken een specifieke bewerking om de uitvoer naar een specifieke gegevensstroom te schrijven, zoals de succesgegevensstroom of de foutgegevensstroom. In dit artikel worden de typen uitvoer en de methoden beschreven die worden gebruikt om ze te genereren.

Typen uitvoer

Uitvoer geslaagd

Cmdlets kunnen rapporteren dat het is gelukt door een object te retourneren dat kan worden verwerkt door de volgende opdracht in de pijplijn. Nadat de cmdlet de actie heeft uitgevoerd, roept de cmdlet de methode System.Management.Automation.Cmdlet.WriteObject aan. U wordt aangeraden deze methode aan te roepen in plaats van de methoden System.Console.WriteLine of System.Management.Automation.Host.PSHostUserInterface.WriteLine.

U kunt een PassThru-switchparameter opgeven voor cmdlets die doorgaans geen objecten retourneren. Wanneer de PassThru switch parameter is opgegeven op de opdrachtregel, de cmdlet wordt gevraagd om een object te retourneren. Zie Add-Historyvoor een voorbeeld van een cmdlet met een PassThru-parameter.

Foutuitvoer

Cmdlets kunnen fouten rapporteren. Wanneer er een beëindigingsfout optreedt, wordt door de cmdlet een uitzondering weergegeven. Wanneer er een niet-beëindigingsfout optreedt, roept de cmdlet de methode System.Management.Automation.Provider.CmdletProvider.WriteError aan om een foutrecord naar de foutgegevensstroom te verzenden. Zie Concepten van foutrapportage voor meer informatie over foutrapportage.

Uitgebreide uitvoer

Cmdlets kunnen nuttige informatie bieden terwijl de cmdlet records correct verwerkt door de methode System.Management.Automation.Cmdlet.WriteVerbose aan te roepen. De methode genereert uitgebreide berichten die aangeven hoe de actie doorgaat.

Uitgebreide berichten worden standaard niet weergegeven. U kunt de parameter Verbose opgeven wanneer de cmdlet wordt uitgevoerd om deze berichten weer te geven. Uitgebreid is een algemene parameter die beschikbaar is voor alle cmdlets.

Voortgangsuitvoer

Cmdlets kunnen voortgangsinformatie bieden wanneer de cmdlet taken uitvoert die lang duren, zoals het recursief kopiëren van een map. Als u voortgangsinformatie wilt weergeven, roept de cmdlet de methode System.Management.Automation.Cmdlet.WriteProgress aan.

Foutopsporingsuitvoer

Cmdlets kunnen foutopsporingsberichten bieden die handig zijn bij het oplossen van problemen met de cmdlet-code. Als u foutopsporingsinformatie wilt weergeven, roept de cmdlet de methode System.Management.Automation.Cmdlet.WriteDebug aan.

Foutopsporingsberichten worden standaard niet weergegeven. U kunt de foutopsporingsparameter opgeven wanneer de cmdlet wordt uitgevoerd om deze berichten weer te geven. Foutopsporing is een algemene parameter die beschikbaar is voor alle cmdlets.

Waarschuwingsuitvoer

Cmdlets kunnen waarschuwingsberichten weergeven door de methode System.Management.Automation.Cmdlet.WriteWarning aan te roepen.

Standaard worden waarschuwingsberichten weergegeven. U kunt echter waarschuwingsberichten configureren met behulp van de variabele of met behulp van de parameters Uitgebreid en Foutopsporing wanneer de $WarningPreference cmdlet wordt aangeroepen.

Uitvoer weergeven

Voor alle write-method-aanroepen wordt de weergave van de inhoud bepaald door specifieke runtimevariabelen. De uitzondering hierop is de methode System.Management.Automation.Cmdlet.WriteObject. Met behulp van deze variabelen kunt u de juiste schrijfoproep uitvoeren op de juiste plaats in uw code en hoeft u zich geen zorgen te maken over wanneer of of de uitvoer moet worden weergegeven.

Toegang tot de uitvoerfunctionaliteit van een hosttoepassing

U kunt ook een cmdlet ontwerpen om rechtstreeks toegang te krijgen tot de uitvoerfunctionaliteit van een hosttoepassing via de PowerShell-runtime. Gebruik de host-API's van PowerShell in plaats van System.Console of System.Windows. Formulieren zorgen ervoor dat uw cmdlet werkt met verschillende hosts. Bijvoorbeeld: de powershell.exe-consolehost, depowershell_ise.exe grafische host, de externe PowerShell-host en hosts van derden.

Zie ook

Concepten voor foutrapportage

Overzicht van cmdlets

Een Windows PowerShell-cmdlet schrijven