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.