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)

Searching for content

It is uncommon for a Linux administrator to be unfamiliar with grep, sed, and awk. PowerShell has similar functionalities built in, although these cmdlets and operators deal with text as objects, rather than as plain strings. There are little nuances that we would need to remember when working with PowerShell. In this recipe, we will look at searching for content in files from within PowerShell. The Select-String cmdlet, our string-related operators, such as like and match, and the object-based pipeline collectively help us with this.

Imagine you have a collection of markdown files. These files contain PowerShell code blocks. You have to perform the following steps:

  1. Find the PowerShell code blocks present in the files within the directory. Show the filename, the line number, and the match, each on a separate line.
  2. Contextually show what each of those code...