- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
Of course, the page doesn’t contain all our PowerShell articles. You can find a complete list of all 4sysops PowerShell topics here. The tutorial is just for articles that you could also find in an introductory book about PowerShell. One advantage of our tutorial over a book is that the tutorial will evolve over time. It is also free, of course.
The tutorial is a work in progress because we will add more PowerShell guides in the near future. Some topics lack links but are included so you know what to expect next. I will also remove articles when they are no longer relevant or if they have been replaced with updated posts.
Please contact me if you want us to cover a certain PowerShell topic. And, if you want to contribute to this tutorial, please send me your suggestions. You don’t have to do it for free.
Subscribe to 4sysops newsletter!
Introduction to PowerShell
- The PowerShell versions
- The cmdlet and the pipeline
- Getting help in PowerShell
- Comments in PowerShell
- Navigating folders
- PowerShell aliases
- Default parameter values
- The PowerShell Execution Policy
- Running a PowerShell script
- Running a downloaded PowerShell script
- Installing a PowerShell module - An example
- Environment variables and system information
- The PowerShell profile
- Configuring the PowerShell console properties
- PowerShell ISE as an alternative to the console
- PowerShell background job basics
- The backtick – Line breaks in PowerShell
Important cmdlets
- Get-Command - Find PowerShell cmdlets
- Get-Location - Working with locations
- Get-Process – Managing processes
- Get-Variable - Display and search all variables of a PowerShell script
- Copy-Item, Move-Item – Copy and move files with PowerShell
- New-PSDrive - Mapping network drives
- Select-Object – Filter object properties
- Where-Object – Filter data with PowerShell
- Select-String - Searching in files
- Send-MailMessage - Send emails
- Show-Command – PowerShell for GUI admins?
- Get-Random - Random numbers, temporary file names, and GUIDs in PowerShell
- Rename-Computer – Remotely rename computers with PowerShell
- Get-Eventlog - Managing event logs in PowerShell
Scripting in PowerShell
- The PowerShell variable – Naming, value, data type
- The PowerShell variable scope
- Comparison operators -eq, -lt, -gt, -contains, -like, -matchs
- Logical operators
- Conditional statements - If, Else, Switch
- Loops - For, Foreach, While, Do-Until, Continue, Break
- Functions - Parameters, data types, return values
- PowerShell advanced functions – The CmdletBinding and Parameter attribute
- The PowerShell filter
- Arrays - Create, change, read, sort, delete
- Strings in PowerShell – Replace, compare, concatenate, split, substring
- PowerShell credentials – How to encrypt a password
- Regular expressions (RegEX)
- Associative arrays
- .NET classes and COM objects
- Debugging scripts
System administration with PowerShell
- PowerShell Remoting series (8 articles)
- Mount Active Directory as a drive in PowerShell
- Active Directory - Compare group membership
- Active Directory - Managing the password policy
- Active Directory - Move users a new container
- Active Directory - Move users to a group
- Active Directory - Export users
- Active Directory - Import users
- Active Directory - Configuring users and managers
- Active Directory - Resetting a user password
- PowerShell Desired State Configuration (DSC) – Introduction
- PowerShell Desired State Configuration (DSC) – Setup
- PowerShell Desired State Configuration (DSC) – Deployment
- PowerShell Desired State Configuration (DSC) – Installing a pull server
- Group Policy - PowerShell logon scripts
- Group Policy - A practical example logon script example
- Group Policy - Clean up user profiles
- Group Policy - Setting the PowerShell Execution Policy
- Enable PowerShell Remoting
- Managing server roles and features
- Windows Services - Get Service status
- Windows Services - Filtering
- Windows Services - Start and stop Services
- Windows Services - Configure Services
- Windows Services - WMI and CIM
- Windows Services - Modify through WMI
- Windows Services - Stop and start with CIM
- Windows Services - Service accounts
- Windows Services - Eventing
- Windows Services - Event queries with CIM
- Windows Event Logs - Setting limits
- Windows Event Logs - Backup
- Windows Event Logs - Clearing logs
- Windows Event Logs - Clearing the Event Log
- WMI - Testing WMI connectivity with WBEMTest
- WMI - Validate WMI queries with WBEMTest
- WMI - WBEMTest Tips and tricks
- NIC Teaming with PowerShell
- Interacting with the Registry in PowerShell
- PowerShell eventing – Subscribing to WMI events
I was hoping to use Powershell to activate Windows 7 when using a MAK via VAMT 3.1. It doesn’t look like this is a sensible approach but I’d like a second opinion. It looks as though VAMT only offers cmdlets that would get it to update its entire database and we can’t target individual workstations for proxy activation. >wish we’d gone down the KMS route instead< Can you wonderful gurus advise on this?
Andrew, I didn’t try the VAMT module for PowerShell. However, I think you can use WMI (get-wmiObject) to activate individual Windows machines.