In the Updating and using Help recipe in Chapter 1, Introducing PowerShell Core, we saw the term Parameter Set. We also read that parameters that are present in one parameter set, but absent in another, cannot be combined with a parameter from the latter set. Parameter sets are useful when we have either conflicting functionalities or functionalities that do not get along.
In this recipe, we will create a function that will be used to relay messages. If a text message is sent, the function calls another function called Send-TextMessage, which sends an SMS to the recipient, or New-VoiceCall, which is designed to make a voice call through the phone system in your company. Send-TextMessage and New-VoiceCall are already present in the system. Our task is to write a function that accepts a phone number as one of the inputs, and either the path to the WAV...