<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Force Multiplication through IT Automation</title>
	
	<link>http://www.hofferle.com</link>
	<description>Jason Hofferle</description>
	<lastBuildDate>Tue, 21 Feb 2012 14:14:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ForceMultiplicationThroughItAutomation" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="forcemultiplicationthroughitautomation" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>List of PowerShell Books</title>
		<link>http://www.hofferle.com/list-of-powershell-books/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=list-of-powershell-books</link>
		<comments>http://www.hofferle.com/list-of-powershell-books/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 14:00:40 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=1106</guid>
		<description><![CDATA[My list of free PowerShell eBooks has been very popular, so I decided to compile a list of paid PowerShell books. I own several of these books myself, and I thought it would be helpful to have links to the publisher page for code examples, bonus chapters and errata. My top recommendation is Windows PowerShell [<a href="http://www.hofferle.com/list-of-powershell-books/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://www.hofferle.com/list-of-free-powershell-ebooks/" title="List of Free PowerShell eBooks" target="_blank">list of free PowerShell eBooks</a> has been very popular, so I decided to compile a list of paid PowerShell books. I own several of these books myself, and I thought it would be helpful to have links to the publisher page for code examples, bonus chapters and errata.</p>
<p>My top recommendation is <em>Windows PowerShell in Action</em> by Bruce Payette. This book goes into great depth on the inner workings of PowerShell and why certain decisions were made during development. Bruce is a founding member of the Windows PowerShell team at Microsoft, and the principal author of the language implementation. It&#8217;s hard to find a more authoritative source than this.</p>
<p>Someone with no scripting or programming experience would have an easier time with Don Jones&#8217; <em>Learn Windows PowerShell in a Month of Lunches</em>. Don&#8217;s book is written like a textbook with each chapter building on the previous lessons. There are also excellent supplementary resources available including a classroom kit for trainers and video lessons.</p>
<p>The remaining books are listed by publication date, and how useful they are depends on the situation. Someone that likes to learn from examples might prefer the W<em>indows PowerShell Cookbook</em>, while a SharePoint or VMware administrator would find the books focusing on those specific topics immediately valuable.</p>
<h3>Windows PowerShell in Action, Second Edition</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellInAction_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellInAction_150.png?9d7bd4" alt="Windows PowerShell In Action, Second Edition" title="Windows PowerShell In Action" width="150" height="188" class="alignleft size-full wp-image-1121" /></a><strong>Bruce Payette</strong><br />
Paperback: 1016 pages<br />
Publisher: Manning Publications (May 18, 2011)<br />
ISBN-10: 1935182137<br />
ISBN-13: 978-1935182139<br />
<a href="http://www.amazon.com/gp/product/1935182137/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1935182137">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1935182137" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.manning.com/payette2/" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Learn Windows PowerShell in a Month of Lunches</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/Learn-Windows-PowerShell-in-a-Month-of-Lunches_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/Learn-Windows-PowerShell-in-a-Month-of-Lunches_150.png?9d7bd4" alt="Learn Windows PowerShell in a Month of Lunches" title="Learn-Windows-PowerShell-in-a-Month-of-Lunches" width="150" height="190" class="alignleft size-full wp-image-1134" /></a><strong>Don Jones</strong><br />
Paperback: 425 pages<br />
Publisher: Manning Publications (May 14, 2011)<br />
ISBN-10: 1617290211<br />
ISBN-13: 978-1617290213<br />
<a href="http://www.amazon.com/gp/product/1617290211/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1617290211">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1617290211" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.manning.com/jones/" title="Publisher" target="_blank">Publisher</a> | <a href="http://morelunches.com/titles/windows-powershell-v2/" title="Bonus Materials" target="_blank">Bonus Materials</a></p>
<p><br style="clear: both;" /> </p>
<hr />
<h3>PowerShell and WMI</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellandWMI_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellandWMI_150.png?9d7bd4" alt="PowerShell and WMI" title="PowerShellandWMI" width="150" height="188" class="alignleft size-full wp-image-1192" /></a><strong>Richard Siddaway</strong><br />
Paperback: 450 pages<br />
Publisher: Manning Publications (March 28, 2012)<br />
ISBN-10: 1617290114<br />
ISBN-13: 978-1617290114<br />
<a href="http://www.amazon.com/gp/product/1617290114/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1617290114">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1617290114" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.manning.com/siddaway2/" title="PowerShell and WMI" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Microsoft SharePoint 2010 and Windows PowerShell 2.0: Expert Cookbook</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/MicrosoftSharePoint2010andWindowsPowerShell2ExpertCookbook_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/MicrosoftSharePoint2010andWindowsPowerShell2ExpertCookbook_150.png?9d7bd4" alt="Microsoft SharePoint 2010 and Windows PowerShell 2 Expert Cookbook" title="MicrosoftSharePoint2010andWindowsPowerShell2ExpertCookbook" width="150" height="185" class="alignleft size-full wp-image-1195" /></a><strong>Yaroslav Pentsarskyy</strong><br />
Paperback: 310 pages<br />
Publisher: Packt Publishing (November 11, 2011)<br />
ISBN-10: 1849684103<br />
ISBN-13: 978-1849684101<br />
<a href="http://www.amazon.com/gp/product/1849684103/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1849684103">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1849684103" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.packtpub.com/microsoft-sharepoint-2010-and-windows-powershell-2-0-expert-cookbook/book" title="Microsoft SharePoint 2010 and Windows PowerShell 2.0: Expert Cookbook" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows Powershell Scripting And Toolmaking</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellScriptingAndToolmaking_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellScriptingAndToolmaking_150.png?9d7bd4" alt="Windows PowerShell Scripting And Toolmaking" title="WindowsPowerShellScriptingAndToolmaking" width="150" height="199" class="alignleft size-full wp-image-1146" /></a><strong>Don Jones</strong><br />
Paperback: 122 pages<br />
Publisher: lulu.com (October 14, 2011)<br />
ISBN-10: 1105082830<br />
ISBN-13: 978-1105082832<br />
<a href="http://www.amazon.com/gp/product/1105082830/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1105082830">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1105082830" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.lulu.com/product/paperback/windows-powershell-scripting-and-toolmaking/17796793" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Windows PowerShell 2.0 Bible</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellBible_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellBible_150.png?9d7bd4" alt="Windows PowerShell 2.0 Bible" title="PowerShellBible" width="150" height="190" class="alignleft size-full wp-image-1169" /></a><strong>Thomas Lee, Karl Mitschke, Mark E. Schill, Tome Tanasovski</strong><br />
Paperback: 696 pages<br />
Publisher: Wiley (October 11, 2011)<br />
ISBN-10: 1118021983<br />
ISBN-13: 978-1118021989<br />
<a href="http://www.amazon.com/gp/product/1118021983/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1118021983">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1118021983" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118021983.html" title="Windows PowerShell 2.0 Bible" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Microsoft Exchange 2010 PowerShell Cookbook</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/MicrosoftExchange2010PowerShellCookbook_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/MicrosoftExchange2010PowerShellCookbook_150.png?9d7bd4" alt="Microsoft Exchange 2010 PowerShell Cookbook" title="MicrosoftExchange2010PowerShellCookbook" width="150" height="184" class="alignleft size-full wp-image-1198" /></a><strong>Mike Pfeiffer</strong><br />
Paperback: 480 pages<br />
Publisher: Packt Publishing (July 25, 2011)<br />
ISBN-10: 1849682461<br />
ISBN-13: 978-1849682466<br />
<a href="http://www.amazon.com/gp/product/1849682461/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1849682461">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1849682461" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.packtpub.com/microsoft-exchange-server-2010-with-windows-powershell-cookbook/book" title="Microsoft Exchange 2010 PowerShell Cookbook" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>PowerShell for SharePoint 2010 How-To</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellforSharePoint2010HowTo_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellforSharePoint2010HowTo_150.png?9d7bd4" alt="PowerShell for SharePoint 2010 HowTo" title="PowerShellforSharePoint2010HowTo" width="150" height="243" class="alignleft size-full wp-image-1223" /></a><strong>Steven Mann</strong><br />
Paperback: 272 pages<br />
Publisher: Sams (July 2, 2011)<br />
ISBN-10: 067233559X<br />
ISBN-13: 978-0672335594<br />
<a href="http://www.amazon.com/gp/product/067233559X/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=067233559X">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=067233559X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.informit.com/store/product.aspx?isbn=067233559X" title="PowerShell for SharePoint 2010" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Automating Active Directory Administration with Windows PowerShell 2.0</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingActiveDirectoryAdministration_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingActiveDirectoryAdministration_150.png?9d7bd4" alt="Automating Active Directory Administration with Windows PowerShell 2.0" title="AutomatingActiveDirectoryAdministration" width="150" height="189" class="alignleft size-full wp-image-1172" /></a><strong>Ken St. Cyr, Laura E. Hunter</strong><br />
Paperback: 504 pages<br />
Publisher: Sybex (June 28, 2011)<br />
ISBN-10: 1118027310<br />
ISBN-13: 978-1118027318<br />
<a href="http://www.amazon.com/gp/product/1118027310/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1118027310">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1118027310" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118027310.html" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Automating SharePoint 2010 with Windows PowerShell 2.0</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingSharePoint2010AdministrationWithWindowsPowerShell_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingSharePoint2010AdministrationWithWindowsPowerShell_150.png?9d7bd4" alt="Automating SharePoint 2010 Administration with Windows PowerShell 2.0" title="AutomatingSharePoint2010AdministrationWithWindowsPowerShell" width="150" height="189" class="alignleft size-full wp-image-1203" /></a><strong>Gary Lapointe, Shannon Bray</strong><br />
Paperback: 768 pages<br />
Publisher: Sybex (June 21, 2011)<br />
ISBN-10: 0470939206<br />
ISBN-13: 978-0470939208<br />
<a href="http://www.amazon.com/gp/product/0470939206/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0470939206">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0470939206" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470939206.html" title="Automating SharePoint 2010 with Windows PowerShell 2.0" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Automating Microsoft Windows Server 2008 R2 with Windows PowerShell 2.0</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingMicrosoftWindowsServer2008R2withWindowsPowerShell_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AutomatingMicrosoftWindowsServer2008R2withWindowsPowerShell_150.png?9d7bd4" alt="Automating Microsoft Windows Server 2008 R2 with Windows PowerShell" title="AutomatingMicrosoftWindowsServer2008R2withWindowsPowerShell" width="150" height="189" class="alignleft size-full wp-image-1162" /></a><strong>Matthew Hester, Sarah Dutkiewicz</strong><br />
Paperback: 432 pages<br />
Publisher: Sybex (May 31, 2011)<br />
ISBN-10: 1118013867<br />
ISBN-13: 978-1118013861<br />
<a href="http://www.amazon.com/gp/product/1118013867/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1118013867">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1118013867" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118013867.html" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>VMware vSphere PowerCLI Reference: Automating vSphere Administration</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/VMwarevSpherePowerCLIReference_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/VMwarevSpherePowerCLIReference_150.png?9d7bd4" alt="VMware vSphere PowerCLI Reference" title="VMwarevSpherePowerCLIReference" width="150" height="190" class="alignleft size-full wp-image-1206" /></a><strong>Luc Dekens, Alan Renouf, Glenn Sizemore, Arnim van Lieshout, Jonathan Medd</strong><br />
Paperback: 768 pages<br />
Publisher: Sybex (April 12, 2011)<br />
ISBN-10: 0470890797<br />
ISBN-13: 978-0470890790<br />
<a href="http://www.amazon.com/gp/product/0470890797/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0470890797">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0470890797" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470890797.html" title="VMware vSphere PowerCLI Reference" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Managing Active Directory with Windows PowerShell: TFM, 2nd Edition</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/ManagingActiveDirectoryWithWindowsPowerShell_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/ManagingActiveDirectoryWithWindowsPowerShell_150.png?9d7bd4" alt="Managing Active Directory with Windows PowerShell" title="ManagingActiveDirectoryWithWindowsPowerShell" width="150" height="213" class="alignleft size-full wp-image-1211" /></a><strong>Jeffery Hicks</strong><br />
Paperback: 402 pages<br />
Publisher: SAPIEN Technologies (April 1, 2011)<br />
ISBN-10: 0982131445<br />
ISBN-13: 978-0982131442<br />
<a href="http://www.amazon.com/gp/product/0982131445/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0982131445">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0982131445" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.sapien.com/books/Managing-Active-Directory" title="Managing Active Directory with Windows PowerShell" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows PowerShell 2.0 Best Practices</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellBestPractices_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellBestPractices_150.png?9d7bd4" alt="Windows PowerShell Best Practices" title="WindowsPowerShellBestPractices" width="150" height="183" class="alignleft size-full wp-image-1166" /></a><strong>Ed Wilson</strong><br />
Paperback: 752 pages<br />
Publisher: Microsoft Press (December 14, 2010)<br />
ISBN-10: 0735626464<br />
ISBN-13: 978-0735626461<br />
<a href="http://www.amazon.com/gp/product/0735626464/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0735626464">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0735626464" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://shop.oreilly.com/product/9780735626461.do" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>PowerShell for Microsoft SharePoint 2010 Administrators</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellforMicrosoftSharePoint2010Administrators_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellforMicrosoftSharePoint2010Administrators_150.png?9d7bd4" alt="PowerShell for Microsoft SharePoint 2010 Administrators" title="PowerShellforMicrosoftSharePoint2010Administrators" width="150" height="185" class="alignleft size-full wp-image-1226" /></a><strong>Niklas Goude, Mattias Karlsson</strong><br />
Paperback: 368 pages<br />
Publisher: McGraw-Hill Osborne Media (October 7, 2010)<br />
ISBN-10: 0071747974<br />
ISBN-13: 978-0071747974<br />
<a href="http://www.amazon.com/gp/product/0071747974/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0071747974">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0071747974" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.mhprofessional.com/product.php?cat=39&#038;isbn=0071747982" title="PowerShell for Microsoft SharePoint 2010 Administrators" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows PowerShell Cookbook, Second Edition</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellCookbook_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellCookbook_150.png?9d7bd4" alt="Windows PowerShell Cookbook" title="WindowsPowerShellCookbook" width="150" height="192" class="alignleft size-full wp-image-1137" /></a><strong>Lee Holmes</strong><br />
Paperback: 888 page<br />
Publisher: O&#8217;Reilly Media (August 26, 2010)<br />
ISBN-10: 0596801505<br />
ISBN-13: 978-0596801502<br />
<a href="http://www.amazon.com/gp/product/0596801505/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596801505">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0596801505" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://shop.oreilly.com/product/9780596801519.do" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>PowerShell in Practice</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellinPractice_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/PowerShellinPractice_150.png?9d7bd4" alt="PowerShell in Practice" title="PowerShellinPractice" width="150" height="188" class="alignleft size-full wp-image-1229" /></a><strong>Richard Siddaway</strong><br />
Paperback: 500 pages<br />
Publisher: Manning Publications (June 28, 2010)<br />
ISBN-10: 1935182005<br />
ISBN-13: 978-1935182009<br />
<a href="http://www.amazon.com/gp/product/1935182005/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1935182005">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1935182005" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.manning.com/siddaway/" title="PowerShell in Practice" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows PowerShell 2.0 TFM</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellTFM_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellTFM_150.png?9d7bd4" alt="Windows PowerShell TFM" title="WindowsPowerShellTFM" width="150" height="215" class="alignleft size-full wp-image-1157" /></a><strong>Don Jones, Jeffery Hicks</strong><br />
Paperback: 714 pages<br />
Publisher: SAPIEN Technologies (January 1, 2010)<br />
ISBN-10: 0982131429<br />
ISBN-13: 978-0982131428<br />
<a href="http://www.amazon.com/gp/product/0982131429/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0982131429">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0982131429" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.sapien.com/books/Windows-PowerShell-2" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Windows PowerShell 2 For Dummies</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellforDummies_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellforDummies_150.png?9d7bd4" alt="Windows PowerShell 2 for Dummies" title="WindowsPowerShell2forDummies" width="150" height="188" class="alignleft size-full wp-image-1189" /></a><strong>Steve Seguis</strong><br />
Paperback: 412 pages<br />
Publisher: For Dummies (August 10, 2009)<br />
ISBN-10: 0470371986<br />
ISBN-13: 978-0470371985<br />
<a href="http://www.amazon.com/gp/product/0470371986/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0470371986">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0470371986" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.dummies.com/store/product/Windows-PowerShell-2-For-Dummies.productCd-0470371986,navId-322470,descCd-description.html" title="Windows PowerShell 2 for Dummies" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Microsoft SQL Server 2008 Administration with Windows PowerShell</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/SQLServer2008AdministrationwithWindowsPowerShell_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/SQLServer2008AdministrationwithWindowsPowerShell_150.png?9d7bd4" alt="SQL Server 2008 Administration with Windows PowerShell" title="SQLServer2008AdministrationwithWindowsPowerShell" width="150" height="191" class="alignleft size-full wp-image-1214" /></a><strong>Ananthakumar Muthusamy, Yan Pan</strong><br />
Paperback: 576 pages<br />
Publisher: Wrox (June 9, 2009)<br />
ISBN-10: 0470477288<br />
ISBN-13: 978-0470477281<br />
<a href="http://www.amazon.com/gp/product/0470477288/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0470477288">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0470477288" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470477288.html" title="Microsoft SQL Server 2008 Administration with Windows PowerShell" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows PowerShell 2.0 Administrator&#8217;s Pocket Consultant</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellAdministratorsPocketConsultant_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellAdministratorsPocketConsultant_150.png?9d7bd4" alt="Windows PowerShell Administrators Pocket Consultant" title="WindowsPowerShellAdministratorsPocketConsultant" width="150" height="219" class="alignleft size-full wp-image-1152" /></a><strong>William R. Stanek</strong><br />
Paperback: 464 pages<br />
Publisher: Microsoft Press (May 27, 2009)<br />
ISBN-10: 0735625956<br />
ISBN-13: 978-0735625952<br />
<a href="http://www.amazon.com/gp/product/0735625956/ref=as_li_tf_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0735625956">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0735625956" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://shop.oreilly.com/product/9780735625952.do" title="Publisher" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /> </p>
<h3>Managing VMware Infrastructure with Windows PowerShell TFM</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/ManagingVMwareInfrastructurewithWindowsPowerShell_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/ManagingVMwareInfrastructurewithWindowsPowerShell_150.png?9d7bd4" alt="Managing VMware Infrastructure with Windows PowerShell" title="ManagingVMwareInfrastructurewithWindowsPowerShell" width="150" height="214" class="alignleft size-full wp-image-1220" /></a><strong>Hal Rottenberg</strong><br />
Paperback: 388 pages<br />
Publisher: SAPIEN Technologies (March 31, 2009)<br />
ISBN-10: 0982131402<br />
ISBN-13: 978-0982131404<br />
<a href="http://www.amazon.com/gp/product/0982131402/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0982131402">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0982131402" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.sapien.com/books/Managing-VMWare" title="Managing VMware Infrastructure with Windows PowerShell" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Microsoft Windows PowerShell 2.0 Programming for the Absolute Beginner, 2nd Edition</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellProgrammingAbsoluteBeginner_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellProgrammingAbsoluteBeginner_150.png?9d7bd4" alt="Windows PowerShell Programming for the Absolute Beginner" title="WindowsPowerShellProgrammingAbsoluteBeginner" width="150" height="186" class="alignleft size-full wp-image-1182" /></a><strong>Jerry Lee Ford Jr.</strong><br />
Paperback: 423 pages<br />
Publisher: Course Technology PTR (December 18, 2008)<br />
ISBN-10: 1598638998<br />
ISBN-13: 978-1598638998<br />
<a href="http://www.amazon.com/gp/product/1598638998/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=1598638998">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=1598638998" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.delmarlearning.com/companions/index.asp?isbn=1598638998" title="Microsoft Windows PowerShell 2.0 Programming for the Absolute Beginner, 2nd Edition" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
<h3>Windows PowerShell Unleashed (2nd Edition)</h3>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellUnleashed_150.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/WindowsPowerShellUnleashed_150.png?9d7bd4" alt="Windows PowerShell Unleashed" title="WindowsPowerShellUnleashed" width="150" height="196" class="alignleft size-full wp-image-1217" /></a><strong>Tyson Kopczynski, Pete Handley, Marco Shaw</strong><br />
Paperback: 528 pages<br />
Publisher: Sams (December 14, 2008)<br />
ISBN-10: 0672329883<br />
ISBN-13: 978-0672329883<br />
<a href="http://www.amazon.com/gp/product/0672329883/ref=as_li_ss_tl?ie=UTF8&#038;tag=forcmultthroi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0672329883">Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=forcmultthroi-20&#038;l=as2&#038;o=1&#038;a=0672329883" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> | <a href="http://www.informit.com/store/product.aspx?isbn=0672329883" title="Windows PowerShell Unleashed" target="_blank">Publisher</a></p>
<p><br style="clear: both;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/list-of-powershell-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation from 2012 Sarasota IT Pro Camp</title>
		<link>http://www.hofferle.com/presentation-from-2012-sarasota-it-pro-camp/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=presentation-from-2012-sarasota-it-pro-camp</link>
		<comments>http://www.hofferle.com/presentation-from-2012-sarasota-it-pro-camp/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 04:31:10 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[IT Pro Camp]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Remoting]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=1326</guid>
		<description><![CDATA[The 2012 Sarasota IT Pro Camp at Keiser University was a great success, mainly due to the hard work from the organizers and volunteers. I want to thank all the attendees for coming out, and especially those that came to my remoting session. Introduction to PowerShell Remoting Slide deck for Introduction to PowerShell Remoting Layman&#8217;s [<a href="http://www.hofferle.com/presentation-from-2012-sarasota-it-pro-camp/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>The 2012 Sarasota IT Pro Camp at Keiser University was a great success, mainly due to the hard work from the organizers and volunteers. I want to thank all the attendees for coming out, and especially those that came to my remoting session.</p>
<h2>Introduction to PowerShell Remoting</h2>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.pdf?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.png?9d7bd4" alt="Title Slide for Introduction to PowerShell Remoting" title="Introduction to PowerShell Remoting" width="200" height="150" class="alignleft size-full wp-image-928" /></a><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.pdf?9d7bd4">Slide deck for Introduction to PowerShell Remoting</a></p>
<p><br style="clear: both;" /></p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/laymansguidePowerShellremoting.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/laymansguidePowerShellremoting.png?9d7bd4" alt="Cover image of the Layman&#039;s Guide to PowerShell Remoting" title="laymansguidePowerShellremoting" width="150" height="207" class="alignleft size-full wp-image-626" /></a><a href="http://www.ravichaganti.com/blog/?page_id=1301">Layman&#8217;s Guide to PowerShell 2.0 Remoting</a><br />
<em>Ravikanth Chaganti</em></p>
<p><br style="clear: both;" /> </p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/Remoting.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/Remoting.png?9d7bd4" alt="Cover image for Administrator&#039;s Guide to Windows PowerShell Remoting" title="Remoting" width="150" height="194" class="alignleft size-full wp-image-631" /></a><a href="http://powershell.com/cs/media/p/4908.aspx">Administrator&#8217;s Guide to Windows PowerShell Remoting</a><br />
<em>Dr. Tobias Weltner<br />
Aleksandar Nikolic<br />
Richard Giles</em></p>
<p><br style="clear: both;" /></p>
<p><a href="http://www.manning.com/payette2/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/payette2_cover150.jpg?9d7bd4" alt="Cover of Windows PowerShell in Action by Bruce Payette" title="Windows PowerShell in Action, Second Edition" width="150" height="187" class="alignleft size-full wp-image-912" /></a><a href="http://www.manning.com/payette2/">Windows PowerShell in Action, Second Edition</a><br />
<em>Bruce Payette</em></p>
<p><br style="clear: both;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/presentation-from-2012-sarasota-it-pro-camp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Saturday #110 in Tampa</title>
		<link>http://www.hofferle.com/sql-saturday-110-in-tampa/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sql-saturday-110-in-tampa</link>
		<comments>http://www.hofferle.com/sql-saturday-110-in-tampa/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 14:00:01 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[IT Pro Camp]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=1321</guid>
		<description><![CDATA[I will be presenting at SQL Saturday #110 in Tampa, Florida on March 10th. This is a free event for SQL Server professionals and anyone that&#8217;s interested in learning about SQL Server.]]></description>
			<content:encoded><![CDATA[<p>I will be presenting at <a href="http://www.sqlsaturday.com/110/eventhome.aspx" title="SQL Saturday #110" target="_blank">SQL Saturday #110</a> in Tampa, Florida on March 10th. This is a free event for SQL Server professionals and anyone that&#8217;s interested in learning about SQL Server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/sql-saturday-110-in-tampa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell for Desktop Support and Helpdesk Staff</title>
		<link>http://www.hofferle.com/powershell-for-desktop-support-and-helpdesk-staff/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-for-desktop-support-and-helpdesk-staff</link>
		<comments>http://www.hofferle.com/powershell-for-desktop-support-and-helpdesk-staff/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 14:00:17 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=800</guid>
		<description><![CDATA[Many of the resources and discussions about PowerShell are geared towards enterprise IT staff responsible for supporting servers. With entire books written about using PowerShell to manage Exchange, vSphere, and other enterprise technologies, it&#8217;s easy for end-user support personnel to get the impression that PowerShell isn&#8217;t something they need to know. I&#8217;m here to tell [<a href="http://www.hofferle.com/powershell-for-desktop-support-and-helpdesk-staff/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/HelpDesk.jpg?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/HelpDesk.jpg?9d7bd4" alt="Helpdesk Support Staff" title="HelpDesk" width="347" height="346" class="alignleft size-full wp-image-1045" /></a>Many of the resources and discussions about PowerShell are geared towards enterprise IT staff responsible for supporting servers. With entire books written about using PowerShell to manage Exchange, vSphere, and other enterprise technologies, it&#8217;s easy for end-user support personnel to get the impression that PowerShell isn&#8217;t something they need to know. I&#8217;m here to tell you that desktop support and helpdesk staff have just as many reasons to learn PowerShell as a server administrator.</p>
<p>I come from a different background than many heavy PowerShell users because I&#8217;ve spent the majority of my IT career on the client side of things. I&#8217;ve assisted end users in person and over the phone, I&#8217;ve performed several desktop deployments, and I&#8217;m working on virtual desktop infrastructure. Even though I&#8217;m not responsible for managing Active Directory or SQL Servers, PowerShell has become a daily tool for me, and I thought I would throw out some reasons why someone that rarely touches a server should make PowerShell a priority.</p>
<h2>PowerShell is Faster at Certain Tasks</h2>
<p>Remote desktop and similar technologies are extremely helpful for supporting distant users, but there are some simple tasks that can be accomplished must faster with a PowerShell command or script. Copying a new version of a configuration file, restarting a service, or unlocking an account can all be done much faster from the command line.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: true">
Invoke-Command -ComputerName Computer01 -ScriptBlock {Regsvr32.exe /s c:\Windows\SysWOW64\capicom.dll}
</pre>
<p>It would take minutes to make a remote desktop connection, authenticate and register a dll on a remote workstation. It takes seconds to use PowerShell remoting to perform that same task, and it doesn&#8217;t even disrupt the end user.</p>
<h2>PowerShell Will Save Time</h2>
<p>&#8220;I don&#8217;t have time to learn something else&#8221; is one of the most common excuses I hear for not learning PowerShell. While it does initially take more time to learn how to perform a task without pointing and clicking, the first time that task needs to be performed on multiple computers, that time investment will be repaid tenfold. Any time the same task needs to be performed on more than one computer, it&#8217;s a candidate for automation. I automate network printer installations by using the PrintBrm utility to export printerExport files, and import them on other computers.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: true">
Get-EventLog -ComputerName Computer01 -LogName Security -Newest 10
</pre>
<p>If you&#8217;ve ever used Event Viewer to look through the logs on a remote system, you know it can involve some waiting. Knowing how to collect information from workstations can save a massive amount of time, whether you&#8217;re checking for a certain event or generating a report of free disk space.</p>
<h2>PowerShell Provides Automation Capabilities</h2>
<p>Many organizations utilize some sort of enterprise solution for deploying software, making changes to client systems and other automated tasks. One of the problems I still run into today is that while we have all these tools, I don&#8217;t have access to utilize them. Something as simple as creating a desktop shortcut for your local users gets put on the backburner by enterprise staff. Since most local IT admins have administrative access to the workstations they&#8217;re responsible for, something like creating shortcuts is an easy task for PowerShell.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: true">
# CreateShortcut.ps1
$Shell = New-Object -ComObject WScript.Shell
$Shortcut = $Shell.CreateShortcut(&quot;$Env:Public\Desktop\hofferle.com.lnk&quot;)
$Shortcut.TargetPath = &quot;http://www.hofferle.com&quot;
$Shortcut.IconLocation = &quot;shell32.dll,43&quot;
$Shortcut.Save()
</pre>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: true">
Invoke-Command -ComputerName Computer01,Computer02,Computer03 -FilePath C:\CreateShortcut.ps1
</pre>
<p>Many companies still brute force some IT tasks, where it&#8217;s easier to have desktop support touch desktops that develop an enterprise fix. PowerShell allows front-line support to develop automated fixes to save themselves time without relying on an enterprise solution. </p>
<h2>PowerShell Makes it Easy to Share Resources</h2>
<p>Not everyone needs to be a PowerShell expert because modules are an easy way to distribute more complex scripts written by advanced PowerShell users. In my vbscript days, it could be an ordeal to write out documentation on how to use a certain script or write in-line help for it. With comment based help and script modules in PowerShell v2, it&#8217;s incredibly easy to share automated fixes with others. I maintain a module for my organization that packages some complex tasks into easy-to-use functions with built-in help. This allows beginners just getting started to become immediately effective, but those beginners still need to understand the essentials. If you become proficient enough with PowerShell to build these tools for others, you get credit for saving everyone&#8217;s time in addition to your own.</p>
<h2>PowerShell Will Help Your IT Career</h2>
<p>This is probably the most important reason to develop PowerShell skills, and it&#8217;s a valid reason for everyone interested in career advancement. It&#8217;s a rare IT shop that doesn&#8217;t use Microsoft products, and Microsoft products are managed with PowerShell. With the consistency of PowerShell, it&#8217;s very easy to apply the basic concepts and patterns to anything. Learn PowerShell now, and when you get a position as a Directory Administrator or Exchange Admin, the PowerShell skills learned now will be immediately useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/powershell-for-desktop-support-and-helpdesk-staff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding Domain Groups to Local Administrators Group with PowerShell</title>
		<link>http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=adding-domain-groups-to-local-administrators-group-with-powershell</link>
		<comments>http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 13:00:41 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Active Directory]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=892</guid>
		<description><![CDATA[A common way to add domain groups to the local administrators group on a computer is with the net command. This worked well for me until I ran into groups with names longer than 20 characters. That&#8217;s right, the NET.EXE /ADD command does not support names longer than 20 characters. If net localgroup /add is [<a href="http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>A common way to add domain groups to the local administrators group on a computer is with the <code>net</code> command. This worked well for me until I ran into groups with names longer than 20 characters. That&#8217;s right, <a href="http://support.microsoft.com/kb/324639" title="NET.EXE /ADD command does not support names longer than 20 characters" target="_blank">the NET.EXE /ADD command does not support names longer than 20 characters</a>. If <code>net localgroup /add</code> is being used in a computer startup script, the groups with long names just won&#8217;t be added.</p>
<p>So the traditional batch file startup script was replaced with a PowerShell startup script, and this is how I now add domain groups to the local administrators group on computers.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: true">
([adsi]&quot;WinNT://./Administrators,group&quot;).Add(&quot;WinNT://DOMAIN/My Extremely Long Group Name with Spaces,group&quot;)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012 Sarasota IT Pro Camp</title>
		<link>http://www.hofferle.com/2012-sarasota-it-pro-camp/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=2012-sarasota-it-pro-camp</link>
		<comments>http://www.hofferle.com/2012-sarasota-it-pro-camp/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 14:00:18 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[IT Pro Camp]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=1020</guid>
		<description><![CDATA[I will be presenting my PowerShell Remoting session at the Sarasota IT Pro Camp on February 18th. These events are free, one-day learning conferences for IT Professionals of all backgrounds and experience. This is a great opportunity to learn and network with others. Sarasota IT Pro Camp]]></description>
			<content:encoded><![CDATA[<p>I will be presenting my PowerShell Remoting session at the Sarasota IT Pro Camp on February 18th. These events are free, one-day learning conferences for IT Professionals of all backgrounds and experience. This is a great opportunity to learn and network with others.</p>
<p><a href="http://itprocamp.com/sarasota/" title="Sarasota IT Pro Camp" target="_blank">Sarasota IT Pro Camp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/2012-sarasota-it-pro-camp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toggle Smart Card Logon Requirement with Set-ScForceOption</title>
		<link>http://www.hofferle.com/toggle-smart-card-logon-requirement-with-set-scforceoption/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=toggle-smart-card-logon-requirement-with-set-scforceoption</link>
		<comments>http://www.hofferle.com/toggle-smart-card-logon-requirement-with-set-scforceoption/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 13:00:48 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[registry]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=875</guid>
		<description><![CDATA[Two-factor authentication with smart cards is becoming more common, but it can be a real pain when the computer is broken and Windows is refusing to allow a local account to logon for troubleshooting. The security setting Interactive logon: Require smart card may prevent console logons, but if the registry can still be accessed over [<a href="http://www.hofferle.com/toggle-smart-card-logon-requirement-with-set-scforceoption/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>Two-factor authentication with smart cards is becoming more common, but it can be a real pain when the computer is broken and Windows is refusing to allow a local account to logon for troubleshooting. The security setting <code>Interactive logon: Require smart card</code> may prevent console logons, but if the registry can still be accessed over the network, this requirement can be toggled.</p>
<p>I&#8217;ve covered this same method in the past with a <a href="http://www.hofferle.com/?p=321" title="Bypassing Smart Card Logon using Remote Registry" target="_blank">vbscript</a>, and a <a href="http://www.hofferle.com/?p=347" title="Bypass Smart Card Logon using Remote Registry in PowerShell" target="_blank">PowerShell GUI</a>, but this function is designed to work more like a traditional PowerShell cmdlet. The problem of bypassing a smart card requirement also comes up often enough for me that I decided it warranted an update.</p>
<pre>
PS>Set-ScForceOption -ComputerName Computer01 -Status

ComputerName                                                Status
------------                                                ------
Computer01                                                  Enabled

PS>Set-ScForceOption -ComputerName Computer01 -Disable
PS>Set-ScForceOption -ComputerName Computer01 -Status

ComputerName                                                Status
------------                                                ------
Computer01                                                  Disabled

PS>
</pre>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/Set-ScForceOption.zip?9d7bd4">Set-ScForceOption.zip</a></p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: false; pad-line-numbers: false; toolbar: true; wrap-lines: false">
Function Set-ScForceOption
{
    [CmdletBinding(
    SupportsShouldProcess=$true,
    ConfirmImpact=&quot;Medium&quot;,
    DefaultParameterSetname='Status'
    )]

    Param
    (
        [parameter(Mandatory=$true,
        Position=0,
        ValueFromPipeline=$true,
        ValueFromPipelineByPropertyName=$true)]
        [string[]]$ComputerName,

        [Parameter(
        ParameterSetName='Status')]
        [Switch]
        $Status,

        [Parameter(
        ParameterSetName='Enable')]
        [Switch]
        $Enable,

        [Parameter(
        ParameterSetName='Disable')]
        [Switch]
        $Disable
    )

    Process
    {
        ForEach ($Computer in $ComputerName)
        {
            If (-NOT (Test-Connection -ComputerName $Computer -Count 1 -Quiet) )
            {
                Write-Warning &quot;Unable to connect to $Computer&quot;
                Continue
            }

            Switch ($PsCmdlet.ParameterSetName)
            {
                'Status'
                {
                    If ( $PSCmdlet.ShouldProcess($Computer, &quot;Get status of ScForceOption&quot;) )
                    {
                        $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Computer)
                        $regKey = $reg.OpenSubKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\system&quot;)
                        If ($regKey.GetValue(&quot;scforceoption&quot;) -eq 1)
                          {
                            Write-Output (New-Object -TypeName PSObject -Property @{
                                                                         ComputerName=$Computer
                                                                         Status='Enabled'})
                          }
                        Else
                          {
                            Write-Output (New-Object -TypeName PSObject -Property @{
                                                                         ComputerName=$Computer
                                                                         Status='Disabled'})
                          }
                    }
                }

                'Enable'
                {
                    If ( $PSCmdlet.ShouldProcess($Computer, &quot;Enable ScForceOption&quot;) )
                    {
                        $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Computer)
                        $regKey = $reg.OpenSubKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\system&quot;, $true)
                        $regKey.SetValue(&quot;scforceoption&quot;, 1)
                    }
                }

                'Disable'
                {
                    If ( $PSCmdlet.ShouldProcess($Computer, &quot;Disable ScForceOption&quot;) )
                    {
                        $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Computer)
                        $regKey = $reg.OpenSubKey(&quot;SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\system&quot;, $true)
                        $regKey.SetValue(&quot;scforceoption&quot;, 0)
                    }
                }
            }
        }
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/toggle-smart-card-logon-requirement-with-set-scforceoption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware View Cmdlets and PowerShell Implicit Remoting</title>
		<link>http://www.hofferle.com/vmware-view-cmdlets-and-powershell-implicit-remoting/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=vmware-view-cmdlets-and-powershell-implicit-remoting</link>
		<comments>http://www.hofferle.com/vmware-view-cmdlets-and-powershell-implicit-remoting/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 13:00:26 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Remoting]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=838</guid>
		<description><![CDATA[One of the differences between the VMware View cmdlets and PowerCLI is that the View cmdlets can only be run on the connection server itself. Despite the lack of a Connect-VIServer equivalent, with PowerShell Implicit Remoting it&#8217;s still possible to use these cmdlets from a workstation. First, PowerShell Remoting needs to be enabled on the [<a href="http://www.hofferle.com/vmware-view-cmdlets-and-powershell-implicit-remoting/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>One of the differences between the VMware View cmdlets and PowerCLI is that the View cmdlets can only be run on the connection server itself. Despite the lack of a Connect-VIServer equivalent, with PowerShell Implicit Remoting it&#8217;s still possible to use these cmdlets from a workstation.</p>
<p>First, PowerShell Remoting needs to be enabled on the Connection Server. There are several ways to configure remoting, but in a domain environment I like to turn it on with group policy. Enabling the automatic configuration of listeners is usually all the configuration necessary to enable remoting on a domain server, but lots of information is available for different situations. The <a href="http://go.microsoft.com/fwlink/?LinkID=135188" title="about_remote_troubleshooting" target="_blank">about_remote_troubleshooting</a> help file is handy, and there are books specific to remoting on my <a href="https://www.hofferle.com/archives/624" title="List of Free PowerShell eBooks" target="_blank">list of free PowerShell ebooks</a>.</p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AllowAutomaticConfigurationOfListeners_1.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/AllowAutomaticConfigurationOfListeners_1.png?9d7bd4" alt="Group Policy Setting for &quot;Allow Automatic Configuration of Listeners&quot;" title="AllowAutomaticConfigurationOfListeners" width="640" height="572" class="alignnone size-full wp-image-1273" /></a></p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: false">
$session = New-PSSession -ComputerName &quot;NameOfConnectionServer&quot;
</pre>
<p>With remoting enabled, a session is opened to the connection server from a workstation. A session is a persistent connection that can be referenced when using subsequent remoting commands.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: false">
Invoke-Command -Session $session -ScriptBlock {Add-PSSnapin VMware*}
</pre>
<p>The VMware cmdlets aren&#8217;t loaded by default, so <code>Invoke-Command</code> is used to tell the PowerShell session on the remote server to load the VMware snapin.</p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: false">
Import-PSSession -Session $session -Prefix VDI -Module VMware*
</pre>
<p>The cmdlets are loaded in the server&#8217;s PowerShell session, but they must be imported in order to run them on the local workstation. The module parameter specifies to only import cmdlets from the VMware module, and the prefix parameter will prefix the noun in each cmdlet with &#8220;VDI&#8221; to avoid possible conflicts with local cmdlets. A cmdlet named Get-DesktopVM will become Get-VDIDesktopVM.</p>
<p>With the View cmdlets imported from the remote session, those commands can now be executed as if they were installed locally. PowerShell is doing all the work behind the scenes to <em>implicitly </em> run the commands on the remote server and return the results to the local workstation.</p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/VMwareViewImplicitRemoting_1.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/02/VMwareViewImplicitRemoting_1.png?9d7bd4" alt="Using PowerShell Implicit Remoting to use VMware View Cmdlets" title="VMwareViewImplicitRemoting" width="640" height="518" class="alignnone size-full wp-image-1272" /></a></p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: true; pad-line-numbers: false; toolbar: true; wrap-lines: false">
Remove-PSSession $session
</pre>
<p>The session to the connection server must remain open for the View cmdlets to be available. When finished working, removing the session closes it out and will unload the commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/vmware-view-cmdlets-and-powershell-implicit-remoting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sessions from the 2012 Orlando IT Pro Camp</title>
		<link>http://www.hofferle.com/sessions-from-the-2012-orlando-it-pro-camp/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sessions-from-the-2012-orlando-it-pro-camp</link>
		<comments>http://www.hofferle.com/sessions-from-the-2012-orlando-it-pro-camp/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 16:00:34 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[IT Pro Camp]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=902</guid>
		<description><![CDATA[Thank you to everyone that attended the Orlando IT Pro Camp. It was a great opportunity to learn and network with other IT Professionals. Here are the slides and resources from my sessions. Introduction to PowerShell Remoting Slide deck for Introduction to PowerShell Remoting Layman&#8217;s Guide to PowerShell 2.0 Remoting Ravikanth Chaganti Administrator&#8217;s Guide to [<a href="http://www.hofferle.com/sessions-from-the-2012-orlando-it-pro-camp/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>Thank you to everyone that attended the <a href="http://itprocamp.com/orlando/" title="2012 Orlando IT Pro Camp" target="_blank">Orlando IT Pro Camp</a>. It was a great opportunity to learn and network with other IT Professionals. Here are the slides and resources from my sessions.</p>
<h2>Introduction to PowerShell Remoting</h2>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.pdf?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.png?9d7bd4" alt="Title Slide for Introduction to PowerShell Remoting" title="Introduction to PowerShell Remoting" width="200" height="150" class="alignleft size-full wp-image-928" /></a><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/IntroductionPowerShellRemoting.pdf?9d7bd4">Slide deck for Introduction to PowerShell Remoting</a></p>
<p><br style="clear: both;" /></p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/laymansguidePowerShellremoting.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/laymansguidePowerShellremoting.png?9d7bd4" alt="Cover image of the Layman&#039;s Guide to PowerShell Remoting" title="laymansguidePowerShellremoting" width="150" height="207" class="alignleft size-full wp-image-626" /></a><a href="http://www.ravichaganti.com/blog/?page_id=1301">Layman&#8217;s Guide to PowerShell 2.0 Remoting</a><br />
<em>Ravikanth Chaganti</em></p>
<p><br style="clear: both;" /> </p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/Remoting.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/06/Remoting.png?9d7bd4" alt="Cover image for Administrator&#039;s Guide to Windows PowerShell Remoting" title="Remoting" width="150" height="194" class="alignleft size-full wp-image-631" /></a><a href="http://powershell.com/cs/media/p/4908.aspx">Administrator&#8217;s Guide to Windows PowerShell Remoting</a><br />
<em>Dr. Tobias Weltner<br />
Aleksandar Nikolic<br />
Richard Giles</em></p>
<p><br style="clear: both;" /></p>
<p><a href="http://www.manning.com/payette2/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/payette2_cover150.jpg?9d7bd4" alt="Cover of Windows PowerShell in Action by Bruce Payette" title="Windows PowerShell in Action, Second Edition" width="150" height="187" class="alignleft size-full wp-image-912" /></a><a href="http://www.manning.com/payette2/">Windows PowerShell in Action, Second Edition</a><br />
<em>Bruce Payette</em></p>
<p><br style="clear: both;" /></p>
<h2>Version Control for IT Professionals</h2>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/VersionControlITPros.pdf?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/VersionControlITPros.png?9d7bd4" alt="Version Control for IT Professionals" title="Version Control for IT Professionals" width="200" height="150" class="alignleft size-full wp-image-930" /></a><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/VersionControlITPros.pdf?9d7bd4">Slide deck for Version Control for IT Professionals</a></p>
<p><br style="clear: both;" /></p>
<p><a href="http://hginit.com/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/10/HgInit.png?9d7bd4" alt="Hg Init a Mercurial Tutorial" title="Hg Init" width="150" height="218" class="alignleft size-full wp-image-763" /></a><a href="http://hginit.com/">Hg Init: A Mercurial Tutorial</a><br />
Mercurial is a modern, open source, distributed version control system, and a compelling upgrade from older systems like Subversion. In this user-friendly, six-part tutorial, Joel Spolsky teaches you the key concepts.</p>
<p><br style="clear: both;" /></p>
<p><a href="http://tortoisehg.bitbucket.org/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/10/TortoiseHg.png?9d7bd4" alt="TortoiseHg Logo" title="TortoiseHg Logo" width="150" height="96" class="alignleft size-full wp-image-766" /></a><a href="http://tortoisehg.bitbucket.org/">TortoiseHg</a><br />
TortoiseHg is a Windows shell extension and a series of applications for the Mercurial distributed revision control system.</p>
<p><br style="clear: both;" /></p>
<p><a href="http://mercurial.selenic.com/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/10/Mercurial.png?9d7bd4" alt="Mercurial Logo" title="Mercurial Logo" width="150" height="180" class="alignleft size-full wp-image-765" /></a><a href="http://mercurial.selenic.com/">Mercurial</a><br />
Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.</p>
<p><br style="clear: both;" /></p>
<p><a href="http://www.fogcreek.com/kiln/"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2011/10/Kiln.png?9d7bd4" alt="Kiln Logo" title="Kiln Logo" width="150" height="94" class="alignleft size-full wp-image-764" /></a><a href="http://www.fogcreek.com/kiln/">Kiln</a><br />
Kiln is commercial Mercurial version control and code review softare from Fog Creek Software.</p>
<p><br style="clear: both;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/sessions-from-the-2012-orlando-it-pro-camp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switching Between PowerShell Prompts with Set-Prompt</title>
		<link>http://www.hofferle.com/switching-between-powershell-prompts-with-set-prompt/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=switching-between-powershell-prompts-with-set-prompt</link>
		<comments>http://www.hofferle.com/switching-between-powershell-prompts-with-set-prompt/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 13:00:11 +0000</pubDate>
		<dc:creator>Jason Hofferle</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.hofferle.com/?p=821</guid>
		<description><![CDATA[I&#8217;m usually pretty happy with the default PowerShell prompt that displays the current path, however sometimes I just want a generic prompt for screenshots or a demonstration. With an infinite number of custom PowerShell prompts possible, it became apparent that the appropriate prompt depends on the current task. By copying the Set-Prompt function into $Env:UserProfile\Documents\WindowsPowerShell\profile.ps1, [<a href="http://www.hofferle.com/switching-between-powershell-prompts-with-set-prompt/" rel="nofollow">...</a>]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m usually pretty happy with the default PowerShell prompt that displays the current path, however sometimes I just want a generic prompt for screenshots or a demonstration. With an infinite number of custom PowerShell prompts possible, it became apparent that the appropriate prompt depends on the current task. By copying the Set-Prompt function into <code>$Env:UserProfile\Documents\WindowsPowerShell\profile.ps1</code>, I have an easy way to quickly switch between these different prompts and I only need to edit my profile when I want to add a new prompt.</p>
<p>If I see a neat custom prompt like a <a href="http://jdhitsolutions.com/blog/2011/11/domain-controller-powershell-prompt/" title="Domain Controller Prompt">Domain Controller PowerShell Prompt</a> or a <a href="http://jdhitsolutions.com/blog/2011/11/friday-fun-a-christmas-prompt/" title="A Christmas Prompt">Christmas Prompt</a>, I just add an additional switch block to Set-Prompt.</p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/Set-Prompt-e1326389362668.png?9d7bd4"><img src="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/Set-Prompt-e1326389362668.png?9d7bd4" alt="Screenshot of the Set-Prompt function in use" title="Set-Prompt" width="600" height="254" class="alignnone size-full wp-image-827" /></a></p>
<p><a href="http://www.hofferle.com/wordpress/wp-content/uploads/2012/01/Set-Prompt.zip?9d7bd4">Set-Prompt.zip</a></p>
<pre class="brush: powershell; auto-links: false; collapse: false; gutter: false; first-line: 1; highlight: []; html-script: false; light: false; pad-line-numbers: false; toolbar: true; wrap-lines: false">
Function Set-Prompt
{
    Param
    (
        [Parameter(Position=0)]
        [ValidateSet(&quot;Default&quot;,&quot;Basic&quot;,&quot;DC&quot;,&quot;Xmas&quot;)]
        $Action
    )

    switch ($Action)
    {
        &quot;Basic&quot;
        {
            Function global:prompt
            {
                $Null
            }
        }

        &quot;DC&quot;
        {
            function global:prompt {

            #check and see if logon server is the same as the computername
            if ( $env:logonserver -ne &quot;\\$env:computername&quot; ) {
            #strip off the \\
            $label = ($env:logonserver).Substring(2)
            $color = &quot;Green&quot;
            }
            else {
            $label = &quot;Not Connected&quot;
            $color = &quot;gray&quot;
            }

            Write-Host (&quot;[$label]&quot;) -ForegroundColor $color -NoNewline
            Write (&quot; PS &quot; + (Get-Location) + &quot;&gt; &quot;)
            }
        }

        &quot;Xmas&quot;
        {
            Function global:Prompt {
            $time=([datetime]'12/25/2012'-(get-date)).ToString().Substring(0,11)
            $text=&quot;[**Christmas in $($time)**]&quot;
            $text.tocharArray() |foreach {
            if ((Get-Random -min 1 -max 10) -gt 5) {
             $color=&quot;RED&quot;
             }
            else {
             $color=&quot;GREEN&quot;
            }
            write-host $_ -nonewline -foregroundcolor $color
            }
            Write (&quot; PS &quot; + (Get-Location) + &quot;&gt; &quot;)
            } #end function
        }

        default
        {
            Function global:prompt
            {
                  $(if (test-path variable:/PSDebugContext) { '[DBG]: ' }
                  else { '' }) + 'PS ' + $(Get-Location) `
                  + $(if ($nestedpromptlevel -ge 1) { '&gt;&gt;' }) + '&gt; '
            }
        }
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hofferle.com/switching-between-powershell-prompts-with-set-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching using disk: basic
Object Caching 644/735 objects using disk: basic

Served from: www.hofferle.com @ 2012-02-21 11:17:59 -->

