Book Image

PowerShell Core for Linux Administrators Cookbook

By : Prashanth Jayaram, Ram Iyer
Book Image

PowerShell Core for Linux Administrators Cookbook

By: Prashanth Jayaram, Ram Iyer

Overview of this book

PowerShell Core, the open source, cross-platform that is based on the open source, cross-platform .NET Core, is not a shell that came out by accident; it was intentionally created to be versatile and easy to learn at the same time. PowerShell Core enables automation on systems ranging from the Raspberry Pi to the cloud. PowerShell Core for Linux Administrators Cookbook uses simple, real-world examples that teach you how to use PowerShell to effectively administer your environment. As you make your way through the book, you will cover interesting recipes on how PowerShell Core can be used to quickly automate complex, repetitive, and time-consuming tasks. In the concluding chapters, you will learn how to develop scripts to automate tasks that involve systems and enterprise management. By the end of this book, you will have learned about the automation capabilities of PowerShell Core, including remote management using OpenSSH, cross-platform enterprise management, working with Docker containers, and managing SQL databases.
Table of Contents (19 chapters)

Working with parameter sets

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...