<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Use PowerShell &#187; General</title>
	<atom:link href="http://blog.usepowershell.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.usepowershell.com</link>
	<description>Real Admins Script</description>
	<lastBuildDate>Sat, 17 Jul 2010 14:38:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Chicago Code Camp &#8211; May 1</title>
		<link>http://blog.usepowershell.com/2010/04/chicago-code-camp-may-1/</link>
		<comments>http://blog.usepowershell.com/2010/04/chicago-code-camp-may-1/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 22:00:07 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2010/04/chicago-code-camp-may-1/</guid>
		<description><![CDATA[The Chicago Code Camp is being held on Saturday, May 1st.&#160; I’ll be presenting a PowerShell Deep Dive.&#160; If you are in the Chicago area and want to get down into the guts of the PowerShell language and runtime (or many other great sessions!), come on out.&#160; There were 100 97 tickets available last time [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://chicagocodecamp.com/" target="_blank">Chicago Code Camp</a> is being held on Saturday, May 1st.&#160; I’ll be presenting a PowerShell Deep Dive.&#160; If you are in the Chicago area and want to get down into the guts of the PowerShell language and runtime (<a href="http://chicagocodecamp.com/agenda" target="_blank">or many other great sessions!</a>), come on out.&#160; <a href="http://chicagocodecamp.eventbrite.com/" target="_blank">There were <strike>100</strike> 97 tickets available last time I checked…</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/04/chicago-code-camp-may-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>April Script Club &#8211; Special Guest</title>
		<link>http://blog.usepowershell.com/2010/04/april-script-club-special-guest/</link>
		<comments>http://blog.usepowershell.com/2010/04/april-script-club-special-guest/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 20:11:03 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2010/04/april-script-club-special-guest/</guid>
		<description><![CDATA[The Greater Milwaukee Script Club will be meeting on April 20th and we will have a special guest – James Brundage (twitter &#124; blog &#124; blog).&#160; James is a member of the PowerShell team at Microsoft, as well as a blogger, community member, guest on the PowerScripting Podcast, and author of the PowerShellPack – part [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://powershellgroup.org/milwaukee.wi" target="_blank">Greater Milwaukee Script Club</a> <a href="http://mkescriptclub.eventbrite.com" target="_blank">will be meeting on April 20th</a> and we will have a special guest – James Brundage (<a href="http://twitter.com/jamesbru" target="_blank">twitter</a> | <a href="http://blogs.msdn.com/MediaAndMicrocode/" target="_blank">blog</a> | <a href="http://blogs.msdn.com/powershell/" target="_blank">blog</a>).&#160; James is a member of the PowerShell team at Microsoft, as well as a blogger, community member, guest on the <a href="http://powerscripting.net/" target="_blank">PowerScripting Podcast</a>, and author of the <a href="http://code.msdn.microsoft.com/PowerShellPack" target="_blank">PowerShellPack</a> – part of the Windows Resource Kit.</p>
<p>Last month, we used the <a href="http://blogs.msdn.com/powershell/archive/2007/01/01/the-admin-development-model-and-send-snippet.aspx" target="_blank">Admin Development Model</a> to solve a particular problem <a href="http://www.liquidclever.com/" target="_blank">one of our brave volunteers</a> was trying to deal with in his environment. </p>
<p>We have planned to talk a bit about error handling, and as always, work on <strong>your</strong> scripts.</p>
<p>If you are a PowerShell user or need to become a PowerShell user and are in southeastern Wisconsin, come on down, all are welcome (<a href="http://mkescriptclub.eventbrite.com" target="_blank">free registration requested</a>)!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/04/april-script-club-special-guest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wisconsin Virtual SQL Server Lunch and Learn</title>
		<link>http://blog.usepowershell.com/2010/02/wisconsin-virtual-sql-server-lunch-and-learn/</link>
		<comments>http://blog.usepowershell.com/2010/02/wisconsin-virtual-sql-server-lunch-and-learn/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 18:46:21 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2010/02/wisconsin-virtual-sql-server-lunch-and-learn/</guid>
		<description><![CDATA[I just finished taking up 13 people’s lunch hour to talk a bit about PowerShell V2, SQL Server, and the admin development model. I want to thank John Allman and the Wisconsin SQL Server User Group for allowing me the time to share a bit about PowerShell.&#160; I believe John will be posting the recording [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished taking up 13 people’s lunch hour to talk a bit about <a href="http://msdn.microsoft.com/en-us/library/ms714418(VS.85).aspx" target="_blank">PowerShell</a> V2, SQL Server, and the <a href="http://blogs.msdn.com/powershell/archive/2007/01/01/the-admin-development-model-and-send-snippet.aspx" target="_blank">admin development model</a>.</p>
<p>I want to thank <a href="http://wisconsin.sqlpass.org/" target="_blank">John Allman and the Wisconsin SQL Server User Group</a> for allowing me the time to share a bit about PowerShell.&#160; I believe John will be posting the recording for those who are interested.</p>
<p><a href="http://download.usepowershell.com/PowerShellV2.pptx" target="_blank">My slide deck is available here.</a>&#160; The slides aren’t worth much, but the resources on the last two are where the real meat is.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/02/wisconsin-virtual-sql-server-lunch-and-learn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deep Fried PowerShell</title>
		<link>http://blog.usepowershell.com/2010/02/deep-fried-powershell/</link>
		<comments>http://blog.usepowershell.com/2010/02/deep-fried-powershell/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 16:09:59 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/?p=176</guid>
		<description><![CDATA[Back in August, I was offered a chance to make a fool of myself on yet another podcast tremendously honored by the opportunity to talk with Keith Elder and Chris “Woody” Woodruff on their podcast – Deep Fried Bytes – about PowerShell. Keith and Chris are great guys, very sharp, and asked some good questions.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Back in August, I was <strike>offered a chance to make a fool of myself on yet another podcast</strike> tremendously honored by <a href="http://deepfriedbytes.com/podcast/episode-46-using-powershell-to-be-more-productive-with-steven-murawski/" target="_blank">the opportunity</a> to talk with <a href="http://keithelder.net/blog/" target="_blank">Keith Elder</a> and <a href="http://chriswoodruff.com/" target="_blank">Chris “Woody” Woodruff</a> on their podcast – <a href="http://deepfriedbytes.com/" target="_blank">Deep Fried Bytes</a> – about <a href="http://msdn.microsoft.com/en-us/library/ms714418(VS.85).aspx" target="_blank">PowerShell</a>.</p>
<p>Keith and Chris are great guys, very sharp, and asked some good questions.&#160; If you pop over to take a listen to my appearance, make sure to go back and take a look through their archives.&#160; They’ve got 45 other shows, all worthwhile.&#160; (I’m a few podcast behind.. still working through <a href="http://deepfriedbytes.com/podcast/episode-37-the-present-and-future-of-workflow-foundation-with-brian-noyes-part-1/" target="_blank">show #37</a> – where they are talking about Windows Workflow.&#160; Jut to pull in some PowerShell, there is a PowerShell Activity in WF 4.)&#160; I’m quite looking forward to <a href="http://deepfriedbytes.com/podcast/episode-44-soft-skills-every-developer-needs-with-brian-prince/" target="_blank">show #44 on soft skills</a> with <a href="http://brianhprince.com/" target="_blank">Brian Prince</a>, as I don’t think we in the tech fields focus enough on these.</p>
<p>If you want to hear more on PowerShell related development, send Keith and Woody some feedback on the show or bother your favorite podcaster to do a show on PowerShell – maybe they’ll ask you to put your Shell where your mouth is…</p>
<p><a href="http://deepfriedbytes.com/podcast/episode-46-using-powershell-to-be-more-productive-with-steven-murawski/" target="_blank">Check out the show here..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/02/deep-fried-powershell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Greater Milwaukee Script Club &#8211; Take 2</title>
		<link>http://blog.usepowershell.com/2010/01/greater-milwaukee-script-club-take-2/</link>
		<comments>http://blog.usepowershell.com/2010/01/greater-milwaukee-script-club-take-2/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 14:25:06 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2010/01/greater-milwaukee-script-club-take-2/</guid>
		<description><![CDATA[We had a pretty good turnout for the first Greater Milwaukee Script Club and a lot of interest in keeping it going, so I’ve set up a home page for the group on Joel “Jaykul” Bennet’s PowerShellGroup.Org site, which serves as a portal page for PowerShell user groups. Rod Gabriel (who heads up our local [...]]]></description>
			<content:encoded><![CDATA[<p>We had a pretty good turnout for the first Greater Milwaukee Script Club and a lot of interest in keeping it going, so I’ve set up a <a href="http://powershellgroup.org/milwaukee.wi" target="_blank">home page for the group</a> on <a href="http://huddledmasses.org" target="_blank">Joel “Jaykul” Bennet’s</a> PowerShellGroup.Org site, which serves as a portal page for PowerShell user groups.</p>
<p>Rod Gabriel (who heads up our local VMWare User Group) <a href="http://www.wivmug.org/2010/01/my-first-scripting-club-meeting/" target="_blank">has an excellent review of the event.</a>&#160; He covers why he considered attending (including why learning PowerShell was becoming a priority for him), as well as the event itself.</p>
<p>Registration is available for our next meeting – which will be February 16th at 6:00 PM at the Greenfield Municipal Court (<a href="http://mkescriptclub.eventbrite.com/" target="_blank">details here</a>).</p>
<p>More details and information to follow..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/01/greater-milwaukee-script-club-take-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Script Injection with Set-PSBreakpoint</title>
		<link>http://blog.usepowershell.com/2010/01/script-injection-with-set-psbreakpoint/</link>
		<comments>http://blog.usepowershell.com/2010/01/script-injection-with-set-psbreakpoint/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:15:06 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell Version 2]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2010/01/script-injection-with-set-psbreakpoint/</guid>
		<description><![CDATA[I’ve used the integrated debugging features with PowerShell V2 since I’ve had it available, but I never really dug below the surface of setting breakpoints at certain lines. Set-PSBreakpoint offers some additional options of which I was not aware. Setting a breakpoint in relation to a variable (read, assigned, or both) Setting a breakpoint when [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve used the integrated debugging features with <a href="http://support.microsoft.com/kb/968929" target="_blank">PowerShell V2</a> since I’ve had it available, but I never really dug below the surface of setting breakpoints at certain lines.</p>
<p><a href="http://technet.microsoft.com/en-us/library/dd315264.aspx" target="_blank">Set-PSBreakpoint</a> offers some additional options of which I was not aware.</p>
<ol>
<li><strong>Setting a breakpoint in relation to a variable (read, assigned, or both)</strong> </li>
<li><strong>Setting a breakpoint when a function or command is called</strong> </li>
<li><strong>Setting a breakpoint based on the column number for the referenced line</strong> </li>
<li><strong>Run a scriptblock when a breakpoint is hit</strong> </li>
<li><strong>Breakpoints do not need to be set on a script</strong> </li>
</ol>
<p>Let’s dig into these in a bit more detail:</p>
<h3>1.  Setting a breakpoint in relation to a variable (read, assigned, or both)</h3>
<p>Set-PSBreakpoint can be used to find all the occurrences of access to a variable (in the current scope).  This can be very useful when attempting to find out where things might be taking an unexpected turn with your variable’s contents.</p>
<h3>2. Setting a breakpoint when a function or command is called</h3>
<p>This is cool.  You can configure breakpoints based on when cmdlets or functions are called.  Great stopping at the entry point to a particularly troublesome function, so you can drop into the debugger and check the state of parameters about to go in, as well as other state related issues.</p>
<h3>3. Setting a breakpoint based on the column number for the referenced line</h3>
<p>I’m not so stoked about this feature.  This merely allows you to specify which column to stop execution on in a particular line of code…  Moderately useful, but not really exciting.</p>
<h3>4. Run a scriptblock when a breakpoint is hit</h3>
<p>This is where things get interesting.  You can assign an action to occur when a breakpoint is hit.  This action is a scriptblock that is run in the scope where it is set.  Since breakpoints can be variable assignments or calls to commands, this opens up some interesting possibilities.  First off, it allows for conditional debugging.  If you only want to drop into a breakpoint if a particular value is less than zero before going into a function, you could do something like</p>
<pre class="PowerShellColorizedScript"><span style="color: #ff4500">$BreakpointAction</span> <span style="color: #a9a9a9">=</span> <span style="color: #000000">{</span>
    <span style="color: #00008b">if</span> <span style="color: #000000">(</span><span style="color: #ff4500">$MyNumber</span> <span style="color: #a9a9a9">-lt</span> <span style="color: #800080">0</span><span style="color: #000000">)</span>
    <span style="color: #000000">{</span>
        <span style="color: #00008b">break</span>
    <span style="color: #000000">}</span>
    <span style="color: #00008b">else</span>
    <span style="color: #000000">{</span>
        <span style="color: #00008b">continue</span>
    <span style="color: #000000">}</span>
<span style="color: #000000">}</span></pre>
<p>This also has applications outside of debugging.  Using the –Action parameter of Set-PSBreakpoint, you have the ability to run a scripblock of your choosing at any of the condition types described above – when variables are accessed, when commands are called, and at certain specific positions in the script.</p>
<p> </p>
<h3>5. Breakpoints do not need to be set on a script</h3>
<p>Finally, breakpoints do not need to be set in a script, they can just be set to respond to variable access or command use.  This means that you could use Set-PSBreakpoint in a profile script to configure a particular environment to respond in a certain way, perhaps prompting you before changing a critical environmental variable.</p>
<p> </p>
<p>I’m definitely going to be exploring these additional features and applications of Set-PSBreakpoint as I go forward. </p>
<p><a href="http://blogs.msdn.com/powershell/archive/2009/07/13/advanced-debugging-in-powershell.aspx" target="_blank">Additional debugging tips/info from the PowerShell Team Blog.</a></p>
<p>Please leave a comment as to how you think this functionality could be used.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/01/script-injection-with-set-psbreakpoint/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;ll be on the PowerScripting Podcast!</title>
		<link>http://blog.usepowershell.com/2010/01/ill-be-on-the-powerscripting-podcast/</link>
		<comments>http://blog.usepowershell.com/2010/01/ill-be-on-the-powerscripting-podcast/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 16:39:33 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/?p=164</guid>
		<description><![CDATA[I&#8217;ll be on the PowerScripting podcast with Jonathan Walz and Hal Rottenberg for this week&#8217;s live stream.  We&#8217;ll be talking about PowerShellCommunity.Org, the Sync Framework, and more&#8230; I love that podcast and am really looking forward to it!  Also, they recently posted an interview with Clint Huffman, who is the author of PAL.  Good stuff!]]></description>
			<content:encoded><![CDATA[<p><a href="http://powerscripting.wordpress.com/2010/01/11/this-thursday-steven-murawski-talks-about-powershellcommunity-org-and-more/" target="_blank">I&#8217;ll be on the PowerScripting podcast with Jonathan Walz and Hal Rottenberg for this week&#8217;s live stream</a>. </p>
<p>We&#8217;ll be talking about PowerShellCommunity.Org, the Sync Framework, and more&#8230;</p>
<p>I love that podcast and am really looking forward to it! </p>
<p>Also, they recently posted <a href="http://powerscripting.wordpress.com/2010/01/10/episode-97-clint-huffman-and-his-pal-project/" target="_blank">an interview </a>with <a href="http://blogs.technet.com/clinth/" target="_blank">Clint Huffman</a>, who is the author of <a href="http://pal.codeplex.com" target="_blank">PAL</a>.  Good stuff!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2010/01/ill-be-on-the-powerscripting-podcast/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Script Club &#8211; Coming to the Greater Milwaukee Area</title>
		<link>http://blog.usepowershell.com/2009/12/script-club-coming-to-the-greater-milwaukee-area/</link>
		<comments>http://blog.usepowershell.com/2009/12/script-club-coming-to-the-greater-milwaukee-area/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 16:06:39 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell Community]]></category>
		<category><![CDATA[PowerShell Version 1]]></category>
		<category><![CDATA[PowerShell Version 2]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/12/script-club-coming-to-the-greater-milwaukee-area/</guid>
		<description><![CDATA[Register here. About PowerShell Script Club 1. You Always Talk About Script club 2. You Always Talk About Script Club 3. If Someone asks for Help, And You Can Help, You Help 4. Two People Help One Person at One Time 5. One Module Per Person Per Night 6. All Scripts, All PowerShell 7. Scripts [...]]]></description>
			<content:encoded><![CDATA[<h3><strong><a href="http://mkescriptclub.eventbrite.com " target="_blank">Register here.</a></strong></h3>
<h3>About PowerShell Script Club</h3>
<p>1. You Always Talk About Script club    <br />2. You Always Talk About Script Club     <br />3. If Someone asks for Help, And You Can Help, You Help     <br />4. Two People Help One Person at One Time     <br />5. One Module Per Person Per Night     <br />6. All Scripts, All PowerShell     <br />7. Scripts will be as short as they can be     <br />8. If This is your First time at Script Club, You Have to Script</p>
<h4>The first Greater Milwaukee <a href="http://msdn.microsoft.com/en-us/library/ms714418(VS.85).aspx" target="_blank">PowerShell</a> Script Club is being formed.</h4>
<p>The first meeting will be on Tuesday, January 19th at 6:00 PM at the Greenfield Law Enforcement Center (in the Municipal Court Room), 5300 W Layton Ave, Greenfield, WI&#160; 53220.&#160; <a href="http://mkescriptclub.eventbrite.com " target="_blank">Register here.</a></p>
<p><strong><u>All</u></strong> <strong>IT Professionals (sysadmins, network admins, developers, help desk, and all others) with <u>any level of experience</u> are welcome.&#160; If you DO NOT KNOW POWERSHELL, but you WANT TO – This is the place.</strong></p>
<p>Pizza and soda will be provided, but please bring a laptop with PowerShell installed (version 1 or 2 is fine).</p>
<h4>What is a Script Club?</h4>
<p><a href="http://get-powershell.com/2009/04/04/powershell-script-club-in-seattle/" target="_blank">Andy Schneider describes a script club:</a></p>
<blockquote><p>Script Clubs are like a hands on lab with no set topic or teacher. You bring an idea for a script, and ask your fellow PowerShell users for help getting the script written.</p>
</blockquote>
<p>This is not a lecture or presentation based group (though we may have presentations from time to time).&#160; Script Club is focused on creating working scripts that will help you get your work done or just enjoy yourself.</p>
<h3><a href="http://mkescriptclub.eventbrite.com/" target="_blank">Register here.</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/12/script-club-coming-to-the-greater-milwaukee-area/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>All Sorts of New</title>
		<link>http://blog.usepowershell.com/2009/11/all-sorts-of-new/</link>
		<comments>http://blog.usepowershell.com/2009/11/all-sorts-of-new/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 13:00:00 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/11/all-sorts-of-new/</guid>
		<description><![CDATA[A lot has happened since I last had the opportunity to post.&#160; Quick recap: PowerShell v2 is now out and available for XP, Server 2003, Vista, Server 2008, and installed and on by default for Windows 7 and Server 2008 R2 SharePoint 2010 has an insane number (492) There is an open source cmdlet and [...]]]></description>
			<content:encoded><![CDATA[<p>A lot has happened since I last had the opportunity to post.&#160; </p>
<p>Quick recap:</p>
<ul>
<li><a href="http://blogs.msdn.com/powershell/archive/2009/10/22/tonight-is-the-virtual-launch-party-powerscripting-podcast.aspx" target="_blank">PowerShell v2 is now out</a> and available for <a href="http://blogs.msdn.com/powershell/archive/2009/10/27/windows-management-framework-is-here.aspx" target="_blank">XP, Server 2003, Vista, Server 2008,</a> and installed and on by default for Windows 7 and Server 2008 R2 </li>
<li>SharePoint 2010 has an insane number (<a href="http://dmitrysotnikov.wordpress.com/2009/10/19/sharepoint-2010-cmdlet-reference/" target="_blank">492</a>) </li>
<li>There is an <a href="http://www.codeplex.com/CmdletDesigner" target="_blank">open source cmdlet and help designer</a> </li>
<li><a href="http://trypowershell.codeplex.com/" target="_blank">Try PowerShell</a> is a great way to explore </li>
<li>The <a href="http://code.msdn.microsoft.com/PowerShellPack" target="_blank">PowershellPack</a> provides some great modules that get you jump started with V2. </li>
<li><a href="http://code.msdn.microsoft.com/azurecmdlets" target="_blank">Azure has cmdlets for management</a> </li>
<li>There is introductory PowerShell material in the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c48b3eb4-ad4b-461c-9d5a-25f45d949b92&amp;displaylang=en" target="_blank">Server 2008 R2 Developer Training Kit</a> </li>
<li><a href="http://channel9.msdn.com/learn/courses/WindowsServer2008R2/PowerShell/" target="_blank">There are some PowerShell for Developers training videos on Channel 9</a> </li>
<li><a href="http://www.jameskovacs.com/blog/ReleasingPsakeV100PsakeV200.aspx" target="_blank">James Kovacs released psake V2.00</a> </li>
<li><a href="http://pstfs.codeplex.com/" target="_blank">PsTFS has hit V1</a> – which is great for me now.. </li>
<li>I’m sure I’ve missed a ton of other cool <a href="http://msdn.microsoft.com/en-us/library/ms714418(VS.85).aspx" target="_blank">PowerShell</a> stuff that is happening too.. </li>
</ul>
<p>And that leads me to what I’m doing now.&#160; </p>
<p>In August, I left my job as a IT Specialist for a municipal police department and took a job heading up research and development for <a href="http://www.prophoenix.com" target="_blank">ProPhoenix</a>, which is a software development company that make software for public safety agencies (police, fire, corrections, municipal courts).</p>
<p>I now live in a more software development focused world and will get to spend more time focusing on using PowerShell to automate my current activities, explore new frameworks, and to build a management API for our applications.&#160; I can’t wait to make PowerShell a requirement for our server products installation so I can get our support staff to start leveraging the capabilities PowerShell brings to the table.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/11/all-sorts-of-new/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dear Devs,  Give Us The Tools.  K Thx</title>
		<link>http://blog.usepowershell.com/2009/07/dear-devs-give-us-the-tools-k-thx/</link>
		<comments>http://blog.usepowershell.com/2009/07/dear-devs-give-us-the-tools-k-thx/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:31:09 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Systems Administration]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/07/dear-devs-give-us-the-tools-k-thx/</guid>
		<description><![CDATA[I just finished listening to the latest Herding Code podcast (#52) where the hosts (K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway) talked with Alan Stevens ( C# MVP and ASP Insider) and G. Andrew Duthie (author and Microsoft Developer Evangelist) about a debate that began on Twitter regarding “Real Software Development vs [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished listening to the latest <a href="http://herdingcode.com" target="_blank">Herding Code</a> podcast <a href="http://herdingcode.com/?p=191" target="_blank">(#52)</a> where the hosts (<a href="http://odetocode.com/" target="_blank">K. Scott Allen</a>, <a href="http://weblogs.asp.net/kdente" target="_blank">Kevin Dente</a>, <a href="http://lazycoder.com/" target="_blank">Scott Koon</a>, and <a href="http://weblogs.asp.net/jgalloway" target="_blank">Jon Galloway</a>) talked with <a href="http://netcave.org/" target="_blank">Alan Stevens</a> ( C# MVP and ASP Insider) and <a href="http://blogs.msdn.com/gduthie/" target="_blank">G. Andrew Duthie</a> (author and Microsoft Developer Evangelist) about a debate that began on Twitter regarding “Real Software Development vs Microsoft Bubble Development”.</p>
<p>What does that have to do with PowerShell and administrative tools?  The specifics of their conversation don’t have a lot of relevance to administrators and scripters, but one of the directions that their conversation took really resonated with me.</p>
<blockquote><p>Alan throws the first punch – He likes Herding Code because it’s about real software development rather than development in the Microsoft bubble.  It’s about the tool users rather than the tool builders and it’s about honest feedback.</p></blockquote>
<p>As administrators, we need to make sure the developers of the applications that we use and administer provide us the tools we <strong>need</strong> to efficiently run our networks.  Microsoft has gotten the message loud and clear.  Windows 7, Server 2008 R2, and TechEd 2009 LA confirmed that.  There weren’t many sessions where you didn’t hear something about PowerShell and there aren’t many products where PowerShell isn’t making inroads into the management structure.</p>
<p>Kudos to Jeffrey Snover and the awesome management technologies team for really selling this internally at Microsoft.</p>
<p>Another point made on the podcast was that Microsoft needed to do more to encourage better development practices… Can those same developers say that their products encourage better application management practices?</p>
<p>Now, we as the<strong> users</strong> of PowerShell <strong>need to step up</strong> and <span style="text-decoration: line-through;">convince</span> demand better administrative tooling from our vendors and internal development staffs.  Companies like <a href="http://www.quest.com/" target="_blank">Quest</a>, <a href="http://www.vmware.com/" target="_blank">VMWare</a>, <a href="http://www.idera.com/" target="_blank">Idera</a>,  <a href="http://www.compellent.com/" target="_blank">Compellent</a>, and others have gotten the message, but there are still many, many other products out there and many internal applications that suffer from inflexibility.</p>
<p>Web interfaces and GUI tools are nice and can be considered the icing on the cake.  A true manageable application allows for consistent and repeatable actions in an easy to maintain structure, as well as providing flexibility to integrate other potential solutions.  PowerShell provides a lot of that right in the box and allows administrators to bridge the gap and create their own solutions that might not have been supported yet (ever hear &#8211; “it’s in the next version”).</p>
<p>So, here is the call to action:</p>
<p><strong>Rise up and demand proper administrative interfaces.</strong></p>
<p><strong>Talk to your managers about the benefits of streamlined application management using a consistent interface across multiple platforms and applications.</strong></p>
<p><strong>Take a developer to lunch and explain how you want to help make using his product a better experience from the application management side.</strong></p>
<p>Let’s take our cue from the oft repeated concept in that <a href="http://herdingcode.com" target="_blank">Herding Code</a> podcast – there is a need for candid feedback and it is all about the tools that we have to live in and work with every day.</p>
<p>If by chance one of the guys from the Herding Code podcast (or any other developer-centric podcast like <a href="http://dotnetrocks.com/" target="_blank">.NET Rocks</a>, <a href="http://deepfriedbytes.com/" target="_blank">Deep Fried Bytes</a>, or <a href="http://blog.stackoverflow.com/" target="_blank">StackOverflow</a>) happens onto this post and wants to talk further, I’m available.  There are also a good number of PowerShell MVPs and community bloggers who I’m sure would love to provide some “candid feedback” to “developers in the trenches doing real development”.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/07/dear-devs-give-us-the-tools-k-thx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More PowerShell on the Thirsty Developer</title>
		<link>http://blog.usepowershell.com/2009/06/more-powershell-on-the-thirsty-developer/</link>
		<comments>http://blog.usepowershell.com/2009/06/more-powershell-on-the-thirsty-developer/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 15:22:51 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/06/more-powershell-on-the-thirsty-developer/</guid>
		<description><![CDATA[Larry Clarkin asked me back on the Thirsty Developer to continue talking about development and PowerShell.&#160; We talked about creating cmdlets, hosting PowerShell, and a bit about Version 2.&#160; Check it out here.]]></description>
			<content:encoded><![CDATA[<p><a href="http://eraserandcrowbar.com/" target="_blank">Larry Clarkin</a> asked me back on the <a href="http://thirstydeveloper.com" target="_blank">Thirsty Developer</a> to continue talking about development and PowerShell.&#160; We talked about creating cmdlets, hosting PowerShell, and a bit about Version 2.&#160; <a href="http://thirstydeveloper.com/2009/06/01/64MoreOnPowershell.aspx" target="_blank">Check it out here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/06/more-powershell-on-the-thirsty-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Response: Give Me A Coconut and Six Months</title>
		<link>http://blog.usepowershell.com/2009/06/response-give-me-a-coconut-and-six-months/</link>
		<comments>http://blog.usepowershell.com/2009/06/response-give-me-a-coconut-and-six-months/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 19:31:59 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Systems Administration]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/06/response-give-me-a-coconut-and-six-months/</guid>
		<description><![CDATA[I was tagged by SQL Server Expert Brent Ozar in his response to a great, thought provoking blog post called Give Me a Coconut and Six Months by Tim Ford (SQLAgentMan on Twitter). The short summary of the post is if you had six months free of distraction, what would you turn your attention to.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>I was <a href="http://www.brentozar.com/archive/2009/06/give-me-a-coconut-and-six-months/" target="_blank">tagged</a> by <a href="http://www.brentozar.com" target="_blank">SQL Server Expert Brent Ozar</a> in his response to a great, thought provoking blog post called <a href="http://www.ford-it.com/sqlagentman/?p=268" target="_blank">Give Me a Coconut and Six Months</a> by <a href="http://www.ford-it.com/sqlagentman" target="_blank">Tim Ford</a> (<a href="http://twitter.com/sqlagentman" target="_blank">SQLAgentMan on Twitter</a>).</p>
<p>The short summary of the post is if you had six months free of distraction, what would you turn your attention to.&#160; Tim’s choices included backups, security, and monitoring, which I think is a great “solid foundation” to work from.</p>
<p>Brent posits that if he became more effective at data mining, he would be able to provide a business with critical insight with which to improve sales, product focus, and develop key personnel.</p>
<blockquote><p>If I had more time (and skills), I could tell executives things like:</p>
<ul>
<li>These are the top five customers who are about to leave us. </li>
<li>These are the top five products that are about to go viral, and we need to stock more ASAP. </li>
<li>These are the top five salespeople who need coaching to produce more revenue. </li>
</ul>
<p>Walk into an executive’s office with this kind of information, and you’re a hero.</p>
</blockquote>
<p>Here’s the shocker Brent… I agree.&#160; </p>
<p>I agree that delivering that kind of data to management is the Holy Grail of IT projects.&#160; Before coming into the IT realm, I ran a small business and I would have killed for information along those lines.&#160; </p>
<p>One thing I think is missing from Brent’s discussion is that there are three parts to this type of data mining:</p>
<ul>
<li>The first part is the technical aspect on how to retrieve the data from databases and other sources of information, which Brent probably has handily covered.&#160; </li>
<li>The second part is not a technical question at all.&#160; The second part of the data mining is actually coming up with questions you have for your data.&#160; The quote above from Brent’s post highlights those, and point to an area of expertise outside the technical.&#160; Brent is demonstrating (and probably should have said explicitly) that a domain/business knowledge is very important in determining these requests.&#160; This is often difficult for the stereotypical IT person, but is essential if you are interested in moving your career past a technical implementer.&#160; </li>
<li>So, it appears Brent’s real goal is the the third part of this process, which is translating these questions (taking the business knowledge) and retrieving and correlating the data (using his technical skills) that he will need to make these determinations.</li>
</ul>
<p>Brent continues on to cover a common area of disagreement between us.</p>
<blockquote><p>I kick the PowerShell horse a lot, and here it comes again. If you’re in IT, listen up: you’re either cutting costs, or making money.&#160; Guess which one has more upside.&#160; If you truly bust your hump, become an amazing scripting deity, and save 99% of your time, you just saved 99% of your salary.&#160; If you’re really good, you might save 10 people 99% of their time.</p>
</blockquote>
<p>I work as the sole admin/accidental DBA/desktop support/multimedia support/”if it has a blinking LED light” support for an agency that collects lots and lots of data.&#160; As a scripting practitioner, if I save myself 25%, 40%, or even 60% of my time not having to solve the same problems over and over, I’m free to plume the mysteries of my database and convert the bits stored their into meaningful data and even information that is usable and actionable.&#160; </p>
<p>Not every environment has the luxury of being able to afford someone of Brent’s caliber to come in and learn their business and help them develop methods of turning their data into knowledge.&#160; In my situation and that of many small to medium businesses, scripting is the tool that enables the IT generalist to explore and branch out into these other areas. </p>
<p>Brent may feel ” you can go into data mining and make 100 salespeople twice as effective” and that IT people who keep things running are replaceable and he may be right, but I believe, especially in tighter economic times, specialists become a luxury that only a few can afford where efficient generalists that know the business become more in demand.</p>
<p>Don’t be mad Brent… it’s okay to be wrong every once in a while! <img src='http://blog.usepowershell.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So if I had six months of no interruptions and could focus on certain specific projects, I would:</p>
<ul>
<li>Finish automating (via PowerShell, SQL, or other means) common tasks</li>
<li>Develop the questions my administrators (not technical admins, but departmental administrators) would like to ask our data sources</li>
<li>Build tools to answer those questions via reports, graphs, network maps, or other data visualization techniques (like the cool stuff <a href="http://dougfinke.com/blog/?cat=185" target="_blank">Doug Finke</a> and <a href="http://chadwickmiller.spaces.live.com/blog/cns!EA42395138308430!434.entry" target="_blank">Chad Miller</a> have been doing)</li>
</ul>
<p>I personally think that EVERY technical person should have a grasp on the basic business environment, be aware of what is happening in their company’s industry (or at least their department’s industry for larger organizations), and begin to develop more in depth domain knowledge as to the business processes.</p>
<p>Due to the odd path I took to becoming an IT person, I’ve actually accumulated quite a bit of domain knowledge about the law enforcement, the various jobs, information requirements, and the ins and outs of our workflows and data.&#160; This background gives me a great starting place when going to look at my data, since scripting has given me the time to do so.&#160; </p>
<p>Judging from the pattern in Tim’s and Brent’s posts, I’m supposed to tag a few people..</p>
<p>How about:</p>
<ul>
<li><a href="http://dougfinke.com/blog/" target="_blank">Doug Finke</a> (developer, data visualization explorer,&#160; and PowerShell MVP), </li>
<li><a href="http://halr9000.com/" target="_blank">Hal Rottenberg</a> (administrator, VMWare vExpert, podcaster, and PowerShell MVP),</li>
<li>and <a href="http://fatbeards.blogspot.com/" target="_blank">Wes Stahler</a> (administrator, blogger, and PowerShell enthusiast)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/06/response-give-me-a-coconut-and-six-months/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Focus Your Scripts and Functions</title>
		<link>http://blog.usepowershell.com/2009/06/tip-focus-your-scripts-and-functions/</link>
		<comments>http://blog.usepowershell.com/2009/06/tip-focus-your-scripts-and-functions/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 12:30:00 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/06/tip-focus-your-scripts-and-functions/</guid>
		<description><![CDATA[The PowerShell paradigm is the task based cmdlet.&#160; With cmdlets that surface a single function that handle a multitude of inputs, a PowerShell session or script can read back like a sentence.&#160; Get-Process –Name iexplore &#124; Where-Object {$_.WorkingSet –gt 50000000 } &#124; Stop-Process In the above (often overused, but illustrates the point well) example, Get-Process, [...]]]></description>
			<content:encoded><![CDATA[<p>The PowerShell paradigm is the task based cmdlet.&#160; With cmdlets that surface a single function that handle a multitude of inputs, a PowerShell session or script can read back like a sentence.&#160; </p>
<p>Get-Process –Name iexplore | Where-Object {$_.WorkingSet –gt 50000000 } | Stop-Process</p>
<p>In the above (often overused, but illustrates the point well) example, Get-Process, Where-Object, and Stop-Process all accurately describe the task that they perform.</p>
<p>We can take this same approach with our scripts and functions.&#160; By keeping your scripts and functions focused on performing discreet tasks, you keep with the composable nature of PowerShell and provide yourself the most flexibility in reusing the functions you create.</p>
<p>One of the most common “errors” I see in PowerShell scripts that are shared is the embedding of formatting in the output of the script.&#160; If your script generates output, it should be in the form of objects (custom or otherwise).&#160; (The only caveat here is if your script’s functionality is to handle the output of data, in which case it’s sole focus should be the handling that output.)</p>
<p>The PowerShell ecosystem provides a number of tools for formatting the output of your scripts, whether you want to display your scripts in the console window (<a href="http://technet.microsoft.com/en-us/library/dd347700.aspx" target="_blank">Format-List</a>, <a href="http://technet.microsoft.com/en-us/library/dd315387.aspx" target="_blank">Format-Wide</a>, <a href="http://technet.microsoft.com/en-us/library/dd315392.aspx" target="_blank">Format-Custom</a>, <a href="http://technet.microsoft.com/en-us/library/dd315255.aspx" target="_blank">Format-Table</a>), as a web page (<a href="http://technet.microsoft.com/en-us/library/dd347572.aspx" target="_blank">ConvertTo-HTML</a>), sent to a CSV file (<a href="http://technet.microsoft.com/en-us/library/dd347724.aspx" target="_blank">Export-CSV</a>) or XML (<a href="http://technet.microsoft.com/en-us/library/dd347657.aspx" target="_blank">Export-CLIXML</a>), in Version 2 to a sortable, groupable grid (<a href="http://technet.microsoft.com/en-us/library/dd315268.aspx" target="_blank">Out-GridView</a>), as well as a number of other options (<a href="http://huddledmasses.org/powerboots-output-graphs-to-images-from-powershell/" target="_blank">Visifire graphs via PowerBoots</a>, <a href="http://chadwickmiller.spaces.live.com/blog/cns!EA42395138308430!340.entry" target="_blank">Excel, PDF, or Image via the Reporting Services Redistributable</a>, or <a href="http://dougfinke.com/blog/index.php/2008/08/31/microsoft-research-netmap-and-powershell/" target="_blank">as a netmap using NodeXL</a>).</p>
<p>Take advantage of these, or write your own.&#160; If you write your own, it should work with custom objects, to keep with the composable nature of PowerShell.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/06/tip-focus-your-scripts-and-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Keeping Your Scripts DRY.</title>
		<link>http://blog.usepowershell.com/2009/06/tip-keeping-your-scripts-dry/</link>
		<comments>http://blog.usepowershell.com/2009/06/tip-keeping-your-scripts-dry/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 12:00:00 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/06/tip-keeping-your-scripts-dry/</guid>
		<description><![CDATA[DRY?&#160; Does this mean I can’t use PowerShell on a water-cooled PC? DRY is a principle that can be very familiar to the PowerShell aficionado with a development background.&#160; DRY means Don’t Repeat Yourself.&#160; Keeping your scripts DRY means that our scripts don’t contain repeated code.&#160; Copy/Paste is not your friend! Why should PowerShell scripters [...]]]></description>
			<content:encoded><![CDATA[<p>DRY?&#160; Does this mean I can’t use PowerShell on a water-cooled PC?</p>
<p>DRY is a principle that can be very familiar to the PowerShell aficionado with a development background.&#160; DRY means <strong>Don’t Repeat Yourself</strong>.&#160; Keeping your scripts DRY means that our scripts don’t contain repeated code.&#160; Copy/Paste is not your friend!</p>
<p>Why should PowerShell scripters care about keeping their PowerShell DRY?&#160; One major reason – script maintainability.</p>
<p>PowerShell has a huge advantage over scripting environments/shells in that the noun/verb structure lends itself to very readable scripts.&#160; If there is duplication in your code, that readability can give a PowerShellers a bit of overconfidence when reading/modifying scripts that are new to them or that have not been looked at in a while.</p>
<p>If you find yourself copying and pasting lines of PowerShell between different sections of your script, you could be setting yourself up for some interesting times when you need to make a change.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/06/tip-keeping-your-scripts-dry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerScripting Podcast &#8211; New Night (temporary change)</title>
		<link>http://blog.usepowershell.com/2009/05/powerscripting-podcast-new-night-temporary-change/</link>
		<comments>http://blog.usepowershell.com/2009/05/powerscripting-podcast-new-night-temporary-change/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:56:59 +0000</pubDate>
		<dc:creator>Steven Murawski</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell Community]]></category>

		<guid isPermaLink="false">http://blog.usepowershell.com/2009/05/powerscripting-podcast-new-night-temporary-change/</guid>
		<description><![CDATA[For the next month or two, the PowerScripting Podcast will be live on Tuesday nights at 9 PM Eastern / 8 PM Central.&#160; Be sure to update your calendars and stop in for some great, interactive PowerShell content.]]></description>
			<content:encoded><![CDATA[<p>For the next month or two, the <a href="http://powerscripting.net" target="_blank">PowerScripting Podcast</a> will be live on Tuesday nights at 9 PM Eastern / 8 PM Central.&#160; Be sure to update your calendars and <a href="http://www.ustream.tv/channel/powerscripting-podcast" target="_blank">stop in for some great, interactive PowerShell content</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.usepowershell.com/2009/05/powerscripting-podcast-new-night-temporary-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
