What is PowerShell?

PowerShell is a powerful command-line shell and scripting language built on the .NET Framework. It's designed for system administrators and power users to automate tasks and manage operating systems and applications.

Unlike traditional shells that work with text, PowerShell works with objects. This object-oriented approach makes it incredibly versatile and powerful for manipulating data and system configurations.

Key Concepts

Cmdlets

Cmdlets (pronounced "command-lets") are the native commands in PowerShell. They are lightweight .NET classes used to perform common operations. Cmdlets follow a Verb-Noun naming convention, making them intuitive to understand and use.

# Example of a cmdlet Get-Process Get-Service New-Item

Objects

As mentioned, PowerShell operates on objects. When you run a command, it returns objects, not just text. These objects have properties and methods that you can access and manipulate.

# Get information about a process and select its name and ID Get-Process | Select-Object Name, Id

Pipelines

The pipeline (`|`) is a fundamental concept in PowerShell. It allows you to pass the output of one cmdlet as input to another. This enables you to build complex commands by chaining together simpler ones.

Tip: Think of the pipeline as a conveyor belt for objects.

# Find all running Notepad processes and stop them Get-Process -Name notepad | Stop-Process

Variables

Variables in PowerShell are used to store data. They start with a dollar sign (`$`) and can hold strings, numbers, arrays, objects, and more.

# Assigning a value to a variable $userName = "AdminUser" $serverList = "Server01", "Server02", "Server03" # Using a variable Write-Host "Current user is: $userName"

Providers

PowerShell providers allow you to access different data stores, such as the file system, the registry, or certificate stores, in a consistent way, as if they were file systems.

# Navigate to the registry path cd HKLM:\Software

Getting Started

To start using PowerShell:

  1. Open PowerShell (search for "PowerShell" in the Start Menu).
  2. Type commands and press Enter.
  3. Use `Get-Help` to learn more about cmdlets. For example, `Get-Help Get-Process`.

Pro Tip: Use `Get-Command` to discover available cmdlets and functions.

This section provides a foundational understanding of PowerShell. Continue exploring to unlock the full potential of this powerful tool for managing your systems.