I need to restart a service in a powershell script. The problem is that this service is a bit buggy and frequently needs to be shut down several times before it gets into the "stopped" state. Because of that I can't seem to use the Restart-Service
cmdlet, instead I need to retry the Stop-Service
cmdlet a few times. The same applies to starting the service.
So I figure this is a good place to write a function that will take an action (start or stop) and retry it a few times until it works. The problem is I'm not sure how to pass the action in as a parameter. I could just have the action be a String
and then say if action == "start" do starcAction
, but that won't be very clean. Is there any way I could pass a cmdlet like Stop-Service
in as a parameter?