<?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>Nathan's Blog &#187; powershell</title>
	<atom:link href="http://nathan.studiodifferent.com/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://nathan.studiodifferent.com</link>
	<description>Wired World Wonderings</description>
	<lastBuildDate>Mon, 22 Oct 2007 16:50: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>PowerShell: Windows Administration Evolved</title>
		<link>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/</link>
		<comments>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 06:30:04 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/</guid>
		<description><![CDATA[Yesterday Microsoft released their new command shell, Windows PowerShell (via Aaron Tiensivu). This next-generation shell offers an administrative environment that strives to replace a jumble of administrative commands with a consistent, extensible interface. Consider traditional Windows system administration tools &#8212; it is possible to automate administrative tasks with powerful commands like sc, netsh, and cacls. [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 15px;">
<img src="http://nathan.studiodifferent.com/wp-content/uploads/2006/11/powershell-icon.png" alt=""/>
</div>
<p>Yesterday Microsoft <a href="http://blogs.msdn.com/powershell/archive/2006/11/14/windows-powershell-1-0-released.aspx">released</a> their new command shell, Windows PowerShell (via <a href="http://blog.tiensivu.com/aaron/archives/713-PowerShell-1.0-is-supposed-to-RTM-today.html">Aaron Tiensivu</a>). This next-generation shell offers an administrative environment that strives to replace a jumble of administrative commands with a consistent, extensible interface.<span id="more-71"></span></p>
<p>Consider traditional Windows system administration tools &mdash; it is possible to automate administrative tasks with powerful commands like sc, netsh, and cacls. But each of these commands presents an esoteric interface with inconsistent command line options, and built-in documentation is sparse at best. Likewise, scripting with VBScript/JScript has good potential, but interaction with executables requires excessive housekeeping, and COM object interfaces are also inconsistent.</p>
<p>Unlike Windows&#8217; monolithic commands, *nix has long offered a wide range of simple commands whose text input/output is easily strung together to perform useful tasks. Certain command line options are consistent enough (e.g. &#8220;-v&#8221;), and the man/info help system facilitates on-line documentation.</p>
<p>Enter <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx">PowerShell</a>, which evolves *nix pipe concept to process <em>.NET objects</em> rather than simple text. The basic element of PowerShell&#8217;s object-oriented pipeline is the <em>cmdlet</em> (pronounced &#8220;command-let&#8221;). These simple commands follow a <a href="http://msdn2.microsoft.com/en-us/library/ms714428.aspx">verb</a>-noun naming convention that indicates their purpose. For example, <code>Get-Service</code> outputs the services on the local machine as service objects; <code>Set-Date</code> sets the clock. Functionality is so granular that output formatting is isolated to format- cmdlets, and output is the responsibility of output- cmdlets. For example:</p>
<pre>PS C:\&gt; Get-Process notepad | Stop-Process</pre>
<p><code>Get-Process notepad</code> passes a list of .NET process objects named &#8220;notepad&#8221; (specifically, <em><a href="http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.aspx">System.Diagnostics.Process</a></em>), and passes them to <code>Stop-Process</code>, which kills them. It would be just as easy to access any of the other Process properties or methods.</p>
<p>Extensive built-in help is available. The command <code>Get-Help</code> details it&#8217;s own options, and is a good place to start. Combined with the integrated scripting language, PowerShell + .NET is a clean alternative to VBScript/JScript + COM.</p>
<p>PowerShell 1.0 is <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx">available for download</a>. Microsoft&#8217;s <a href="http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/index.mspx">What Can I Do with Windows PowerShell?</a> offers basic examples to get started. I also recommend the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B4720B00-9A66-430F-BD56-EC48BFCA154F&#038;displaylang=en">documentation pack</a>, which includes a more extensive 32-page Getting Started Guide as well as a 116-page primer. <a href="http://msdn2.microsoft.com/en-us/library/aa830112.aspx">full documentation</a> is available on MSDN.</p>
]]></content:encoded>
			<wfw:commentRss>http://nathan.studiodifferent.com/2006/11/15/powershell-windows-administration-evolved/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
