<?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>Get-PowerShell &#187; Uncategorized</title>
	<atom:link href="http://get-powershell.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://get-powershell.com</link>
	<description></description>
	<lastBuildDate>Sat, 10 Jul 2010 15:44:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PowerShell to get Windows Experience Index</title>
		<link>http://get-powershell.com/2010/07/10/powershell-to-get-windows-experience-index/</link>
		<comments>http://get-powershell.com/2010/07/10/powershell-to-get-windows-experience-index/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 15:41:11 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[WEI]]></category>
		<category><![CDATA[Windows Experience Index]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2010/07/10/powershell-to-get-windows-experience-index/</guid>
		<description><![CDATA[I was just listening to Scott Hanselman’s podcast on building the Ultimate Developers Machine Part 2.&#160; They are trying to build a machine with a WEI score of 7.9 with a budget of $3000. In the show, they mentioned that you can use WMI to get the WEI score. Get-WmiObject Win32_WinSat]]></description>
			<content:encoded><![CDATA[<p>I was just listening to Scott Hanselman’s podcast on building the <a href="http://hanselminutes.com/default.aspx?showID=238">Ultimate Developers Machine Part 2</a>.&#160; They are trying to build a machine with a WEI score of 7.9 with a budget of $3000. In the show, they mentioned that you can use WMI to get the WEI score. </p>
<p><font face="Consolas">Get-WmiObject Win32_WinSat</font></p>
<p><a href="http://get-powershell.com/wp-content/uploads/2010/07/image.png"><img style="border-bottom: 0px; border-left: 0px; margin: 3px 10px 3px 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2010/07/image_thumb.png" width="369" height="231" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2010/07/10/powershell-to-get-windows-experience-index/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hey Scripting Guy! Guest Blog Post</title>
		<link>http://get-powershell.com/2010/07/07/hey-scripting-guy-guest-blog-post/</link>
		<comments>http://get-powershell.com/2010/07/07/hey-scripting-guy-guest-blog-post/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:16:02 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ed Wilson]]></category>
		<category><![CDATA[Hey Scripting Guy]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2010/07/07/hey-scripting-guy-guest-blog-post/</guid>
		<description><![CDATA[I had the pleasure of writing an article for the “Hey Scripting Guy!” Blog. In the article I describe how I wrote a function to change the screen resolution. I highly recommend checking out the blog.&#160; Ed and the rest of the Scripting Guys generate a lot of great content.]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of writing an <a href="http://blogs.technet.com/b/heyscriptingguy/archive/2010/07/07/hey-scripting-guy-how-can-i-change-my-desktop-monitor-resolution-via-windows-powershell.aspx">article</a> for the “Hey Scripting Guy!” Blog. In the article I describe how I wrote a function to change the screen resolution. I highly recommend checking out the <a href="http://blogs.technet.com/b/heyscriptingguy/">blog</a>.&#160; Ed and the rest of the Scripting Guys generate a lot of great content.</p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2010/07/07/hey-scripting-guy-guest-blog-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetApp releases PowerShell Toolkit 1.0</title>
		<link>http://get-powershell.com/2010/06/15/netapp-releases-powershell-toolkit-1-0/</link>
		<comments>http://get-powershell.com/2010/06/15/netapp-releases-powershell-toolkit-1-0/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 21:32:14 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2010/06/15/netapp-releases-powershell-toolkit-1-0/</guid>
		<description><![CDATA[NetApp has just released the first version of their PowerShell Toolkit last week. Overall, I am really impressed with their implementation. They did a bunch of things right. It’s a PowerShell 2.0 Module Lots of great help files for every Cmdlet Full coverage of the ONTAP API Used “Approved” verbs 357 Cmdlets About a year [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><a href="http://netapp.com">NetApp</a> has just released the first version of their <a href="http://communities.netapp.com/community/interfaces_and_tools/data_ontap_powershell_toolkit">PowerShell Toolkit</a> last week. Overall, I am really impressed with their implementation. They did a bunch of things right.</p>
<ol>
<li>
<div align="left">It’s a PowerShell 2.0 Module</div>
</li>
<li>
<div align="left">Lots of great help files for every Cmdlet</div>
</li>
<li>
<div align="left">Full coverage of the ONTAP API</div>
</li>
<li>
<div align="left">Used “Approved” verbs</div>
</li>
<li>
<div align="left">357 Cmdlets</div>
</li>
</ol>
<p align="left">About a year ago, NetApp released a .NET version of their API. Using their DLL, I was able to write a bunch of PowerShell 2.0 Advanced Functions to automate the 20 or so tasks that my team did with our NetApps on a weekly basis. Using the .NET API, I created a module with 20 or so Advanced Functions. So far, every one of them has been implemented in the new cmdlets. There are also a great deal of cmdlets that are extremely useful that I never got around to writing. </p>
<p align="left">The ONTAPI .NET API exposed functionality with an object of type Netapp.Manage.NaElement, which is basically an XML Element. Essentially, everything in the Netapp API takes in XML and returns XML. PowerShell does a great job with XML and it was relatively easy to cast from XML to PSObjects as needed. However, the new PowerShell toolkit has a bunch of wrapper classes which seem to be a bunch of de-serialized NaElement Objects. This makes working with the objects much easier. </p>
<p align="left">NetApp has really done a terrific job with their adoption of PowerShell. Again, I am particularly impressed with how well they adhered to the “ground rules” for working with PowerShell. In my opinion, these cmdlets are a great example for other third party companies that are looking to adopt PowerShell.</p>
<p align="left">Now, this is of course version 1. There is always room for improvement. One of the first things I noticed is that there could have been some work done on the default formatting for some of the most basic objects that we use all the time, particularly luns and volumes, NetApp.Ontapi.Filer.Lun.LunInfo&#160; NetApp.Ontapi.Filer.Volume.VolumeInfo respectively. Frankly, I like the default view to be a table with 4 or 5 critical columns. If something has to default to format-table, its too much information to process for me, but that’s my humble opinion.</p>
<p align="left">Here’s an example</p>
<p align="left"><a href="http://get-powershell.com/wp-content/uploads/2010/06/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2010/06/image_thumb.png" width="600" height="696" /></a> </p>
<p align="left">&#160;</p>
<p align="left">I think I would prefer to have a table view that just shows the name, sizeTotal, SizeUsed, and perhaps 1 or 2 other attributes. This seems more useful out of the box to me</p>
<p align="left"><a href="http://get-powershell.com/wp-content/uploads/2010/06/image1.png"><img style="border-bottom: 0px; border-left: 0px; width: 406px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2010/06/image_thumb1.png" width="410" height="212" /></a> </p>
<p align="left">NetApp filers are SAN’s. They are all about storage. They are built on a hierarchical model. Frankly, I think a PowerShell Provider could be a great fit for managing a NetApp filer. However, as Jeffrey Snover often says, to ship is to choose, and I wholeheartedly belive that the cmdlets are more useful than just a provider. But, if you have a provider and cmdlets, they are definitely better together. I love using a Provider for discovery purposes. But I think in general, cmdlets are more useful for actually executing tasks. I would love to see a complimentary PS Provider in version 2 of the Toolkit.</p>
<p align="left">All that being said, I tip my hat to Netapp. Great job on version 1!</p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2010/06/15/netapp-releases-powershell-toolkit-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging Modules with the PowerShell ISE (Integrated Scripting Environment)</title>
		<link>http://get-powershell.com/2009/09/08/debugging-modules-with-the-powershell-ise-integrated-scripting-environment/</link>
		<comments>http://get-powershell.com/2009/09/08/debugging-modules-with-the-powershell-ise-integrated-scripting-environment/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 03:08:39 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[ISE]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://get-powershell.com/?p=279</guid>
		<description><![CDATA[I have written a few posts on debugging using the PowerShell ISE lately. If you care to have a look, here are the links to ISE Debugging 101 and ISE Debugging 102. Those blog posts got newcomers to the ISE slightly more comfortable with the idea of debugging and the the specific tools offered in [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a few posts on debugging using the PowerShell ISE lately. If you care to have a look, here are the links to <a href="http://get-powershell.com/2009/08/14/debugging-using-powershell-ise-101/">ISE Debugging 101</a> and <a href="http://get-powershell.com/2009/08/18/debugging-using-the-ise-102/">ISE Debugging 102</a>. Those blog posts got newcomers to the ISE slightly more comfortable with the idea of debugging and the the specific tools offered in the ISE. I had a few questions and responses to these posts and I thought the best way to encapsulate this information was with a screen cast. I have taken what I covered and expanded it a bit to the realm of modules and how you can use the ISE debugging tools to work with Modules as easily as you can work with scripts and functions.</p>
<p>I hope you find this video helpful. I would love to hear any kind of feedback on the video, positive or negative. All I can say is that it is a bit easier to talk to yourself in front of a computer after a glass of wine <img src='http://get-powershell.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#160; Seriously, feedback is greatly appreciated.</p>
<p>Andy</p>
<p><iframe style="width: 800px; height: 600px" src="http://silverlight.services.live.com/invoke/82115/Debugging%20PowerShell%20Modules%20in%20the%20ISE/iframe.html" frameborder="0" scrolling="no"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/09/08/debugging-modules-with-the-powershell-ise-integrated-scripting-environment/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Debugging using PowerShell ISE 101</title>
		<link>http://get-powershell.com/2009/08/14/debugging-using-powershell-ise-101/</link>
		<comments>http://get-powershell.com/2009/08/14/debugging-using-powershell-ise-101/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 22:28:05 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[ISE]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/?p=240</guid>
		<description><![CDATA[I have always found the origin of words to be fascinating.&#160; Apparently, the terms bug and debugging in regards to computers are attributed to Admiral Grace Hopper in the 1940’s. While she was working on a Mark II Computer at Harvard University, her associates discovered a moth stuck in a relay and thereby impeding operation, [...]]]></description>
			<content:encoded><![CDATA[<p>I have always found the origin of words to be fascinating.&#160; Apparently, the terms <a href="http://en.wikipedia.org/wiki/Debug">bug and debugging in regards to computers are attributed to Admiral Grace Hopper</a> in the 1940’s.</p>
<blockquote><p>While she was working on a Mark II Computer at Harvard University, her associates discovered a moth stuck in a relay and thereby impeding operation, whereupon she remarked that they were &quot;debugging&quot; the system.</p>
</blockquote>
<p>When I first started scripting and writing a little code, the concept of debugging something seemed really hard. However, I have found that with a few simple steps I can debug most of my scripts pretty quickly. </p>
<p>Ninety nine percent of the time, debugging scripts requires being able to watch a variable at some point in a script or a function. Have you ever written a function and thought, “If only I knew what x was before y started messing with it?”</p>
<p>The <a href="http://technet.microsoft.com/en-us/library/dd315244.aspx">PowerShell Integrated Scripting Environment</a> makes this pretty easy. You can set a breakpoint on any line in the ISE using the Debug Menu and choosing “Toggle Breakpoint.” or by using the F9 shortcut key. </p>
<p><a href="http://get-powershell.com/wp-content/uploads/2009/08/image5.png"><img style="border-bottom: 0px; border-left: 0px; width: 643px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2009/08/image_thumb5.png" width="644" height="392" /></a></p>
<p>When you toggle a breakpoint on and then run the script, the script will stop at that point. You should note that at this point, the highlighted line has not been executed yet.</p>
<p>Here’s what it looks like when you hit a breakpoint. You get thrown into a nested prompt where you can poke around and look at any variables you want to. Notice the &gt;&gt;&gt; prompt and notice $b has not yet been set, but $a has.</p>
<p>&#160;<a href="http://get-powershell.com/wp-content/uploads/2009/08/image11.png"><img style="border-bottom: 0px; border-left: 0px; width: 637px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2009/08/image1_thumb.png" width="643" height="407" /></a> </p>
<p>Now that you are paused right around the line of code you want to check out, you can use the “Step Into” Feature. </p>
<p>This will execute the next line of code in the script (the highlighted line) and then stop. </p>
<p><a href="http://get-powershell.com/wp-content/uploads/2009/08/image51.png"><img style="border-bottom: 0px; border-left: 0px; width: 660px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2009/08/image5_thumb.png" width="643" height="407" /></a> </p>
<p>Now you can see that $b has been set but $c doesn’t have a value yet.</p>
<p><a href="http://get-powershell.com/wp-content/uploads/2009/08/image9.png"><img style="border-bottom: 0px; border-left: 0px; width: 645px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://get-powershell.com/wp-content/uploads/2009/08/image9_thumb.png" width="643" height="441" /></a> </p>
<p>You can continue to step through as much as many lines as you need to until you see something that is not quite right.</p>
<p>This is just the beginning of what we can do in regards to debugging scripts and functions. In the next couple weeks I plan to share more as I learn about debugging and the ISE. Just to whet your appetite, you can run the command <font face="Consolas">get-command –noun psbreakpoint </font>to see what kinds of goodies await!</p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/08/14/debugging-using-powershell-ise-101/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dynamic Binary Modules Follow Up</title>
		<link>http://get-powershell.com/2009/08/09/dynamic-binary-modules-follow-up/</link>
		<comments>http://get-powershell.com/2009/08/09/dynamic-binary-modules-follow-up/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 13:58:41 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2009/08/09/dynamic-binary-modules-follow-up/</guid>
		<description><![CDATA[There was a very interesting post over on the PowerShell team blog on Dynamic Binary Modules where Nigel Sharples describes how to run a cmdlet on a remote machine if you have the source code to the cmdlet and don’t want to deal with any intermediate assembly files to clean up. I went and tried [...]]]></description>
			<content:encoded><![CDATA[<p>There was a very interesting post over on the <a href="http://blogs.msdn.com/powershell/default.aspx">PowerShell team blog</a> on <a href="http://blogs.msdn.com/powershell/archive/2009/07/22/dynamic-binary-modules.aspx">Dynamic Binary Modules</a> where Nigel Sharples describes how to run a cmdlet on a remote machine if you have the source code to the cmdlet and don’t want to deal with any intermediate assembly files to clean up.</p>
<p>I went and tried to do this straight away on my local machine without the remoting bit. I copied some c<a href="http://msdn.microsoft.com/en-us/library/dd901838(VS.85).aspx">mdlet source code</a> from MSDN. As a Systems Engineer, I haven’t written many compiled cmdlets in C# but I have edited a few for my liking and written one or two when script just wouldn’t cut it. One thing I have learned is that you always need a Snapin to register your cmdlet. So you have your namespace with a class for your snapin and then a class for each cmdlet that you create. </p>
<p>The bottom line here is that with dynamic modules you don’t need to create a Snapin class for your cmdlet. The only other tweak is that I used the –language parameter on Add-Type to specify CSharpVersion3 so I could use automatic properties and not have to explicitly write the getter and setter for the parameter “Name.”</p>
<pre class="PowerShellColorizedScript"><span style="color: #008080">[string]</span><span style="color: #ff4500">$code</span> <span style="color: #a9a9a9">=</span> <span style="color: #8b0000">@&quot;
using System.Management.Automation; 

namespace SendGreetingDemo1
{

  [Cmdlet(VerbsCommunications.Send, &quot;Greeting&quot;)]
  public class SendGreetingCommand : Cmdlet
  {
    [Parameter(Mandatory=true,Position=0)]
    public string Name {get;set;}

    protected override void ProcessRecord()
    {
      WriteObject(&quot;Hello &quot; + Name + &quot;!&quot;);
    }
  }
}
&quot;@</span>            

<span style="color: #ff4500">$assembly</span> <span style="color: #a9a9a9">=</span> <span style="color: #000000">(</span><span style="color: #0000ff">Add-Type</span> <span style="color: #000080">-TypeDefinition</span> <span style="color: #ff4500">$code</span> <span style="color: #000000">`
</span>          <span style="color: #000080">-Language</span> <span style="color: #8a2be2">CSharpVersion3</span> <span style="color: #000000">`
</span>          <span style="color: #000080">-passthru</span> <span style="color: #000000">)</span><span style="color: #a9a9a9">.</span><span style="color: #000000">Assembly</span>
<span style="color: #ff4500">$assembly</span> <span style="color: #a9a9a9">|</span> <span style="color: #0000ff">Import-Module</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/08/09/dynamic-binary-modules-follow-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>To Compile or Not Compile, that is the question</title>
		<link>http://get-powershell.com/2009/07/16/to-compile-or-not-compile-that-is-the-question/</link>
		<comments>http://get-powershell.com/2009/07/16/to-compile-or-not-compile-that-is-the-question/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:04:33 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2009/07/16/to-compile-or-not-compile-that-is-the-question/</guid>
		<description><![CDATA[A few weeks ago I had the pleasure of speaking at Tech Summit for Avanade. Tech Summit is sort of like an internal Tech Ed for Avanade Employees. My talk, of course, was all about PowerShell V2 and how to leverage the features like Remoting, Modules, and Advanced Functions. Advanced Functions essentially allows PowerShell users [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I had the pleasure of speaking at Tech Summit for <a href="http://www.avanade.com">Avanade</a>. Tech Summit is sort of like an internal Tech Ed for Avanade Employees. My talk, of course, was all about PowerShell V2 and how to leverage the features like Remoting, Modules, and Advanced Functions.</p>
<p><a href="http://blogs.msdn.com/powershell/archive/2008/12/23/advanced-functions-and-test-leapyear-ps1.aspx">Advanced Functions</a> essentially allows PowerShell users to leverage nearly all the features that are available to a developer writing a Cmdlet in C# in functions written in PowerShell script.</p>
<p>After the talk, one question that was brought up was “If you can leverage all of these features in Advanced Functions, at what point would you convert over to C# (or VB .NET) and write a full blown compiled binary Module. </p>
<p>The first is all about performance. Well written compiled code will almost always out perform well written interpreted code. There are a ton of factors here that can come into play, but as a general rule, binaries will be faster than script. </p>
<p>The second reason you may want to stick with compiled code is if you want to include a provider with your Module. A provider presents any kind of data store to a PowerShell user in the same way they are presented the filesystem. You can do things like set-location, new-item, set-itemproperty, cd, ls, md, etc etc. Just as an example, the <a href="http://pscx.codeplex.com/">PowerShell Community Extensions</a> has a provider for Active Directory.</p>
<p>If you are a sys admin that has never cracked open Visual Studio, you obviously will start off with Advanced Functions. However, I would really like to point out that the glide path to compiled C# from Advanced Functions is not super steep. There is a ton of documentation on <a href="http://msdn.microsoft.com/en-us/beginner/default.aspx">Beginner Development</a> and how to <a href="http://msdn.microsoft.com/en-us/library/dd878294(VS.85).aspx">write your first Cmdlet</a>. So if you are interested at all in learning, I say go for it and jump in with both feet. Even if you are not looking to be a full time software developer, looking at and understanding how a compiled cmdlet is written will bring a deeper understanding to how you use PowerShell. </p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/07/16/to-compile-or-not-compile-that-is-the-question/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>No Seattle Script Club this Month</title>
		<link>http://get-powershell.com/2009/05/21/no-seattle-script-club-this-month/</link>
		<comments>http://get-powershell.com/2009/05/21/no-seattle-script-club-this-month/#comments</comments>
		<pubDate>Thu, 21 May 2009 03:16:14 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2009/05/21/no-seattle-script-club-this-month/</guid>
		<description><![CDATA[I had previously mentioned that there would be another Script Club this month, but schedule wise, things did not quite work out. My wife and I are in “getting ready for new baby” mode. The C-section is scheduled for the 1st week of June. I am guessing the next one will be in July sometime.]]></description>
			<content:encoded><![CDATA[<p>I had <a href="http://get-powershell.com/2009/04/25/script-club-update/">previously mentioned</a> that there would be another Script Club this month, but schedule wise, things did not quite work out. </p>
<p><a href="http://raissasblog.com/">My wife</a> and I are in “getting ready for new baby” mode. The C-section is scheduled for the 1st week of June. </p>
<p>I am guessing the next one will be in July sometime. </p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/05/21/no-seattle-script-club-this-month/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Handling Button Clicks in WPF with PowerShell</title>
		<link>http://get-powershell.com/2009/05/21/handling-button-clicks-in-wpf-with-powershell/</link>
		<comments>http://get-powershell.com/2009/05/21/handling-button-clicks-in-wpf-with-powershell/#comments</comments>
		<pubDate>Thu, 21 May 2009 03:08:45 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2009/05/21/handling-button-clicks-in-wpf-with-powershell/</guid>
		<description><![CDATA[In my last post, I discussed how to fire up a WPF window in PowerShell. You can make XAML look pretty amazing, but if buttons and controls never get wired up to any functionality, it gets boring pretty quick. Here is the code I had last time with a small addition.Blend allows you to name [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://get-powershell.com/2009/05/19/blend-xaml-powershell/">my last post</a>, I discussed how to fire up a WPF window in PowerShell. You can make XAML look pretty amazing, but if buttons and controls never get wired up to any functionality, it gets boring pretty quick. Here is the code I had last time with a small addition.Blend allows you to name your controls. This turns into what you see in line 018 in the XAML. x:Name=”Close.”</p>
<div style="border-bottom: black 1px solid; border-left: black 1px solid; padding-bottom: 5px; padding-left: 5px; width: 482px; padding-right: 5px; font-family: consolas,lucida console; height: 638px; font-size: 10pt; overflow: auto; border-top: black 1px solid; border-right: black 1px solid; padding-top: 5px">
<table border="0" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td valign="top">
<div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #cecece; font-size: 10pt; padding-top: 5px">001             <br />002              <br />003              <br />004              <br />005              <br />006              <br />007              <br />008              <br />009              <br />010              <br />011              <br />012              <br />013              <br />014              <br />015              <br />016              <br />017              <br />018              <br />019              <br />020              <br />021              <br />022              <br />023              <br />024              <br />025              <br />026              <br />027              </div>
</td>
<td valign="top" nowrap="nowrap">
<div style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-family: consolas,lucida console; background: #fcfcfc; font-size: 10pt; padding-top: 5px"><span style="color: #008080">[xml]</span><span style="color: #ff4500">$xaml</span><span style="color: #000000">&#160;</span><span style="color: #a9a9a9">=</span><span style="color: #000000">&#160;</span><span style="color: #8b0000">@&quot;               <br />&#160;&#160;&#160; &lt;Window                <br /> xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;                <br /> xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;                <br /> x:Name=&quot;Window&quot;                <br /> Title=&quot;Blend and PowerShell&quot;                <br /> Width=&quot;640&quot; Height=&quot;480&quot; AllowsTransparency=&quot;False&quot;&gt;                <br /> &lt;Grid x:Name=&quot;LayoutRoot&quot;&gt;                <br />&#160; &lt;Rectangle Margin=&quot;22,8,22,0&quot; VerticalAlignment=&quot;Top&quot; Height=&quot;178&quot; Stroke=&quot;#FF000000&quot;&gt;                <br />&#160;&#160; &lt;Rectangle.Fill&gt;                <br />&#160;&#160;&#160; &lt;LinearGradientBrush EndPoint=&quot;0.5,1&quot; StartPoint=&quot;0.5,0&quot;&gt;                <br />&#160;&#160;&#160;&#160; &lt;GradientStop Color=&quot;#FF000000&quot; Offset=&quot;0&quot;/&gt;                <br />&#160;&#160;&#160;&#160; &lt;GradientStop Color=&quot;#FF861A1A&quot; Offset=&quot;1&quot;/&gt;                <br />&#160;&#160;&#160; &lt;/LinearGradientBrush&gt;                <br />&#160;&#160; &lt;/Rectangle.Fill&gt;                <br />&#160; &lt;/Rectangle&gt;                <br />&#160; &lt;Button Margin=&quot;121,0,129,96&quot; VerticalAlignment=&quot;Bottom&quot; Height=&quot;100&quot; Content=&quot;Button&quot;                 <br />&#160;&#160;&#160; x:Name=&quot;Close&quot;/&gt;                <br /> &lt;/Grid&gt;                <br />&lt;/Window&gt;                <br />&quot;@</span>              <br /><span style="color: #ff4500">$reader</span><span style="color: #000000">&#160;</span><span style="color: #a9a9a9">=</span><span style="color: #000000">&#160;</span><span style="color: #0000ff">New-Object</span><span style="color: #000000">&#160;</span><span style="color: #8a2be2">System.Xml.XmlNodeReader</span><span style="color: #000000">&#160;</span><span style="color: #ff4500">$xaml</span>              <br /><span style="color: #ff4500">$d</span><span style="color: #000000">&#160;</span><span style="color: #a9a9a9">=</span><span style="color: #000000">&#160;</span><span style="color: #008080">[Windows.Markup.XamlReader]</span><span style="color: #a9a9a9">::</span><span style="color: #000000">Load</span><span style="color: #000000">(</span><span style="color: #ff4500">$reader</span><span style="color: #000000">)</span>              <br /><span style="color: #ff4500">$d</span><span style="color: #a9a9a9">.</span><span style="color: #000000">FindName</span><span style="color: #000000">(</span><span style="color: #8b0000">&quot;Close&quot;</span><span style="color: #000000">)</span><span style="color: #a9a9a9">.</span><span style="color: #000000">add_click</span><span style="color: #000000">(</span><span style="color: #000000">{</span>              <br /><span style="color: #000000">&#160;&#160;&#160; </span><span style="color: #ff4500">$d</span><span style="color: #a9a9a9">.</span><span style="color: #000000">Close</span><span style="color: #000000">(</span><span style="color: #000000">)</span>              <br /><span style="color: #000000">}</span><span style="color: #000000">)</span>              <br /><span style="color: #ff4500">$d</span><span style="color: #a9a9a9">.</span><span style="color: #000000">ShowDialog</span><span style="color: #000000">(</span><span style="color: #000000">)</span><span style="color: #000000">&#160;</span><span style="color: #a9a9a9">|</span><span style="color: #000000">&#160;</span><span style="color: #0000ff">out-null</span> </div>
</td>
</tr>
</tbody>
</table></div>
<p>Once you have the name, you can call the FindName method (see line 024) on your WPF Window. This allows you to find the named control that you want to add event handling for. Using FindName, we can add the add_Click method and pass in the ScriptBlock that we want to execute on the click event.</p>
<p>When you run this, clicking the button will close the dialog box.</p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/05/21/handling-button-clicks-in-wpf-with-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scott Hanselman&#8217;s Tools List</title>
		<link>http://get-powershell.com/2009/05/04/scott-hanselmans-tools-list/</link>
		<comments>http://get-powershell.com/2009/05/04/scott-hanselmans-tools-list/#comments</comments>
		<pubDate>Mon, 04 May 2009 04:05:53 +0000</pubDate>
		<dc:creator>Andy Schneider</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://get-powershell.com/2009/05/04/scott-hanselmans-tools-list/</guid>
		<description><![CDATA[I just started rebuilding a laptop with Windows 7 RC and thought I would do a bit of a refresh on my typical tool list that gets added to my machine immediately after a clean install. Notepad2 with PowerShell support is the latest must add for me. Scott Hanselman has a phenomenal list of tools [...]]]></description>
			<content:encoded><![CDATA[<p>I just started rebuilding a laptop with Windows 7 RC and thought I would do a bit of a refresh on my typical tool list that gets added to my machine immediately after a clean install. <a href="http://www.flos-freeware.ch/notepad2.html" target="_blank">Notepad2 with PowerShell support</a> is the latest must add for me.</p>
<p><a href="http://www.hanselman.com/blog/" target="_blank">Scott Hanselman</a> has a <a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx" target="_blank">phenomenal list of tools</a> that he posted back in 2007 but they are still worth a look through. Most are free and the ones that are not are worth paying for. </p>
<p>Scott is mainly a developer so a lot of the tools are dev focused, but a the top 10 would apply to anyone that wants to interact with their computer in a more effective way.</p>
<p>I have heard him mention on his <a href="http://hanselminutes.com/" target="_blank">podcast</a> that people are starting to complain that he hasn’t refreshed the list in a while. Maybe we will have the pleasure of the 2009 list soon. We’ll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://get-powershell.com/2009/05/04/scott-hanselmans-tools-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
