====== Whatif ====== In ''[CmdletBinding()]'' zu Beginn muss der Parameter ''ShoudsSupportProcess=$True'' übergeben werden: [CmdletBinding(SupportsShouldProcess=$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. [[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]}}