Introduction to PowerShell

In this short PowerShell introduction, I’ll explain what PowerShell is and what it was created for, as well as provide a list of useful resources that can help you learning PowerShell scripting and make your working life easier.

Windows PowerShell is a Windows command-line shell created to simplify administration of various Microsoft products. For example, the PowerShell ISE adds syntax coloring, tab completion, visual debugging and more. It is basically a programming language that is built on the .NET framework; you can use this scripting language to enter single PowerShell commands or write longer PowerShell scripts. The Windows PowerShell environment consists of two applications: the PowerShell Console and PowerShell ISE (which stands for “integrated scripting environment”). The latter gives you better possibilities to write, run and test scripts.

PowerShell commands are called cmdlets. You can enter a single cmdlet at the command line or combine multiple cmdlets to create scripts that perform complex administrative tasks. Windows PowerShell includes more than hundred cmdlets for performing many basic day-to-day administrative tasks. You can interact with various objects, including users, groups, Group Policy and files.

PowerShell provides you with the power to easily get data about current system settings, make changes to objects, manage services, and manage access to systems, including file systems. Having a solid knowledge of PowerShell scripting will enable you to reduce the time you have to spend on many administrative functions, without having to purchase and implement third-party tools.

Start learning PowerShell scripting with our PowerShell scripting tutorial for beginners. This tutorial covers the basics, such as launching the PowerShell on your desktop and preparing to run PowerShell scripts, and also provides detailed information about PowerShell cmdlets.

Here are other resources that will be helpful in getting started with PowerShell and PowerShell scripting:


Jeff is a Director of Global Solutions Engineering at Netwrix. He is a long-time Netwrix blogger, speaker, and presenter. In the Netwrix blog, Jeff shares lifehacks, tips and tricks that can dramatically improve your system administration experience.