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)

Using the Main function

It is a good practice to make a function do only one thing. This means that, when writing a script that must do a series of tasks, you will need multiple functions. In such a case, one function will call another to perform the task. The structure of the script, then, would be to have the called function written before the calling function. When working with several functions within a script, the entire structure could look upside-down.

Now, reading and understanding the script may feel a little challenging.

For instance, I wrote a script for one of my clients that helped them heal a Citrix Virtual Desktop Agent server if it unregistered itself from the Controller for any of several reasons. This script was over 300 lines long, and had a dozen functions that would do the following:

  • Find if a server was unregistered
  • Send out server unregistered and other...