PowerShell

Introduction

PowerShell based on Object-Oriented tool, and a scripting language with a user-friendly interactive Command line Interface (CLI) which support cross-platform environments. It helps IT professionals to automate their task, Manage Multiple server deployments, System administration, Network Management, User management and database administration.

Who Should learn PowerShell

  • IT Administrator
  • System Administrator
  • Network Administrator
  • Database Administrator
  • Cloud Professionals
  • Developers
  • DevOps Professional

History of POWERSHELL

Monad

By 2002, Microsoft launched a new project called Monad (Also known as Windows Microsoft Shell or MSH), the approach is to handle command line management and design of automating a huge range of Windows core administrative tasks.

Father (Architect) of PowerShell

Mr. Jeffrey Snover is the father of PowerShell, who came up with the idea of Object- Oriented Command line Interpreter called PowerShell.

PowerShell

On April 25,2006, Monad Project had been renamed as Windows PowerShell.

Release dates

VERSION 1

The final Windows release was on January 30, 2007

VERSION 2

August 2009, PowerShell was part of Windows 7 and Windows Server 2008 R2.
In OCTOBER 2009 it was released for Windows XP, Windows Server 2003, and Windows Vista.

POWERSHELL FOR Open-Source and cross platform

Finally, On August 18, 2016, Microsoft announced that they had built PowerShell as an Open-source and cross-platform with all Windows, macOS, CentOS, and Ubuntu support.

TOP FEATURES

  • 1.Object-Oriented
  • 2.Consistent Cmdlets
  • 3.Powerful Pipeline
  • 4.Cross-Platform
  • 5.Automation Ready
  • 6.Remote Management
  • 7.Extensible Modules.
  • 8.Full .NET Access
  • 10.Strong Scripting Language
  • 11.Secure Execution Policies
  • 12.Rich Help System
  • 13.Interoperability
  • 14.GUI & Editor Support
  • 15.Open Source & Modern

COMMANDS Categories

  • Windows System Administration
  • Active Directory & Identity Management
  • Networking & Security
  • Cloud & DevOps
  • Cross-Platform Scripting (Windows, Linux, macOS)
  • Automation & Configuration Management
  • Application & Database Management
  • Scripting & Development
  • Containers & Virtualization
  • Monitoring & Reporting

What are PowerShell Commands?

  • PowerShell Commands are called cmdlets (pronounced command-lets).
  • A cmdlet is a lightweight command built into PowerShell for performing a specific task.
  • Cmdlets follow a Verb-Noun naming convention:
  • Example: Get-Process, Set-Date, New-Item

Key Points

  • Cmdlets return objects, not plain text → easy to process further.
  • Can be combined with the pipeline (|) to pass data between commands.
  • Designed for system administration, automation, and scripting.
  • Thousands of cmdlets available for managing Windows, Linux, macOS, Azure, AWS, AD, etc.

PowerShell Commands Overview

PowerShell Commands Overview

  • Manage system, files, processes, and automation
  • Uses Verb-Noun cmdlets
  • Cross-platform & scriptable

Process & Service Management

  • Get-Process → List running processes
  • Stop-Process -Name notepad → Kill process
  • Get-Service → Show services
  • Start-Service / Stop-Service → Manage services

File & Folder Management

  • Set-Location (cd) → Change directory
  • New-Item -Name file.txt -ItemType File → Create file
  • Remove-Item file.txt → Delete file
  • Copy-Item file.txt D:\Backup → Copy file
  • Move-Item file.txt D:\Data → Move file

Pipeline & Filtering

  • Get-Process | Where-Object {$_.CPU -gt 100} → Filter
  • Get-ChildItem | Sort-Object Length → Sort files
  • Get-Service | Out-File services.txt → Export output

Networking

  • Test-Connection google.com → Ping
  • Invoke-WebRequest https://example.com → Fetch webpage/data
  • Get-NetIPAddress → Show IP config

Module Management

  • Get-Module -ListAvailable → List modules
  • Install-Module AzureAD → Install module
  • Import-Module → Load module

Remote Management

  • Enter-PSSession -ComputerName Server01 → Remote login
  • Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Process } → Run remote command

Conclusion

PowerShell is a versatile, cross-platform automation tool that simplifies IT and cloud management. Its object-based commands, scripting capabilities, and extensive modules enable efficient, scalable automation. Mastering PowerShell helps save time, reduce errors, and take full control of your systems.

Leave a Comment