Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Scripting with PowerShell

3 days
UPSHELL
3 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Interested in a private company training? Request it here.

PowerShell Overview

In PowerShell, administrative tasks are generally performed by cmdlets, which are specialized .NET classes implementing a particular operation. These work by accessing data in different data stores, like the file system or registry, which are made available to PowerShell via providers.

  • PowerShell Overview
  • Brushing up on objects
  • PowerShell Versions
  • Windows PowerShell versus PowerShell Core
  • Concepts and Terminology
  • Getting Commands
  • Getting Help
  • Providers and Drives
  • LAB: PowerShell Overview

PowerShell Shells

The Windows PowerShell Integrated Scripting Environment (ISE) is a host application for Windows PowerShell. In Windows PowerShell ISE, you can run commands and write, test, and debug scripts in a single Windows-based graphic user interface with multiline editing, tab completion, syntax coloring, selective execution, context-sensitive help, and support for right-to-left languages. In addition to the PowerShell ISE, PowerShell is also well-supported in Visual Studio Code. Furthermore, the ISE is not supported with PowerShell Core, while Visual Studio Code is supported for PowerShell Core on all platforms (Windows, macOS, and Linux).

  • PowerShell Console
  • Integrated Scripting Environment (ISE)
  • Visual Studio Code
  • LAB:PowerShell Shells

Core Concepts

The PowerShell design integrates concepts from many different environments. Several of them are familiar to people with experience in specific shells or programming environments, but very few people will know about all of them. Looking at some of these concepts provides a useful overview of the shell.

  • Viewing Object Structure
  • Object Pipeline
  • Using Format Cmdlets to Change Output
  • Export Data with Out Cmdlets
  • Using Variables to Store Objects
  • LAB: Core Concepts

Object Pipeline Processing

PowerShell contains a bunch of commands that allow you to manipulate your objects using the pipeline. These cmdlets will help you to filter, sort, group, ... any object.

  • Where-Object
  • Foreach-Object
  • Select-Object
  • Sort-Object
  • Measure-Object
  • Compare-Object
  • Group-Object
  • Tee-Object
  • LAB: Object Pipeline Processing

Working with Objects

PowerShell provides full access to COM, WMI and .NET, enabling administrators to perform administrative tasks on both local and remote Windows systems.

  • Files and Folders
  • Registry Keys and Values
  • COM Objects
  • WMI Objects
  • .NET Objects
  • Static Classes
  • LAB: Working with Objects

Extending PowerShell Functionality

A module is a set of related PowerShell functionalities, grouped together as a convenient unit (usually saved in a single directory). By defining a set of related script files, assemblies, and related resources as a module, you can reference, load, persist, and share your code much easier than you would otherwise.
PowerShell Package Manager allows you to find, install and remove software all from within PowerShell from various repositories on the Internet and without having to search around the Internet or your network to find software installers.

  • Modules
  • Package Manager
  • PowerShell Gallery
  • PowerShell Profiles
  • Operators and Expressions
  • LAB: Extending PowerShell Functionality

PowerShell Remoting

PowerShell Remoting lets you run PowerShell commands or access full PowerShell sessions on remote systems.

  • PowerShell Remoting Overview
  • WS-Management (WSMAN)
  • Remote CIM Sessions
  • Import/Export Remote Sessions
  • WinRM Security
  • WinRM Double Hop Problem
  • Using Variables in Remoting Sessions
  • Remoting with PowerShell Core
  • LAB: PowerShell Remoting

PowerShell Security

The execution policy is part of the security strategy of PowerShell. It determines whether you can load configuration files and run scripts, and it determines which scripts, if any, must be digitally signed before they will run.

  • PowerShell Execution Policy
  • Script Signing
  • Security Sensitive Information in Scripts
  • LAB: PowerShell Security

PowerShell Scripting

PowerShell includes a dynamically typed scripting language which can implement complex operations using cmdlets imperatively. The scripting language supports variables, functions, branching, loops, structured error/exception handling and closures/lambda expressions, as well as integration with .NET.

  • Foreach
  • For
  • While – do while – do until
  • If - Switch
  • Break - Continue
  • LAB: PowerShell Scripting

Managing Your Environment

The goal of PowerShell is to ease your work as an administrator. In this module we will talk about basic management tasks that you need to perform and how you can accomplish this through PowerShell. Configuring network settings, implementing security on files and folders, managing Active Directory.

  • Networking
  • File Shares
  • Data Import
  • Security
  • Server Management
  • Active Directory
  • Certificates
  • LAB: Managing Your Environment

PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-source and cross-platform in 2016 with the introduction of PowerShell Core. The former is built on .NET Framework while the latter on .NET Core. Today, PowerShell can be used to manage and deploy all your server workloads, Windows or Linux, on-prem or cloud. This course is based on Windows PowerShell 5.1 and the latest version of PowerShell Core.

This course will get you acquainted with all the different features of PowerShell. You will learn how to automate and script administration, configuration and deployment of on-prem servers and cloud environments with out-of-the-box cmdlets and custom scripts.

This course is intended for:

  • System Administrators or System Engineers who are responsible for the management and configuration of multiple Servers and Microsoft applications.
  • System Administrators or System Engineers who are responsible for the deployment and maintenance of a Microsoft Cloud Infrastructure.
  • Developers interested in automation of test environments, interfacing with C#, embedding PowerShell in their application.
© 2021 U2U All rights reserved.