PowerShell Tutorials

PowerShell Tutorial Enstine.

PowerShell Tutorial for beginners. Windows PowerShell instruction thought-out for those new to PowerShell. In the next few weeks I will be posting a series of PowerShell basics that will provide a good start for a solid foundation.

Here is what I have slated:

  • The Windows PowerShell Console – Configuration and Customization.
  • PowerShell Basics – Cmdlets, Parameters, Command Types, Command Information, etc…
  • Output using the PowerShell Format command.
  • Engaging the Windows File System.
  • WMI and .NET primer (real basic)
  • Variables in PowerShell
  • Taking what you have learned and applying it.

The initial lessons are concentrated around PowerShell as a Command Shell.  The commands and syntaxes you learn will be utilized in script writing. An enormous feature of PowerShell is the ability to build and test code at the command prompt. If you have experience in VBScript you understand. VBScript doesn’t have a command line, you write the script, test it, and make adjustments. With PowerShell you can test functionality within the command line before writing it to your script, very powerful!

Enjoy the Tutorials!

Email This Page To A Friend Email This Page To A Friend

Be Sociable, Share!


Good stuff, thank you.

Well done Mr. Hamrick. I would like to add a comment to your Introduction section. When one runs a script at the PS command line, the syntax calls for .\script.ps1. Hmmm? It still won’t run because one’s ExecutionPolicy is installed with a default of Restricted. Do a Get-ExecutionPolicy, PS shows Restricted. Do Set-ExecutionPolicy RemoteSigned , retry the .\script and Voila! There are some reasons for this that have mostly to do with security & hack prevention. Get-Help -detailed will tell you more as well as Jesse’s many pages and examples.
I had a heck of a time starting out because I didn’t “get this” subtle syntax. Hope this helps those who are being introduced.

That is correct, the Execution Policy is Restricted by default. For those of you who are interested in Patrick’s comment, we discuss Execution Policy and how to set it in the “PowerShell Aliases” tutorial under the “User-Defined Aliases using PowerShell Profiles” section.

you are welcome…

How can i view tutorials, i couldn’t find? or is it paid, kindly let me know as i am intrested to start my scripting for the first time and have zerod on powershell as i have only windows GUI experience.

Tutorials are free and accessible from the sidebar.

I would just like to say thank you for publishing these very useful tutorials!

They have been a great primer on the versatility of PowerShell.

I am going to go out and purchase one of the books you recommended!

Best Regards.

where are the tutorials?

By ides_of_march on March 15th, 2009 at 3:15 pm

am I missing something here? where are the tutorials?

By Bingo Little on March 16th, 2009 at 2:41 am

How about putting a TOC to the tutorials right here in this post?

Where do you find the tutorials? I see the link at the bottom to Tutorial #1, and can search the site and find random other tutorials…but where is the “main” tutorial page with the “index” of, and/or links to available tutorials?

I guess, nevermind. I see the “links” on the side…I guess I was anticipating that the tutorials would continue with the same numbering format (i.e. 1, 2, 3, etc) so a person would know which order to take them in; guess I will start at the top and work my way down the listing.

Great site though! Glad to have some resources available.

Can you please tell me the most efficent order to take these tutorials in?

I just started learning PowerShell earlier this month.
This tutorial was fun and informative. I’m going over the tutorials again to further internalize them.
Thank you for providing such an excellent source!

How do you convert a bash script like the following:

for i in `grep -r “2\.7\.14” *`; do cp $i $i.orig; sed -e ‘s/this/that/g’ $i; done

Which recursively searches files for the string ‘2.7.14’ and replaces it with ‘2.7.15’?

Essentially, how can you process an arbitrary list of items where that list is generated by another process?

By The captcha answer is 4 on March 18th, 2010 at 7:30 pm

Really, where are the tutorials?

did you mean to say “Here is what I have slated”?

By Duncan Drury on June 30th, 2010 at 11:43 pm

Is there a good reason not to list the tutorials in order in the menu? Surely that would take ten minutes or less. Why make it hard?

By Tom Cross on July 17th, 2010 at 7:23 pm

Thank you very much for the tutorials you supplied for NO CHARGE.
If people want to complain about you not putting them in order, I’m sure they can write their own tutorials on how not to look a gift horse in the mouth.
Thanks again for the effort you went to and provide the wider community with this help.

By Stevie Wonder on September 21st, 2010 at 6:15 am

Go on then enlighten me as to where these magical tutorials are.

By Sean McEntire on September 26th, 2010 at 6:30 pm

I am on one of your postings at http://www.powershellpro.com/powershell-tutorial-introduction/, but do not see the mentioned PowerShell tutorials anywhere on the site. Are they still available?
Thank you,

where are these tutorials? the first one was good and straight forward, really would like to see the rest of them.

All the tutorials links on the left hand side of this article. Initially i was also expected to have links from the main article itself, but for some reason, the author of this tutorial took a different approach. Neverthless, i’m new to PS and would like to learn from the scratch.. i mean Ground 0… :-)

Enjoy the power of PowerShell and learn from the tutorials.

Where are the tutorials??

By ThrashersFan on November 9th, 2010 at 1:39 pm

I’d have a better chance finding Bigfoot rather than the tutorials. Boooooooo!

Folks, the tutorials are in the SIDEBAR under the RSS ICON that says, Subscribe to RSS FEEDS, it says POWERSHELL TUTORIALS and under that you should see links and YES those links that don’t say tutorial 1,2,3 and so forth, but they are in chronological order start with the 2nd and keep going. They are good, accurate and most important FREE. So please keep your Criticism for yourself and show appreciation for somebody that put these together for FREE there is a lot involve in creating this type of tutorials so please express gratitude if have it in you.

Thanks, well done Mr. Hamrick. For sharing your knowledge, this is an invaluable tool for us that are perhaps IT guys (Geeks) but did not put interest in learning PS before as is my case. This is a tremendous tool and I reiterate my gratitude Sir. I wish that I can reciprocate your kindness at one point, Best of luck.

By Buddy Stein on November 20th, 2010 at 7:39 am

You guys need to study web design. How can you have a tutorials page without links to tutorials.


I just wanted to say thank you for a terrific resource, and totally free.

Regarding some of the other comments….
I feel I must point out that “Nothing is fool-proof in the hands of a true fool.”
I personally found the tutorials on the right of the main page and listed in a totally logical order.

Once again many thanks.
Steve B

The tutorials listing could obviously be listed out much better, but it is there. I too hunted and hunted. I clicked on the “PowerShell Tutorials” link thinking they would be listed under there only to find this very short posting and had no clue that “PowerShell Console” was the next ‘tutorial’ as there was no reason to think it was. That being said they are very useful and appreciated, but could easily be laid out in a more understandable manner in about two minutes.


how do i lok at the contents

I also couldn’t find the tutorials. FYI, when using IE its displays on the right but if your using Firefox it is placed all the way at the bottom of the page.

By Alex Brutter on January 3rd, 2011 at 4:44 am


By Srinivasa on May 16th, 2011 at 11:19 pm

Hi: pls provide links for tutorials

Just found this site as need to start learning powershell (unfortunately, as dev is not my thing!), but glad to find a source of information that breaks it down to a level that I can understand. Thanks :-)
I also enjoyed reading the comments and the lack of ability to find the tutorials. Most entertaining. Epic Fail!


Many thanks for posting these tutorials, what a great community offering. Greatly appreciated by those of us who want to get going on Powershell.

For those who cannot see where the tutorials are, they should not be in I.T. if they can’t even see the big heading on the right that says “POWERSHELL TUTORIALS”!!!!! :-)

Bob, look at Get-Content, Set-Content and -replace parameter:

$files = get-Content d:\1\filelist.dat
foreach ($file in $files) {
$content = Get-Content $file
$result = foreach ($line in $content) {
$line -replace “in”,”im”
$result | Set-Content $file

Example above reads the content of filelist.dat which contains the path and filenames of all files where you need to make replacements, like this:
Then it reads every file in the list and replaces “in” with “im”. In my case I put the following inside each file?.dat file:
Line 1
Line 2
Line 3
Line 4
And all these lines were replaced with
Lime 1
Lime 2
Lime 3
Lime 4
in all the files.

The title of the first link under the section “Powershell Tutorials” should NOT be called ‘Powershell Tutorials’. This is confusing to many. Instead, consider naming the link something like ‘Introduction’, or, ‘About these Tutorials’. Also consider an auto-generated numbering system, with the first link starting at ‘1’, the next starting at ‘2’, etc. This way people will see right away the progression of links and not get confused.

Dave W is spot on with his observations above. The current design and layout is potentially confusing to many. If I click a link that says ‘Powershell Tutorials’, I expect to be immediately taken to a list of every tutorial in the guide. Instead, I’m taken to a page with no tutorial content, and just an introduction. Most importantly, I’m left wondering, “So… I’m guessing all of the other links below the first one, ‘Powershell Tutorials’, are NOT tutorials, and either more advanced guides, or links to other sites.”

Change the text of that first link from ‘Powershell Tutorials’ to “Introduction” and I think you’re golden.

I highly suggest to SPNick that he learn to think about and view a situation as someone else might. You’ll catch many more flaws in a system that way.

Other than the subtle design flaw, great site!

You have to surf through the tutorials by clicking the links on the right hand side

You have to surf through the tutorials by clicking the links on the right hand side

Thank you Larold, after banging on the Tutorial Link several times I thought something was wrong so jumped to bottom of comments and saw your comment. I thought the other links were in addition to the tutorial. Just a beginner. Thank you again,

confusing website. not very intuitive.
took me a while to figure out where the tutorials are. had to read through the comments to figure it out.

bad website design/layout.

How can someone miss the powershell tutorials. It is written in bold on the side of the screen. Don’t tell me you can’t find it. When you came to learn powershell programming I assume you do have intention to find something on your own, not to expect spoon feeding. That’s all my 2Cents.

Got to Tutorial 1 but cannot find the rest of them.

I have worked 20 years in IT but I cannot find those tutorials. Man you need to something about that. Maybe your tutorials were exactly what I was looking for but I will leave your website now and google something else and never come back here. Utterly bad website design. Boo.

POWERSHELL TUTORALS (this page!!!!!)
POWERSHELL CONSOLE (Tutorial 1 ????)
POWERSHELL CMDLETS (Tutorial 2 ????)


Who’s fault?

visitor who try to find tutorial, give up and move to next google result?

or author who claim existence with capital letters?

I agree with Steve – poor design.

The big RSS blog subscription headline makes it look like the links below it are to subscribe to different powershell tutorial blogs, not access them directly.

Also, the google results show titles like “Tutorial – Trainig lesson 6. PowerShell Scripting Intorduction” (SIC) but there are no ‘lesson numbers’ shown anywhere in/near those links on the right.

By Alte Bier on March 15th, 2012 at 3:44 am

Seriously, all of you, which try to find those tutorials: If you can’t find those tutorials on this page, DON’T start hassling with PowerShell! 😀

me too. Had to read the full comments to figure out where the tutorials are located. It is not in bold but in grey fonts under a heading called “subcribe to blog feeds” on right side. at a glance, it looks like an ad attached this website. it’d better to be relocated just right underneath this article.

Please ignore all the comments on how to find the tutorials. I found them easy enough and I appreciate that they are free.

There is always someone that likes to moan.

Many Thanks

AWESOME. I’ve been in a coma for the last 4 years and missed out on powershell, etc. I am catching up now, and your tutorial was all I needed to get going. Coupled with my existing programming knowledge, all I needed to do was get familair with the environment and the language structure. Your tutorials are laid out in perfect order and perfect pace. THANK YOU!

Thanks. Just what I was looking for. Also like to add wasn’t hard to find. Read blog, moved eyes to the right a bit, clicked PowerShell Tutorials

cant find the tutorial

Where the heck are the tutorials? I am having trouble understanding this web page. There is a link in the lower right to “Powershell Tutorials”, but it only takes me to this same page with no apparent links to tutorials.

I’m sure it’s just me, but this is frustrating.

Never mind, I figured it out. It might be better to remove the Powershell Tutorials link from the top of the actual list of Powershell tutorials.

Just a minor suggestion.

Yup – very difficult to figure out where are the tutorials. Your fist clue that the page isn’t designed well should be that there are a bunch of comments from people who can’t find the tutorials. Don’t argue with them – duh – fix the UI.

BTW – The page shows an error message when you press the submit button…my fault also?


My main purpose of this Question is to get a Powershell Script which allows me to RDP into multiple servers. Also, the RDP Session should get the Authentication credential from the Script itself via secure password entry from a form (just like get-credential).


1. Form-based entry which allows me to select single or multiple servers. If single, the entry should be on the screen itself. If multiple servers, it should get entry from a file
2. RDP Session should get the Authentication credential from the Script itself via secure password entry from a form (just like get-credential)
3. Authentication Credential should be entered only once, which should be utilised automatically on all other servers.
4. My Servers are having a Audit Message like “Your login is monitored, etc” while I login to any Server. So This script should bypass this message automatically & connect using the above mentioned Credential.

Please help me on this regard as it is really a pain to type in my credentials whenever I RDP to many servers.



By James Tanit on October 4th, 2012 at 6:51 am

The site is awkward, why so many people were asking where is the tutorial?

Fantastic! Thank you

Terrible design of site layout. I was lost after reading the welcome note. Where do I go next?

Your bounce rate must be atleast 90%

This is a luvly one.. Just saw this hope this wud be useful.. Gonna start using this one.. Great thnx to author and also publishers.

Well, it’s true what some people are posting here. There are a few ways to make the navigation a little easier on this site. If I were paying to use this resource I might complain about the menu – BUT – This is a free site … FREE!!!
When somebody gives me something for free, I say “Thank you.”
When that free stuff is as helpful as these tutorials, I say “Thank you very much.”

Seriously, it’s way past time for me to move past VBS and these tutorials are really helping me to get a better understanding of PS.

Thank you very much.

Oh, and don’t change the menu. It’s fun watching the noobs panic. lol

Three things I like here:
1. Einstein is writing script code!
2. Four years of complaints about finding the free tutorials! I hope the site design never changes just to keep the meme alive.
3. Good tutorials – after setting execution policy properly.

I’m sooooooooooooo confused!


It is excellent, can anyone share Tutorial 2 link.

Abdul – India

Hi ,

Superb material …
Can any one please let me know the other tutorial links .

Thanks in advance

the link in the sidebar to tutorials doesn’t seem to work, if you open in a new tab it still opens your home page.

Don’t change anything regarding the usability of the site. Because then more people would be able to use it. Then more people would be happy. Inefficient tinkering is what we need more of in technology.

Ok, so I FOUND the tutorials, but I really do think that your site could be improved by a small link “click here for the first tutorial!” or changing the titles on the side to say “tutorial 1: bla bla bla”…

I was confused also initially.

So, I’m wondering why you have this comment section at all? Many people have told you that you web site navigation sucks and well, it still sucks….

I stumbled upon one of your tutorials directly via a Google search and in it there was a textual (not hyperlinked) reference to another one, whose title sounded interesting. After trying for 15 minutes to find a way to get to your TOC, I’m giving up.

I’ll have more luck finding your individual tutorials via Google search going forward.

You really should post links to your tutorials on the page, rather than in the comments. You say, “enjoy the tutorials”, but you don’t provide a link. This is a really big mistake, and is causing a lot of frustration.

If you can’t find the tutorials, IT experience or not, you’re kind of an idiot.

I agree that the site is poorly made, but complaining about not being able to find the tutorials? They are RIGHT THERE on the side bar.

If you can’t find them, you’re definitely not ready for PowerShell, let alone anything computer-related. Sorry :(

By Darrell Houghton on June 20th, 2013 at 10:00 am

You may be a “Powershell Pro” but you know nothing about website usability. Many readers have commented how the links to your tutorials can’t be found intuitively, yet you resist adding any helpful directions as to where to find the links. Then you insult your readers by calling them idiots? I would think a blogger would *want* readers to easily find their material, but then again I’m just an idiot.

Perhaps you’ll learn better social skills when you reach high school.

LOL. ok so first of all I “found” the tutorials because I was looking for a nav bar as soon as I loaded the home page. It’s really not that hard to use your eyes and think critically.

Secondly, why are so many people taking the time to scroll all the way down to “leave a comment” saying they can’t find the tutorials that are right at the top of the page, AND apparently skipping past all the comments that say where they are?

And lastly Darrell H, who are you talking to? Steve called those people an idiot. Not the author of the site, Jesse Hamrick. Get off your high horse. But “perhaps you’ll learn better social skills when you reach high school” and how to read.

All that being said…
Jesse if you even bother reading these comments Thank you for an amazing site. Steve you are right they are idiots.
Everyone else. Sorry if I’ve offended you but you really shouldn’t be offended in the first place. Use your eyes and brains for a change.

All right, first of all thanks for these great tutorials. I have not seen everything yet but so far so good. I had no problem at all finding them, which seems to be the biggest problem so far in the comments above.

I have a slightly embarrassing issue. You see, whenever I am trying a command like “get-acl ” I get the message “The ‘<' operator is reserved for future use.".
I have looked around the internet for a solution but this does not seem to be a common issue.
What does this mean and how can I fix it?

Quick question… I have ZERO Powershell experience and I’m in the process of signing up for a Powershell course. There are 2 courses available to me, an in-class instructor led Powershell V2 class, or a virtual, web-cast Powershell V3 course. Is there a big difference between V2 and V3? Would it be a waste of time to learn V2 first?

Thank you for sharing with us your valuable time, I am really interesting powershell and I would like to explore more. I just wonder where could I get the other lessons please.

Many thanks


I realize this is free content – THANK YOU – that’s great!
However, there’s obviously a big problem with the layout of the page and tutorial links. If you have this many people asking where they are, and when you finally see them it’s not obvious if there is any sequence other than top-down.


thanks for your free content!

Tutorial Links should be on left. Story and comments should be on the right. Trust me I am a professional web designer :)

Agree, links should be on the left. At first, I thought this was just a well-done SEO trap, and went looking for “real” content elsewhere. A link on Stackoverflow brought me back here.

Anyway, thanks for the content, much appreciated!

Addendum: As a trivial work-around that doesn’t change the layout, I’d suggest you change the first sentence from “PowerShell tutorial for beginners.” to something like “PowerShell tutorial for beginners, find individual lessons in the right-hand side navigation bar.” That would be useful for people like me, which try to decide quickly if a google hit hosts good content or not.

Thanks again, I like the hands-on style!

WTF! could not find the tutorial, had to brows the comments to find it.

I like wasting time on this shit? (really!)

Why can you not understand good design? Are you people at MS really stupid?

Why not close the content by:
“Enjoy the Tutorials, located on the right hand side panel”

Fekking idiat!

By In agreement with all above on October 22nd, 2013 at 7:22 am

Yeah, I too was about to leave this site because of poor UI/UX design. I may not have been as hostile with my comments, but what can be constructively extracted is essentially exactly correct. Navigation is an important part of Design. Try “Back” and “Next” buttons directly under your actual content; that is what I was looking for and that is what I believe is most common for this type of content in this type of layout.

I must just say that there are some really stupid people out there. How can so many people NOT find the Tutorials?????

As Forrest Gump said “That’s all I’ve got to say on that subject”

By Vineet Soni on November 26th, 2013 at 9:45 pm

I am unable to see tutorial. From where I can able to see it?????

you guys are funny. I am a total nerd on PS but I have gotten some great laughs from the “idiots” etc. who are so closely checking on the teeth of their gift horse.

I do not know what the beep powershell is for !!!!!!!!!!!!

Where is this tutorial ? I need Powershell to automate the installation of 200 new PC’s !

This site is EXTREMELY difficult to navigate. Where are all these supposed tutorials?

For those looking for the tutorials, try this url

Some tutorials are on the left pane, but it’s true some organization is needed !

By Piotr Wenta on January 22nd, 2014 at 6:49 am

Excellent tutorial :-) Although I think I missed something. I come from Perl and Unix shell scripting experience and could not see anything on error handling, interruptions and signals.

By Piotr Wenta on January 22nd, 2014 at 6:52 am

When I pressed the ‘Submit Comment’ button below when sending the above comment I have got the below ‘screen’:

WordPress database error: [Table ‘jessenha_wrdp3.wp_post2cat’ doesn’t exist]
SELECT cat_ID AS ID, MAX(post_modified) AS last_mod FROM `wp_posts` p LEFT JOIN `wp_post2cat` pc ON p.ID = pc.post_id LEFT JOIN `wp_categories` c ON pc.category_id = c.cat_ID WHERE post_status = ‘publish’ GROUP BY cat_ID

when looking for examples for the move-item cmd, I saw different use with the same result. So why use e.g. -literal / -destination

same result with:
move-item -Literal \\x.x.x.x\Posteris\temp\testplaatje1.png -destination \\x.x.x.x\Posteris\ -force
move-item \\x.x.x.x\Posteris\temp\testplaatje1.png -destination \\x.x.x.x\Posteris\ -force
move-item \\x.x.x.x\Posteris\temp\testplaatje1.png \\x.x.x.x\Posteris\ -force

By zubair Ahmad on March 20th, 2014 at 12:08 am

Can any body help me out i have a scenario where i need to move Active directory user,groups, OU, computers approximately 6000 user 2008 to 2012 server how to do it through power-shell command .

By Don Logans Conscience on March 21st, 2014 at 4:40 am

Thank you for the tutorials, as clearly people are ungrateful for your efforts. Specifically scourges of this earth such as Mr. Don Logan who I would love to meet in person to help his “critical thinking” abilities. Anyway, if you cannot find the tutorials, then you have no business attempting to learn from them, stick with learning to read or perhaps learn to utilize a CPU. Let alone use profanity which yields zero purpose and shows how ignorant one is. Show some respect or don’t say nothing at all; DON LOGAN who clearly cannot read, nor take a couple seconds to look at the website before running his fat mouth. Comments like that will get certain “communities” marking you as a target, so keep that in mind you inconsiderate prick of a human being!

Best Regards,
Don Logans Conscience (if it exists)
“Were you born an asshole? Or did you work at it your whole life?” Rodney Carrington

many thanks for putting up these excellent materials! A number of people have commented on the style, yes you have a very approachable style, so write that book!

Best wishes from UK

By Paul Steel on May 26th, 2014 at 4:34 am

I downloaded Powershell via your link. When attempting to install, it give no option for location of program files and aborts stating ‘Not enough storage space….’ I have 225GB free on C: and 58GB free on D:

How much space does it need. :-)

By Paul Steel on May 26th, 2014 at 4:54 am

Not to worry, it seems it is installed by default in win7, so I will now be able to follow your excellent tutorial.

Thank you.

I think that a Powershell version 1 tutorial is somewhat obsolete.

Hi, Where is the first tutorial. Where is the second?


tnx a lot. it was very helpful for me.
visit our site too


I could not find Power Shell tutorial here. Please let me know the link.

where is the tutorial???

No encuentro el tutorial

By ??? ??? ???? on November 16th, 2014 at 8:07 am

Thank You Alot
??? ??? ????

hi guys thanks so much for this good stuff.

keep up the good work.

Very bad web layout, not very useful, where are the tutorials…on the side but still a mess and confusing, need a script to locate the tutorials.

By Ibod Catooga on April 7th, 2015 at 5:07 am

How many dildoes do you reckon would fit in a donkey’s bumbole?

How many do you really think huh?

No, dont waist time on this page looking for tutorials

“Enjoy the Tutorials, located on the right hand side panel”


hi, thanks for publishing the tutorials.

thank yoooooooooou

??????? ??????????????????25?????URL???80???????????/??????????????100??3???????????URL????????10??????????SEO?? ?????????????????????????????????????,????????????????????

For China’s behaviour over the years, most countries in the world are unhappy state of mind.And cancel the alliance with China and friendly.Some countries to China in the future to expand the territory in prepared to defense,The diaoyu islands to eventually, to join several other United Nations to r

For China’s behaviour over the years, most co The diaoyu islands to eventually untries in the world are unhappy state of mind.And cancel the alliance with China and friendly.Some countries to China in the future to expand the territory in prepared to defense, to join several other United Nations to resist the invasion of China in th

Now China is currently more than 1.5 billion people, and for the huge country, facing the national territory, such as the Philippines “Thitu Island” is a case in point, all in the name of the reconquista grabs soft invasion, and the alarm was international countries regard it for granted, the overly

Now China is currently more than 1.5 billion people,The diaoyu islands to eventually, and for the huge country, facing the national territory, such as the Philippines “Thitu Island” is a case in point, all in the name of the reconquista grabs soft invasion, and the alarm was international countries


Leave a Comment