<p>I played with one of the early beta versions of PowerShell V1, but haven't used it since it went "gold". What is the best way to get started using PowerShell?</p>

<p>Which version of PowerShell should I be using (V1.0 vs 2.0 CTP's)? What are you using PowerShell for? Are there any tools that make using PowerShell easier (that is, development environments)?</p>

[{'answer_id': 33576, 'author': 'Kevin Dente', 'author_id': 9, 'author_profile': 'https://Stackoverflow.com/users/9', 'pm_score': 4, 'selected': False, 'text': '<p>There are a number of PowerShell tools, for example,</p>\n\n<ul>\n<li><p><a href="http://powergui.org/index.jspa" rel="nofollow noreferrer">PowerGUI</a></p></li>\n<li><p><a href="http://www.powershellplus.com/" rel="nofollow noreferrer">PowerShell Plus</a> (not free)</p></li>\n<li><p><em><a href="https://rads.stackoverflow.com/amzn/click/com/1932394907" rel="nofollow noreferrer" rel="nofollow noreferrer">PowerShell in Action</a></em> is a well-regarded book.</p></li>\n</ul>\n\n<p>And the Powershell team <a href="http://blogs.msdn.com/powershell/" rel="nofollow noreferrer">has a blog</a>.</p>\n'}, {'answer_id': 33582, 'author': 'PabloG', 'author_id': 394, 'author_profile': 'https://Stackoverflow.com/users/394', 'pm_score': 2, 'selected': False, 'text': '<p>Check <a href="http://www.powergui.org/index.jspa" rel="nofollow noreferrer">PowerGUI</a>, a PowerShell GUI and script editor. I don\'t use it yet, but I saw the sample videos and looks <em>very</em> good. Also, the site mantains a library with sample scripts. </p>\n\n<p><a href="http://www.computerperformance.co.uk/powershell/powershell_service.htm" rel="nofollow noreferrer">Here</a> is another excellent PowerShell reference.</p>\n'}, {'answer_id': 33760, 'author': 'slipsec', 'author_id': 1635, 'author_profile': 'https://Stackoverflow.com/users/1635', 'pm_score': 2, 'selected': False, 'text': '<p>Count me in with a vote for <em><a href="https://rads.stackoverflow.com/amzn/click/com/1932394907" rel="nofollow noreferrer" rel="nofollow noreferrer">PowerShell in Action</a></em>. There are a bunch of blogs out there as well, check out <a href="http://thepowershellguy.com" rel="nofollow noreferrer">//\\O//</a>\'s blog, <a href="http://huddledmasses.org/" rel="nofollow noreferrer">The Huddled Masses</a>, and <a href="http://mspowershell.blogspot.com/" rel="nofollow noreferrer">JB\'s Powershell</a> (SQL) as well, they go way back with the shell and have gobs of good scripts &amp; snippets to look at.</p>\n'}, {'answer_id': 33797, 'author': 'Eric Haskins', 'author_id': 100, 'author_profile': 'https://Stackoverflow.com/users/100', 'pm_score': 0, 'selected': False, 'text': '<p>There are <a href="http://www.dnrtv.com" rel="nofollow noreferrer">DNRtv</a>s on PowerShell and PowerGUI. There are also <a href="http://www.dotnetrocks.com" rel="nofollow noreferrer">.NET Rocks!</a> episodes about these tools.</p>\n'}, {'answer_id': 34816, 'author': 'Steven Murawski', 'author_id': 1233, 'author_profile': 'https://Stackoverflow.com/users/1233', 'pm_score': 7, 'selected': True, 'text': '<p>For learning PowerShell, there are a number of great resources</p>\n<ol>\n<li>Technet Virtual Labs (<a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;EventID=1032314395&amp;EventCategory=3" rel="noreferrer">Introduction to Windows PowerShell</a>)</li>\n<li>PowerShellCommunity.org - Forums, blogs, script repository</li>\n<li><h1>powershell on irc.freenode.net</h1>\n</li>\n<li>PowerShell podcasts - PowerScripting.net and Get-Scripting.blogspot.com</li>\n</ol>\n<p>For IDE style environments, you have PowerShell Analyzer (free) and PowerGUI (free), PowerShell Plus (commercial), PrimalScript (commercial), and Admin Script Editor (commerical).</p>\n<p>I use PowerShell for everything that I can.  Right now, I\'m looking at <a href="http://codebetter.com/blogs/james.kovacs/archive/2008/06/27/introducing-psake.aspx" rel="noreferrer">Psake</a>, a PowerShell based build script environment.  I use if for managing my Active Directory, Hyper-V, Twitter, some keyboard automation (hosting PowerShell in a winforms app to grab keystrokes), and a ton of other stuff.  Another cool project I have to check out is <a href="http://codeplex.com/psexpect" rel="noreferrer">PSExpect</a> for testing.  I also use it for database access - monitoring changes made to rows in a database by applications.  It is also integrated in to my network monitoring solution.</p>\n<p>I am also looking to use PowerShell as a scripting engine for a project I am working on.</p>\n<p><strong>EDIT</strong>:\n<strike>If you are just learning PowerShell, I would focus on V1.  As you get more comfortable, take a look at the CTP, but too much can change from the CTP to what is actually released as V2 to make that your learning tool.</strike>\nVersion 2 is out and available from XP SP3, Server 2003, Vista, and Server 2008 and in the box for Win7 and Server 2008 R2.  What you learned for V1 will still serve you well, but now I would concentrate on V2, as there is a superior feature set.</p>\n<p>Good luck!</p>\n'}, {'answer_id': 34846, 'author': 'jerhinesmith', 'author_id': 1108, 'author_profile': 'https://Stackoverflow.com/users/1108', 'pm_score': 2, 'selected': False, 'text': '<p>The <a href="http://arstechnica.com/guides/other/msh.ars/2" rel="nofollow noreferrer">Ars Technica tutorial</a> is a bit dated, but very good to get you up-and-running with PowerShell.</p>\n\n<p>I would also second the suggestion to check out <a href="http://powergui.org/index.jspa" rel="nofollow noreferrer">PowerGUI</a>.</p>\n'}, {'answer_id': 40676, 'author': 'John Channing', 'author_id': 3305, 'author_profile': 'https://Stackoverflow.com/users/3305', 'pm_score': 5, 'selected': False, 'text': '<p>To answer your questions one by one.</p>\n\n<p>Get v2.0 of the CTP. I have used 1.0 and 2.0 and have not found any stability issues with the later version and it has more <a href="http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx" rel="noreferrer">functionality</a>.</p>\n\n<p>The best way to get started is to learn <strong><em>three</em></strong> basic commands and start playing with it. </p>\n\n<p><strong>Step 1 - Discover the available commands using Get-Command</strong></p>\n\n<p>To find all of the "get" commands, for example, you just type:</p>\n\n<p>*Get-Command get**</p>\n\n<p>To find all of the "set" commands, for example, you just type:</p>\n\n<p>*Get-Command set**</p>\n\n<p><strong>Step 2 - Learn how to use each command using Get-Help</strong></p>\n\n<p>To get basic help about the Get-Command commandlet type:</p>\n\n<p><em>Get-Help Get-Command</em></p>\n\n<p>To get more information type:</p>\n\n<p><em>Get-Help Get-Command -full</em></p>\n\n<p><strong>Step 3 - Discover object properties and methods using Get-Member</strong></p>\n\n<p>Powershell is an object oriented scripting language.  Everything is a fully fledged .Net object with properties and methods.</p>\n\n<p>For example to get the properties and methods on the object emitted by the Get-Process commandlet type:</p>\n\n<p>Get-Process | Get-Member</p>\n\n<p>There are a few other concepts that you need to understand like pipes and regular expressions, but those should already be familiar if you have already done some scripting.</p>\n\n<p><strong>What am I using it for?</strong></p>\n\n<p>Two things:</p>\n\n<ol>\n<li>Processing log files from a massively distributed grid application.  For this it has proven to be incredibly valuable and powerful.</li>\n<li>Quick testing of .Net classes.</li>\n</ol>\n'}, {'answer_id': 92615, 'author': 'Tubs', 'author_id': 11924, 'author_profile': 'https://Stackoverflow.com/users/11924', 'pm_score': 0, 'selected': False, 'text': '<p>A chap called Guy Thomas does <a href="http://computerperformance.co.uk/ezine/" rel="nofollow noreferrer">some good introductions to PowerShell</a>.</p>\n'}, {'answer_id': 180936, 'author': 'Jeffery Hicks', 'author_id': 25508, 'author_profile': 'https://Stackoverflow.com/users/25508', 'pm_score': 1, 'selected': False, 'text': "<p>The PowerShell CTP is NOT supported in a production environment and a lot will change between now and the time it ships.  I suggest following the many PowerShell blogs (don't forget the PowerScripting podcast). There's no shortage of good books on the topic.  If you want to spend a little money, SAPIEN Technologies has some self-paced learning material at www.scriptingoutpost.com.  I believe Don Jones has done a series of training videos for CBT Nuggets.  You can probably find out more at concentratedtechnology.com.</p>\n"}, {'answer_id': 1228785, 'author': 'Jon Sagara', 'author_id': 731, 'author_profile': 'https://Stackoverflow.com/users/731', 'pm_score': 3, 'selected': False, 'text': '<p>I just found this free ebook, linked from the Windows PowerShell blog:</p>\n\n<p><a href="http://powershell.com/cs/blogs/ebook/" rel="noreferrer">Mastering PowerShell</a></p>\n'}, {'answer_id': 4777468, 'author': 'GlennS', 'author_id': 152567, 'author_profile': 'https://Stackoverflow.com/users/152567', 'pm_score': 1, 'selected': False, 'text': '<p>I think getting into the habit of automating small tasks is a great way to train yourself in PowerShell. For example, writing a throwaway script rather than doing an onerous looking bit of text-processing by hand. It may actually take longer the first few times, but as you get quicker and build up a library of useful snippets that you can chain together you can save yourself a lot of time.</p>\n'}, {'answer_id': 4877147, 'author': 'David.Chu.ca', 'author_id': 62776, 'author_profile': 'https://Stackoverflow.com/users/62776', 'pm_score': 0, 'selected': False, 'text': '<p>I would start it on the fly. What I mean by on-the-fly is that just start to work on your real case and search for help on the web or this site for help if you don\'t know what to do. For sure, it will very beneficial if you spend some time to learn some basics first. This is what get on to PowerShell.</p>\n\n<p>I have some blog posts on PowerShell, especially 3-serials on a real case I posted recently. Search for davidchuprogramming or go <a href="http://davidchuprogramming.blogspot.com/" rel="nofollow">here</a>. Good luck with your PowerShell journey.</p>\n'}, {'answer_id': 6981320, 'author': 'Robert Roos', 'author_id': 570312, 'author_profile': 'https://Stackoverflow.com/users/570312', 'pm_score': 0, 'selected': False, 'text': '<p>With regard to the IDE question:</p>\n\n<p>There is a rudimentary IDE which, on my computer at least, is already installed with PowerShell.</p>\n\n<p>It\'s labeled "WindowsPowerShell ISE", and lets you do things like have several console sessions and several script files open simultaneously... one set of tabs for the scripts, one set for the console sessions, so you can click back and forth as needed.</p>\n'}, {'answer_id': 8016223, 'author': 'James Drinkard', 'author_id': 543572, 'author_profile': 'https://Stackoverflow.com/users/543572', 'pm_score': 0, 'selected': False, 'text': '<p>PowerGUI was a big help in and of itself. The <a href="https://en.wikipedia.org/wiki/Intelli-sense" rel="nofollow">IntelliSense</a> feature sold me on it, then I found some useful add-ons that were very good.</p>\n\n<p>As far as resources:</p>\n\n<p>Free eBooks:</p>\n\n<ul>\n<li><p><em>Windows PowerShell Cookbook</em></p></li>\n<li><p><em>Mastering PowerShell</em></p></li>\n<li><p><em>PowerShell A more in-depth look</em></p></li>\n</ul>\n\n<p>Introductory Video:</p>\n\n<p><a href="http://powergui.org/entry.jspa?externalID=2278&amp;categoryID=361" rel="nofollow">http://powergui.org/entry.jspa?externalID=2278&amp;categoryID=361</a></p>\n'}, {'answer_id': 11317025, 'author': 'Brad Wood', 'author_id': 1498979, 'author_profile': 'https://Stackoverflow.com/users/1498979', 'pm_score': 2, 'selected': False, 'text': '<p>Find a problem you need to solve and sit down and do it with PowerShell until it\'s fixed.  </p>\n\n<p>Don\'t give in and do it another way. Then find another, and another, etc. You\'ll take WAY longer at the start, but you\'ll be building knowledge to use going forward. As well as a script library to pull from for the future. One day you\'ll turn around and realize you now "know" PowerShell.</p>\n\n<p>It\'s awesome. :)</p>\n'}]
['https://Stackoverflow.com/questions/33559', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/708/']