Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell:whatifinpowershell

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

powershell:whatifinpowershell [2017/10/18 12:52] (aktuell)
ronny angelegt
Zeile 1: Zeile 1:
 +====== Whatif ======
  
 +In ''[CmdletBinding()]'' zu Beginn muss der Parameter ''ShoudsSupportProcess=$True'' übergeben werden:
 +
 +<code Powershell>
 +[CmdletBinding(ShoudsSupportProcess=$True)]
 +</code>
 +
 +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:
 +
 +<code Powershell>
 +if ($PSCmdlet.ShouldProcess("DasObjektUmDasEsGeht", "Aktion"))
 +{
 +  #Hier steht der Teil, der nur ausgeführt wird,
 +  #wenn WhatIf NICHT übergeben wurde.
 +}
 +</code>
 +
 +''$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.
 +
 +[[https://blogs.technet.microsoft.com/heyscriptingguy/2012/07/08/weekend-scripter-easily-add-whatif-support-to-your-powershell-functions/|Quelle]], [[https://mcpmag.com/articles/2015/08/20/safe-scripting-by-adding-whatif-support.aspx|Quelle]]
 +
 +{{tag>[Powershell WhatIf]}}
powershell/whatifinpowershell.txt · Zuletzt geändert: 2017/10/18 12:52 von ronny