I think I blogged about it a while ago, but I still see people who assume that stating that their command SupportsShouldProcess is enough to implement –WhatIf and –Confirm. This is partially true. Namely: –WhatIf part will probably work just fine. Confirm will work fine too most of the time. When it will start to misbehave? When we start to use pipeline, or multiple cmdlets that SupportShouldProcess.