Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

powershell:whatifinpowershell

Whatif

In [CmdletBinding()] zu Beginn muss der Parameter ShoudsSupportProcess=$True übergeben werden:

[CmdletBinding(ShoudsSupportProcess=$True)]

Anschließend werden alle Cmdlets, die ebenfalls WhatIf implementiert haben, entsprechend eine Ausgabe erzeugen.

Darüber hinaus kann man Scriptanteile ebenfalls von WhatIf abhängig machen, indem man diese Abfrage in sein Script einbaut:

if ($PSCmdlet.ShouldProcess("DasObjektUmDasEsGeht", "Aktion"))
{
  #Hier steht der Teil, der nur ausgeführt wird,
  #wenn WhatIf NICHT übergeben wurde.
}

$PSCmdlet.ShouldProcess(string,string) liefert $True zurück, sofern der Parameter WhatIf übergeben wurde.

Der Parameter funktioniert indes sowohl bei Funktionen, als auch bei Scripten und Scriptblöcken.

Quelle, Quelle

powershell/whatifinpowershell.txt · Zuletzt geändert: 2017/10/18 12:52 von ronny