If you’ve ever had the pleasure of diving into the world of system administration, you’ve likely encountered Windows PowerShell and PowerShell commands. It’s a handy tool, a shell scripting language that gives you access to the inner workings of your operating system.
It outshines the traditional Command Prompt (CMD), offering more power, flexibility, and control.
Unlike CMD, which utilizes simple command-line instructions, Windows PowerShell employs a more extensive language, utilizing a list of PowerShell commands, or cmdlets for intricate system tasks.
As a system administrator, your work can see dramatic improvements with this tool in your arsenal. It’s not just about making things easier; it’s about efficiency, precision and the ability to automate repetitive tasks.
Getting Started with PowerShell
Now that you’re familiar with what PowerShell is, it’s time to dive in. Starting is quite simple. You have two main routes:
- the PowerShell console
- the Integrated Scripting Environment (ISE).
The console is your command line interface. It’s a direct path for your commands to reach and manipulate the system. ISE, on the other hand, is your playground for scripting. It’s where you can write, test, and debug your PowerShell scripts in a friendly, user-centric environment.
To help you get the ball rolling, let’s cover a few basic PowerShell commands.
Description: Displays help information about Windows PowerShell commands and topics.
Example: Typing Get-Help Get-Process
will showcase help for the Get-Process command.
As its name suggests, Get-Help is your guide through the PowerShell universe. It’s a built-in manual that lets you explore the functionality of other commands.
Description: Retrieves a list of all available commands in PowerShell.
Example: Inputting Get-Command -Module ActiveDirectory
will list all commands available in the ActiveDirectory module.
Get-Command is another valuable tool on your PowerShell commands cheat sheet. With it, you can view every command that PowerShell has to offer.
Deep Dive into PowerShell Command Structures
PowerShell commands are built around three main structures: cmdlets, aliases, and scripts.
Cmdlets (Command-lets) are the heart of PowerShell. They’re lightweight commands that perform specific functions. Unlike traditional executable programs, cmdlets are .NET Framework class objects – a mouthful, right? Simply put, they’re pieces of code that do things, like fetching data, changing system settings, or running processes.
Description: Retrieves a list of all running processes
Example: Entering Get-Process
will show you all the processes currently running on your system.
Aliases are just shortcuts for cmdlets. For instance, instead of typing Get-ChildItem
, you can simply type dir
, which is quicker and easier to remember.
Scripts, lastly, are text files containing a series of cmdlets to be run in order. They’re the backbone of automation, allowing you to run complex tasks without manual input. With this knowledge and your growing list of PowerShell commands, you’re well on your way to becoming a PowerShell pro.
Managing Files and Folders
Being at the helm of a file system can be a daunting task. Luckily, PowerShell lends a hand. With an arsenal of cmdlets, you can seamlessly manage files and folders.
Description: Displays the items and child items in the specified locations.
Example: Input Get-ChildItem C:\Documents
and you’l see all items within the Documents directory.
This cmdlet is a crucial member of your list of PowerShell commands for file management. It not only lists files and folders, but can also delve deeper into directories revealing the hidden treasures within.
Description: Creates a new item, such as a file or a folder.
Example: Type New-Item -Path . -Name "file.txt" -ItemType "file" -Value "powershell new-item demo file current directory."
and watch a new file, file.txt, spring into existence in your Documents folder.
Managing System Processes
Now, let’s shift gears and talk about the system processes. Think of them as the backstage crew of a theater production, working diligently behind the scenes to make sure the show goes on without a hitch. PowerShell offers commands to monitor, manipulate, and manage these unsung heroes.
Description: Retrieves the status of a list of specified processes.
Example: Entering Get-Process
will display all processes currently running on your machine.
The above is one of the most frequently used PowerShell commands in Windows 10 for managing system processes. It provides a snapshot of what’s happening behind your screen.
Working with Services
Just like the system processes, services are critical cogs in the wheel that keep our systems running smoothly. There programs that run in the background, and with PowerShell, you can keep a close eye on them.
Description: Retrieves the status of services on a local or remote computer.
Example: When you run Get-Service
, you’ll get a status update on all services on your computer.
Description: Stops one or more running services.
Example: Stop-Service -Name "serviceName"
will halt the specified service.
These PowerShell commands examples only scratch the surface of what you can do with PowerShell. The real beauty of PowerShell lies in its flexibility and the extent to which it can be customized to meet your specific needs.
Network Administration
Managing a network might feel like trying to solve a jigsaw puzzle with infinite pieces. Luckily, with PowerShell, you’re not without tools to make this job easier. Here are a couple of top PowerShell commands to assist you.
Description: Displays diagnostic information for a connection.
Example: Type Test-NetConnection
to test the network connection of your machine.
Description: Displays IP address configuration.
Example: Running Get-NetIPAddress
reveals the IP address details of your machine.
These cmdlets can help diagnose problems and reveal essential network configuration details.
Active Directory Management
In the world of network administration, Active Directory (AD) is the manager of the office, keeping track of every network resource. PowerShell comes packed with useful commands to make managing AD a breeze.
Description: Retrieves a user object or performs a search to retrieve multiple user objects.
Example: Get-ADUser -Filter *
will bring up a list of all users in your AD.
Description: Creates a new AD user.
Example: With a command like New-ADUser -Name "JohnDoe"
you can create a new user named JohnDoe.
Event Log Management
Event logs are like the diary of your sysem, recording its thought and actions. They are an invaluable tool for troubleshooting. Here’s how to run PowerShell commands in Windows 10 that interact with your event logs.
Description: Gets the events in an event log, or a list of the event logs.
Example: Get-EventLog -LogName System
will display the system event logs.
Description: Clears all entries from specified event logs.
Example: Clear-EventLog -LogName "Application"
will wipe the slate clean for your Application event log.
It’s important to remember that while these are some of the most common PowerShell commands, there are countless more to explore. PowerShell’s adaptability and robust functionality make it an indispensable tool for any system administrator.
Performance Monitoring and Analysis
Like a well-tuned orchestra, your system needs regular fine-tuning to perform at its best. Performance monitoring ensures your system resources are being used effectively. Here are some Windows PowerShell commands that let you peek under the hood.
Description: Retrieves the status of a list of specified processes.
Example: Running Get-Process
shows all processes currently running on your machine.
Description: Measures the time it takes to run script blocks.
Example: Measure-Command {Get-Process}
will reveal the time taken to execute the Get-Process command.
Description: Gets performance counter data from local and remote computers.
Example: Get-Counter -Counter "\Processor(_Total)\% Processor Time"
will give you CPU usage statistics.
Also read: How to Speed Up a Hard Drive Performance on Windows?
Remoting and PowerShell Sessions
A key strength of PowerShell lies in its ability to manage remote computers. You can establish sessions, or persistent connections, with remote machines. Your PowerShell commands cheat sheet wouldn’t be complete without these cmdlets.
Description: Starts an interactive session with a remote computer.
Example: Enter-PSSession -ComputerName Server01
allows you to interact directly with Server01.
Description: Creates a new PowerShell session.
Example: New-PSSession -ComputerName Server02
creates a new session with Server02.
Description: Closes one or more PowerShell sessions.
Example: Remove-PSSession -Session $s
closes a session stored in the $s variable.
Working with PowerShell Profiles
Like your personal profile, a PowerShell profile is a script that runs when Powershell starts, and it defines your environment. Here are some cmdlet PowerShell commands to manage your profiles.
Description: Determines whether all elements of the path exist.
Example: Test-Path $profile
will verify whether a profile exists.
Description: Creates a new item, such as a file or a folder.
Example: If Test-Path $profile
returns False
, New-Item -Type file -Path $profile -Force
will create a new profile.
Description: Opens files in Notepad.
Example: Notepad $profile
opens your profile in Notepad, allowing you to edit it.
By understanding and utilizing these commands, you can customize your PowerShell environment to suit your preferences and working style.
Security and Execution Policies
In the realm of PowerShell, security is like a steadfast gatekeeper, ensuring scripts and commands are executed safely. Here are some basic PowerShell commands that help you define and understand your execution policies.
Description: Gets the execution policies for the current session.
Example: Get-ExecutionPolicy
displays your current execution policy.
Description: Sets the execution policy for the PowerShell session.
Example: Set-ExecutionPolicy RemoteSigned
sets the policy to only run scripts signed by a trusted publisher.
Description: Gets the digital signature of a script or file.
Example: Get-AuthenticodeSignature C:\Scripts\Test.ps1
shows the digital signature of the Test.ps1 script.
Advanced PowerShell Techniques
As you delve deeper into the ocean of PowerShell, you’ll discover it’s filled with far more than basic cmdlets. Advanced functions offer greater flexibility and functionality, allowing you to work smarter, not harder. Below are some PowerShell commands examples to illuminate the possibilities.
Description: Runs commands on local and remote computers.
Example: Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process}
runs the Get-Process command on Server01.
Description: Converts .NET objects into CSV strings and stores the results in a CSV file.
Example: Get-Process | Export-Csv -Path .\ProcessList.csv
saves your process list into a CSV file.
Description: Converts an object to its JSON representation.
Example: Get-Process | ConvertTo-Json
converts your process list to JSON format.
Description: Selects specified properties of an object or set of objects. It can also select unique objects from an array.
Example: Get-Process | Select-Object -Property Name,ID
shows just the Name and ID of your processes.
Description: Filters input from the pipeline allowing control over which objects will be passed along the command sequence.
Example: Get-Process | Where-Object {$_.CPU -gt 10}
displays processes using more than 10 CPU units.
Description: Performs an operation against each of a set of input objects.
Example: Get-Process | ForEach-Object { $_.Name + " " + $_.Id }
displays a list of process names along with their IDs.
These PowerShell useful commands demonstrate the advanced techniques you can employ to further harness the power of Powershell. From invoking commands on remote computers to filtering and formatting output, the possibilities are vast.
Remember, the Get-Help cmdlet is your friend when you’re not sure how to run PowerShell commands. Just type Get-Help
followed by the cmdlet you need help with. This top PowerShell commands list is only the beginning; PowerShell’s potential is limited only by your imagination.
30 Additional PowerShell Commands Below
Command | Description |
Out-File | Sends output to a file. |
Sort-Object | Sorts objects by property values. |
Set-Variable | Sets the value of a variable. |
Read-Host | Reads a line of input from the console. |
Write-Host | Writes customized output to a host. |
Add-Content | Adds content to the specified items, such as adding lines to a file. |
Copy-Item | Copies an item from one location to another. |
Test-Path | Tests the existence of a path and returns True if the path exists, else False. |
Get-Date | Gets the current date and time. |
Clear-Host | Clears the display in the host program. |
Compare-Object | Compares two sets of objects. |
ConvertTo-Html | Converts .NET objects into HTML that can be displayed in a Web browser. |
Get-Credential | Gets a credential object based on a username and password. |
Get-Random | Gets a random number or selects objects randomly from a collection. |
New-Object | Creates an instance of a .NET Framework or COM object. |
Rename-Item | Renames an item in a Windows PowerShell provider namespace. |
Start-Sleep | Suspends the activity in a script for the specified period. |
Write-Output | Sends the specified objects to the next command in the pipeline. |
Split-Path | Returns the specified part of a path. |
Join-Path | Combines a path and child-path into a single path. |
ForEach-Object | Performs an operation against each item in a collection of input objects. |
Where-Object | Selects objects from a collection based on their property values. |
Start-Process | Starts one or more processes on the local computer. |
Format-List | Formats the output as a list of properties in which each property is displayed on a separate line. |
Format-Table | Formats the output as a table. |
Export-Clixml | Creates an XML-based representation of an object or objects and stores it in a file. |
Import-Clixml | Imports a CliXML file and recreates the saved objects. |
ConvertFrom-Csv | Converts object properties in CSV strings into CSV versions of the original objects. |
ConvertTo-Csv | Converts .NET objects into a series of CSV strings. |
Select-String | Finds text in strings and files. |
Conclusion
By now, you should have a comprehensive list of PowerShell commands and a clear idea of their potential. Whether you’re automating tasks, managing network resources, or troubleshooting issues, PowerShell is an indispensable tool for any Windows user or administrator.
These PowerShell cmdlets merely scratch the surface of whats possible. As you grow more comfortable with the console, you’ll find yourself discovering new commands and crafting scripts that perfectly meet your needs.
Remember, the Get-Help cmdlet is always there to provide PowerShell commands help whenever you need more information about a particular cmdlet. Just type Get-Help
followed by the cmdlet you need help with.
FAQ
Enter
. If you need help with a particular command, just type Get-Help
followed by the command you want to understand better.
Get-Command
into the console and pressing Enter
. This will display all available cmdlets and functions you can use.