Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell:whatifinpowershell

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

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