<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5384857</id><updated>2012-02-01T21:05:53.176Z</updated><category term='clustering'/><category term='Visual Studio'/><category term='weekend training'/><category term='protocol'/><category term='Lync PowerShell Forum'/><category term='msdn wiki'/><category term='community'/><category term='SIP'/><category term='Cisco'/><category term='Windows'/><category term='Power'/><category term='array'/><category term='ASP.NET'/><category term='e-book'/><category term='PSCX'/><category term='Live Writer'/><category term='system.globalization.numberstyles'/><category term='module'/><category term='Windows Server 2008 R2'/><category term='WMI'/><category term='June Blender'/><category term='Thesaurus'/><category term='Advanced Function'/><category term='community review'/><category term='mashup'/><category term='PowerShell Admin module'/><category term='Build Videos'/><category term='training'/><category term='rant'/><category term='FireFox'/><category term='CTP3'/><category term='IPv6'/><category term='scripting'/><category term='Office 365'/><category term='CS14'/><category term='Microsoft Operations Framework'/><category term='error handling'/><category term='Christmas'/><category term='Yahoo Pipes'/><category term='PowerShell Comunity Extensions'/><category term='PowerShell.com'/><category term='formatting'/><category term='Hyper-V'/><category term='QUEST'/><category term='PIC'/><category term='Word'/><category term='IIS'/><category term='TechEd'/><category term='networking'/><category term='Lync Online'/><category term='beta'/><category term='network protocols'/><category term='system.int32'/><category term='iPhone'/><category term='Genuine Advantage'/><category term='Communications Server'/><category term='Windows Installer'/><category term='PowerShell Script Explorer'/><category term='Internet Explorer'/><category term='Lync Server 2010'/><category term='OCS R2'/><category term='.NET'/><category term='NTFS'/><category term='Bruce Payette'/><category term='Vista'/><category term='iso burner'/><category term='podcast'/><category term='Microsoft'/><category term='PowerShell V3'/><category term='Exchange'/><category term='shn'/><category term='Windows 2000'/><category term='ISO Image'/><category term='Koder'/><category term='iso'/><category term='Global Knowledge'/><category term='Stockholm'/><category term='event'/><category term='MSL'/><category term='Sysinternals'/><category term='Nitkon'/><category term='RampUp'/><category term='system.diagnoistics.process'/><category term='Wikipedia'/><category term='PowerShell'/><category term='windows forms'/><category term='Lync Server PowerShell Challenge'/><category term='ISA'/><category term='Grateful Dead'/><category term='Exchange Online'/><category term='NLB'/><category term='MyBloop'/><category term='symantec UAC Vista'/><category term='scripts'/><category term='Cloud'/><category term='Jerry Garcia'/><category term='swiki'/><category term='Thomas Lee'/><category term='Culminis'/><category term='Office Communications Server'/><category term='HP'/><category term='server core'/><category term='BUILD'/><category term='windows media player'/><category term='PowerShell Master Class'/><category term='PowerCamp'/><category term='Microsoft Official Courseware'/><category term='SharpZipLib'/><category term='usb'/><category term='Cloud Computing'/><category term='network monitor'/><category term='WireShark'/><category term='Virtual Labs'/><category term='SharePoint'/><category term='Hawaii'/><category term='technet wiki'/><category term='WPAD'/><category term='COM'/><category term='Registry'/><category term='Google'/><category term='OCS Resource Kit'/><category term='MOF'/><category term='OCS'/><category term='Bing'/><category term='PowerShell V2'/><category term='eurekster.com'/><category term='PowerShell UK User Group'/><category term='Office Protocol Documents'/><category term='ip address'/><category term='web site'/><category term='Typography'/><category term='sc'/><category term='mobile'/><category term='DNS'/><category term='Lync 2010'/><category term='shorten'/><category term='documentation'/><category term='Technorati'/><category term='Google Docs'/><category term='ASR'/><category term='Windows 2008 Server R2'/><category term='Windows Server 2008'/><category term='idera'/><category term='MSI'/><category term='PowerShell training'/><category term='Lync Mobile'/><category term='c#'/><category term='MSDN'/><category term='NIST'/><category term='group policy'/><category term='RSS'/><category term='webcast'/><category term='orca'/><category term='prometric'/><category term='Helsinki'/><category term='Longhorn'/><category term='performance'/><category term='Server 2009'/><category term='MCT'/><category term='Unified Communications'/><category term='blogs'/><category term='utility'/><category term='scalar'/><category term='PowerShell Bible'/><category term='sapien'/><category term='V2'/><category term='Lync'/><category term='security'/><category term='vmware'/><category term='object'/><category term='Cmdlet'/><category term='www.reskit.net'/><category term='XML'/><category term='moderation'/><category term='Attribute'/><category term='Blogger'/><category term='Jabber'/><category term='microsoft optimization'/><category term='speak'/><category term='Virtual Server'/><category term='French'/><category term='Virtual Box'/><category term='St'/><category term='Virtualisation'/><category term='Zune'/><category term='TechEd US'/><category term='MSF'/><category term='Smilla'/><category term='Lee Holmes'/><category term='MDOP'/><category term='fun'/><category term='One Note'/><category term='Set-AuthenticodeSignature'/><category term='DHCP'/><category term='FastTrack Scripting Host'/><category term='LabCenter'/><category term='Twitter'/><category term='provider'/><category term='Windows 8'/><category term='SCCM'/><category term='MSDN Code Gallery'/><category term='XP'/><category term='Jeffrey Snover'/><category term='Office Communicator'/><category term='zoomit'/><category term='SQL Server'/><category term='Get-PSUGUK'/><category term='SharePoint Online'/><category term='Open Office XML'/><category term='MCP'/><category term='NetGear'/><category term='Pow'/><category term='Tobias Weltner'/><category term='PowerLine Ethernet'/><category term='sidebar'/><category term='WINHEC'/><category term='Pluralsight'/><category term='Codeplex'/><category term='PowerShell Remoting'/><category term='ISATAP'/><category term='StdRegProv'/><category term='PowerShell Plus'/><category term='System Center Configuration Manager'/><category term='PowerShell ISE'/><category term='IPv4'/><category term='Visual Basic'/><category term='script'/><category term='NNTP'/><category term='CS &apos;14&apos;'/><category term='spell check'/><category term='WMI Explorer'/><category term='Proseware'/><category term='Android'/><category term='PowerGui'/><category term='Voice Ignite'/><category term='Windows 7'/><category term='enum'/><category term='Microsoft Office'/><category term='System.Environment.SpecialFolder'/><category term='tool'/><category term='system.management.automation.typeaccelerators'/><category term='Scripting Games'/><category term='Google DNS'/><category term='PC Pro'/><category term='PowerLine'/><category term='XMPP'/><category term='Microsoft Learning'/><category term='MS'/><category term='Resource Kit'/><category term='Win7'/><category term='blog'/><category term='book'/><category term='Open Protocols'/><category term='vista short-cut'/><category term='PowerShell blogs'/><category term='Google Talk'/><category term='Feed Demon'/><category term='iPowerShell'/><category term='GPO'/><category term='InstEd'/><category term='The Scripting Guys'/><category term='iPad'/><category term='secpol'/><category term='Lync Resource Kit'/><category term='TechNet'/><category term='#Requires'/><category term='zip'/><category term='profile'/><category term='hot fix'/><title type='text'>Under The Stairs</title><subtitle type='html'>Thomas Lee's collection of random interesting items, views on things, mainly IT related, as well as 
the occasional rant.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default?start-index=101&amp;max-results=100'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1251</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5384857.post-5755553067808690870</id><published>2012-02-01T21:05:00.001Z</published><updated>2012-02-01T21:05:53.183Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Helsinki'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Windows PowerShell PowerCamp–Helsinki March 10-11</title><content type='html'>&lt;p&gt;Arrangements for this event in Helsinki are moving along nicely. Those very nice people at Sovelto, who are hosting the event, have put up a new web page around the event: see &lt;a title="http://www.sovelto.fi/kurssit/Pages/PowerShell-PowerCamp.aspx" href="http://www.sovelto.fi/kurssit/Pages/PowerShell-PowerCamp.aspx"&gt;http://www.sovelto.fi/kurssit/Pages/PowerShell-PowerCamp.aspx&lt;/a&gt; (or to see this page in Finnish, go to : &lt;a title="http://www.sovelto.fi/Kurssit/Kurssivalikoima/Pages/Kurssihaku.aspx?kurssiID=3647" href="http://www.sovelto.fi/Kurssit/Kurssivalikoima/Pages/Kurssihaku.aspx?kurssiID=3647"&gt;http://www.sovelto.fi/Kurssit/Kurssivalikoima/Pages/Kurssihaku.aspx?kurssiID=3647&lt;/a&gt;). These web pages have the Helsinki agenda and all the details of where/how to book, etc.&lt;/p&gt;  &lt;p&gt;As you will see, the event is over the weekend of March 10 and 11 2010 at Sovelto’s offices in Helsinki. We’ll start at 9 both days. We will be including lunch, refreshments and breakfast both days, with a nice meal out and a bit of fun for the Saturday night (details will be announced soon – it should be fun!). &lt;/p&gt;  &lt;p&gt;So if you are anywhere in the world and want to get a first class jump start to PowerShell, consider coming! We’ll even have PCs for all the attendees as well as a nice little goodie basket to take home!&lt;/p&gt;  &lt;p&gt;Contact me if you have any questions – or better yet, contact Sovelto and book a place!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-5755553067808690870?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/5755553067808690870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=5755553067808690870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5755553067808690870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5755553067808690870'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2012/02/windows-powershell-powercamphelsinki.html' title='Windows PowerShell PowerCamp–Helsinki March 10-11'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3558520980860600443</id><published>2012-01-23T14:19:00.001Z</published><updated>2012-01-23T14:19:06.793Z</updated><title type='text'>PowerShell PowerCamp Weekend–London–April 21-22 2012</title><content type='html'>    &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4e7e4cf8-1983-450f-a2bf-834d670405a8" class="class"&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" class="class"&gt;As I noted in an earlier bog post,&amp;#160; I&lt;/div&gt; ’m pleased to be able to bring you a PowerShell PowerCamp weekend events in London in the not too distant future.&amp;#160; Here’s the details!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="text-align: left" trbidi="on"&gt;&lt;b&gt;What is A PowerShell PowerCamp?&lt;/b&gt;    &lt;br /&gt;This fast paced weekend event covers all the key aspects of Windows PowerShell - from the command line and writing production-oriented scripts. We start with the basics including installation and configuration, formatting and providers and remoting. We then look at scripting, managing script libraries using modules, using objects, and finishing with the PowerShell features added into Windows. We finish with a look at PowerShell in the cloud and what’s coming with PowerShell V3. &lt;/div&gt;  &lt;p style="text-align: left" dir="ltr" trbidi="on"&gt;   &lt;br /&gt;The PowerCamp event is all lecture plus Q&amp;amp;A, with the opportunity to type along with the tutor. There are no formal labs.     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What is the Agenda?&lt;/b&gt;    &lt;br /&gt;&lt;i&gt;Day 1 – The Basics &lt;/i&gt;    &lt;br /&gt;• PowerShell Fundamentals – starting with the key elements of PowerShell (Cmdlets, Objects and the Pipeline) plus installation, setup, and profiles     &lt;br /&gt;• Discovery – finding your way and learning how to discover more     &lt;br /&gt;• Formatting – how to format output nicely – both by default and using hash tables and display XML     &lt;br /&gt;• Remoting – working with remote systems using PowerShell’s remoting capabilities    &lt;br /&gt;• Providers – getting into OS data stores via PSProviders    &lt;br /&gt;&lt;i&gt;Day 2 – Diving Deeper&lt;/i&gt;    &lt;br /&gt;• Scripting Concepts – automating everyday tasks including PowerShell’s language constructs, error handling and debugging (both from the command line and using an IDE)     &lt;br /&gt;• Modules – managing PowerShell script libraries in the enterprise     &lt;br /&gt;• .NET/WMI/COM Objects – working with native objects    &lt;br /&gt;• PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets     &lt;br /&gt;• PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010     &lt;br /&gt;• PowerShell and the cloud – this module looks at PowerShell in the cloud and how you can use PowerShell to manage cloud computing.    &lt;br /&gt;• PowerShell V3 – this final module shows you what’s new in PowerShell V3.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What does it cost?&lt;/b&gt;    &lt;br /&gt;The cost is £200 (+VAT at the prevailing rate) for the weekend. Meals and accommodation are &lt;b&gt;&lt;i&gt;not&lt;/i&gt;&lt;/b&gt; covered.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;Where is the event going to take place?&lt;/b&gt;    &lt;br /&gt;The PowerShell PowerCamp is being held at Microsoft Cardinal Place, 100 Victoria Street in Victoria on the weekend of April 21-22 2012. Each day starts promptly at 09:00 and finishes up by 16:45.&lt;/p&gt;  &lt;p style="text-align: left" dir="ltr" trbidi="on"&gt;&lt;strong&gt;PowerDrinks?     &lt;br /&gt;&lt;/strong&gt;After Saturday’s session, attendees are invited to a small nearby public house for some lovely English ale.&lt;/p&gt;  &lt;p style="text-align: left" dir="ltr" trbidi="on"&gt;&lt;b&gt;Who is the tutor?&lt;/b&gt;    &lt;br /&gt;The PowerShell Weekend PowerCamp is delivered by Thomas Lee. Thomas is a veteran PowerShell MVP who has been involved in the PowerShell community since the very beginning. He provides training and consultancy around a range of Microsoft products, with a recent focus on PowerShell and Lync Server. Thomas runs PowerShell training courses around the world, and has been a speaker at conferences across the world for the past decade. In his spare time, he lives with his wife, daughter, wine cellar, and Grateful Dead live recordings archive in a small cottage in the English countryside. His Twitter handle is DoctorDNS and he maintains two blogs (Under the Stairs at &lt;a href="http://tfl09.blogspot.com/"&gt;http://tfl09.blogspot.com&lt;/a&gt; and PowerShell Scripts Blog at &lt;a href="http://pshscripts.blogspot.com"&gt;http://pshscripts.blogspot.com&lt;/a&gt;).     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What do I need to bring&lt;/b&gt;    &lt;br /&gt;You need to bring a laptop PowerShell loaded. We suggest you have at least two VMs pre-configured (i.e. a Server 2008 R2 domain controller and a member server). And if you have access to the Windows 8 beta, bring along a Win8 VM for the look at PowerShell V3. The virtualisation software is not of concern – but you need 64-bit guest OS support. Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box.     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;How do I book?&lt;/b&gt;    &lt;br /&gt;Contact &lt;a href="mailto:DoctorDNS@Gmail.com"&gt;DoctorDNS@Gmail.com&lt;/a&gt; to book a place and to arrange for the invoice to be paid. Payment must be in cash, cheque or bank transfer – I don’t take credit cards.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;More Details&lt;/b&gt;    &lt;br /&gt;Watch Thomas’s blog for any hot breaking news on the event.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" class="class"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/London" rel="tag"&gt;London&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Training" rel="tag"&gt;PowerShell Training&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3558520980860600443?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3558520980860600443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3558520980860600443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3558520980860600443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3558520980860600443'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2012/01/powershell-powercamp-weekendlondonapril.html' title='PowerShell PowerCamp Weekend–London–April 21-22 2012'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8190042919724205801</id><published>2012-01-23T14:05:00.001Z</published><updated>2012-01-23T14:05:30.677Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Two New PowerShell PowerCamp Events Coming Soon</title><content type='html'>&lt;p&gt;I’m pleased to be able to bring you two more PowerShell PowerCamp weekend events in the upcoming months:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;HELSINKI – Weekend of March 10-11 2012 – takes place in the offices of Sovelto, at Ratapihantie 11 (1st floor) in Helsinki. I do not have pricing or this event yet but will post details as soon as I get them. We will have something interesting for Saturday night to be included in the price.&lt;/li&gt;    &lt;li&gt;LONDON – Weekend of 21-22 April 2012 – takes place at Microsoft’s Cardinal Place offices in London Victoria. We’ll all repair off to a local hostelry on the Saturday evening for a beer or three. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ll post more details about each event soon.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4e7e4cf8-1983-450f-a2bf-834d670405a8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/London" rel="tag"&gt;London&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Training" rel="tag"&gt;PowerShell Training&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8190042919724205801?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8190042919724205801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8190042919724205801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8190042919724205801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8190042919724205801'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2012/01/two-new-powershell-powercamp-events.html' title='Two New PowerShell PowerCamp Events Coming Soon'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-512803573315708088</id><published>2011-12-16T17:14:00.001Z</published><updated>2011-12-16T17:27:30.269Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Mobile'/><title type='text'>Lync 2010 Lync Mobile Client</title><content type='html'>&lt;p&gt;Earlier this week, &lt;a href="http://tfl09.blogspot.com/2011/12/microsoft-begins-shipping-lync-mobile.html"&gt;I blogged about the new Lync mobile client&lt;/a&gt; – i.e. client software for smart phones and the iPad. As of mid afternoon today, the client sets for WP7 and Android are shipping. From the comments I hear from users – this software is fairly trivial to install and does what it says! It also adds value to the Office 365 proposition. I can’t wait to use it against Lync Online!&lt;/p&gt;  &lt;p&gt;There is one small gotcha – in order to use this new client against your on-premise Lync deployment – well first you have to have one (the client is of no use unless you have an implementation of Lync to use it against). And secondly, assuming you have Lync working, there are upgrades to the product, the mobility service, that need to be added. And there are a couple of DNS changes to be made and a new firewall port to open. Those are pretty straightforward but of course have to be done before the client can work against your implementation of Lync.&amp;#160; For those of you on Office 365, all that work is done – although you need to make DNS changes if you are hosting the DNS for your Office 365 domain.&lt;/p&gt;  &lt;p&gt;I’ve seen very few issues reported so far, and the general consensus in Twitter at least is that the client is working well. About &lt;a href="http://blogs.cisco.com/collaboration/maximizing-mobile-collaboration-for-the-post-pc-era/"&gt;the only negative comment&lt;/a&gt; was from Michael Smith (Market Management Director at Cisco). Of course he got it wrong ranting about no Android/IOS support, which seemed to blunt most of his argument. One point he does pick up on is&amp;#160; that there is no VOIP feature in the client. &lt;/p&gt;  &lt;p&gt;To support VOIP, the mobile handset would have to either support wireless and have wireless connectivity or use the cellular data channel against your data plan. Those are the only two ways to get the IP datagrams carrying VOIP signaling and data from your phone to the other end of the connection. If you are using wireless to connect, then VOIP calls will constitute additional bandwidth both from the phone to the WAP and from the WAP into your enterprise network. If your wireless infrastructure is not up the mark, you end up with poor service and a bunch of unhappy users. Using your cellular carrier for the actual phone call reduces that risk.&amp;#160; If you were using VOIP over wireless, then the battery life takes a hit.&amp;#160; Battery life on my phone is sure improved when I turn the WIFI off! &lt;/p&gt;  &lt;p&gt;Using VOIP over the cellular carrier’s data channel might have once made sense – sadly the days of unlimited data may well be gone with most mobile phone companies imposing limits and costs. And don’t get me started about how expensive it can be to use data roaming when outside the UK or worse outside the EU (around half my working time is spent outside the UK). Even with the inflated call cost outside the UK, using the mobile network for the phone calls is a lot cheaper. Outside the EU, we can pay over £6/mb for cellular data. A one minute call over such a link would consume in the region of 4.6mb (assuming RTA Narrowband is used) for the call and would cost around £14.00. Worst case rates on O2 are £1.79/minute for the cellular call. A no brainer to me – plus the company pays the cost of the call.&lt;/p&gt;  &lt;p&gt;A VOIP client in the product might have been nice to have, but from an Enterprise perspective, using Call-From-Work makes more sense as provides better assurance over call quality and lower help desk calls. These users do, of course,have Skype which works perfectly as a VOIP phone for those times when they can tether on the USB to keep the battery topped up and are on a well provisioned wireless network. With Skype now belonging to Microsoft, I can’t help but thinking that one day we will have the combined client – but exactly what Skype will do to Lync is a topic for another day.&amp;#160; &lt;/p&gt;  &lt;p&gt;But in the meantime, it looks like another nice addition to the Lync family aimed at.&amp;#160; I am anxious to try it out!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2b9bf718-93d3-46de-b119-581b26c42e9e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Mobile+client" rel="tag"&gt;Lync Mobile client&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VOIP" rel="tag"&gt;VOIP&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-512803573315708088?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/512803573315708088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=512803573315708088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/512803573315708088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/512803573315708088'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/lync-2010-lync-mobile-client.html' title='Lync 2010 Lync Mobile Client'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6414646558612340650</id><published>2011-12-13T18:30:00.001Z</published><updated>2011-12-13T18:30:10.609Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Script Explorer'/><title type='text'>PowerShell ISE Script Explorer–Get it Today</title><content type='html'>&lt;p&gt;Microsoft has just released the latest CTP release of the Microsoft Script Explorer for Windows PowerShell. This is an add-in to the ISE that enables you to search for scripts within the PowerShell ISE. With this release, you can:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Search online repositories including PoshCode and Technet&lt;/li&gt;    &lt;li&gt;Establish and search local and corporate script repositories&lt;/li&gt;    &lt;li&gt;Filter search by location and product relevance&lt;/li&gt;    &lt;li&gt;Browse Community Resources, including the TechNet Wiki&lt;/li&gt;    &lt;li&gt;Integrate community samples into corporate script library seamlessly&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This CTP is based on an invitation – and I just happen to have one:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://connect.microsoft.com/site1064/InvitationUse.aspx?ProgramID=7431&amp;amp;InvitationID=TL10-GX2K-3VFW"&gt;https://connect.microsoft.com/site1064/InvitationUse.aspx?ProgramID=7431&amp;amp;InvitationID=TL10-GX2K-3VFW&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click on this link and login to Connect. If you are not already resistered on Connect, you need to sign with a valid Microsoft LiveID.&lt;/p&gt;  &lt;p&gt;So head on over, and try it out. Feel free to leave you comments – either here, or with Microsoft!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:34c08209-639e-4347-b401-484a61e4871b" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Script+Explorer" rel="tag"&gt;Script Explorer&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6414646558612340650?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6414646558612340650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6414646558612340650' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6414646558612340650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6414646558612340650'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/powershell-ise-script-explorerget-it.html' title='PowerShell ISE Script Explorer–Get it Today'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4705559314759492493</id><published>2011-12-13T12:47:00.001Z</published><updated>2011-12-13T12:47:12.906Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell’s ++ and -- Operators (Redux)</title><content type='html'>&lt;p&gt;A couple of days ago, I posted an article on PowerShell’s ++ and – operators. I grew up using programming languages that never implemented the auto increment/decrement operators, this was a neat new feature for me. &lt;/p&gt;  &lt;p&gt;But I have had a couple of comments pointing out that these operators are not new, are in C# and what I describe is indeed by design. Of course they are right. The point I was making was aimed at those new to PowerShell and who probably do not have a background in programming. &lt;/p&gt;  &lt;p&gt;For the avoidance in doubt, I know how these operators work and am well aware of them and their behavior. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh4.ggpht.com/-V0Uo9f1nf9g/TudJT5HllzI/AAAAAAAAAPw/iFT1C7cUFNg/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" /&gt; But I do see many IT Pros that discover these operators for the first time in a PowerShell class – and it was a question I’d been asked that I posted about.&amp;#160; For those new to programming and to PowerShell, these two operators are a neat find and I advocate using them. But like many of PowerShell’s richer features, you have to know how they work. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5c2685c2-8193-49e1-b331-1983b58bc3d1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%2b%2b" rel="tag"&gt;++&lt;/a&gt;,&lt;a href="http://technorati.com/tags/--" rel="tag"&gt;--&lt;/a&gt;,&lt;a href="http://technorati.com/tags/operators" rel="tag"&gt;operators&lt;/a&gt;,&lt;a href="http://technorati.com/tags/autoincrement" rel="tag"&gt;autoincrement&lt;/a&gt;,&lt;a href="http://technorati.com/tags/autodecrement" rel="tag"&gt;autodecrement&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4705559314759492493?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4705559314759492493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4705559314759492493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4705559314759492493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4705559314759492493'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/powershells-and-operators-redux.html' title='PowerShell’s ++ and -- Operators (Redux)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-V0Uo9f1nf9g/TudJT5HllzI/AAAAAAAAAPw/iFT1C7cUFNg/s72-c/wlEmoticon-smile%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7554546534421044867</id><published>2011-12-13T12:34:00.001Z</published><updated>2011-12-13T12:45:08.783Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Microsoft Begins Shipping the Lync Mobile Client</title><content type='html'>&lt;p&gt;For those of us in the Lync world, the release of a Lync client for mobile phones has been long awaited. Although Microsoft released Lync 2010 to the market over a year ago, there has been no mobile client up till now. The lack of a mobile client has been a point some Microsoft competitors have been quick to jump on. But starting earlier this week, the client is slowly rolling out on 5 key platforms (Windows phone, iPhone, iPad, Android and Nokia Symbian).&amp;#160; Thus far, Microsoft has only released Lync for the Windows Phone – the others are shown as ‘coming soon’ on the &lt;a href="http://lync.microsoft.com/en-us/Product/UserInterfaces/Pages/lync-2010-mobile.aspx"&gt;Mobile Clients for Microsoft Lync web page&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft cites 4 key features of the new Lync mobile client:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Join conferences with a single touch - &lt;/strong&gt;no access code or pin number is required. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Stay connected, while controlling your availability&lt;/strong&gt; – you can see who's available at a glance and connect over IM, email or a call. You can also set your own status and notification settings so you can stay in touch while protecting your &amp;quot;off-work&amp;quot; time. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Communicate with others using a single, consistent identity.&lt;/strong&gt; The Call-via-work feature allows outbound calls using your Enterprise Voice number, making it easier for others to recognize calls from the Lync mobile client. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Connect with confidence&lt;/strong&gt; through channel encryption, transport layer security (TLS) support, and perimeter/internal network protection that help safeguard your communications.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To the dismay of some, there is no VOIP client – all phone calls to/from the device have to be made over the cellular network, but Call from work and One Number reach do make that a little less expensive.&amp;#160; It appears that the Call via Work feature will not be shipped with Android.&lt;/p&gt;  &lt;p&gt;Like so many things Microsoft, the client is not something you can just load from the relevant store and have it work – you do need some work on your Lync implementation and need to install the latest cumulative updates (CU4 in particular) to get the necessary services up and running that support the motile client. &lt;/p&gt;  &lt;p&gt;These requirements are spelt out in yet another TechNet article: &lt;a title="http://technet.microsoft.com/en-us/library/hh690988.aspx" href="http://technet.microsoft.com/en-us/library/hh690988.aspx"&gt;http://technet.microsoft.com/en-us/library/hh690988.aspx&lt;/a&gt;. You will need to do some work against your DNS servers to ensure automatic discovery and sign-in works properly. Although this is pretty straightforward, it is work that needs to be planned for and carried out. If you are an Office 365 user and Microsoft is managing your DNS, the work appears to be already done. I host DNS externally to Office 365 but it took me just a few minutes to adjust my DNS settings as needed. You also have to install and configure the mobility service (in CU4), and update your voice policy to support use of the mobile client. &lt;/p&gt;  &lt;p&gt;One important gotcha that might be easy to overlook: You need to include certain (new and additional) SAN entries on your key servers. In particular you need to adjust SAN entries on the certificates in your Director pool, your Front End Pool and the reverse proxy. If you use public certificates for any of these systems, you may have to buy an updated certificate for the RP system.&amp;#160; &lt;/p&gt;  &lt;p&gt;In closing, it’s worth noting that the mobile client does NOT provide 100% of the features of the Lync desktop client.&amp;#160; You can see a good comparison of the various clients at: &lt;a title="http://technet.microsoft.com/en-us/library/hh691004.aspx" href="http://technet.microsoft.com/en-us/library/hh691004.aspx"&gt;http://technet.microsoft.com/en-us/library/hh691004.aspx&lt;/a&gt;. Some features that are &lt;strong&gt;&lt;u&gt;NOT&lt;/u&gt;&lt;/strong&gt; provided by the mobile client (as documented in TechNet) include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Caching multiple users account information on the same device&lt;/li&gt;    &lt;li&gt;Modify Contacts List&lt;/li&gt;    &lt;li&gt;Tag contacts for status change alerts&lt;/li&gt;    &lt;li&gt;Control privacy relationships&lt;/li&gt;    &lt;li&gt;Log IM conversations in Exchange/Outlook&lt;/li&gt;    &lt;li&gt;Use dial-in audio conferencing&lt;/li&gt;    &lt;li&gt;Transfer a call&lt;/li&gt;    &lt;li&gt;Call a response group&lt;/li&gt;    &lt;li&gt;Support E911&lt;/li&gt;    &lt;li&gt;Client side IM archiving and client side recording&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I can’t wait to get my hands on the client and to use it against my Office 365 account (&lt;a href="mailto:tfl@reskit.onmicrosoft.com"&gt;tfl@reskit.onmicrosoft.com&lt;/a&gt;). From all I’ve heard from those who have the client – it does what it says it does and thus far appears stable and resilient. I look forward to using the client - As an iPhone user, I will have to patient. After all – I’ve been waiting 14 months or so for this client a few more days wait is not the end of the world! It will make a nice Christmas present!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7554546534421044867?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7554546534421044867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7554546534421044867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7554546534421044867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7554546534421044867'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/microsoft-begins-shipping-lync-mobile.html' title='Microsoft Begins Shipping the Lync Mobile Client'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7102984638446868097</id><published>2011-12-12T11:34:00.001Z</published><updated>2011-12-13T12:50:00.966Z</updated><title type='text'>Using PowerShell’s ++ (and–-) operator–Take Care</title><content type='html'>&lt;p&gt;I got a great question the other week in a PowerShell class regarding the ++ operator. The delegated to know if there was any difference between &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;$variable++&lt;/strong&gt;&lt;/font&gt; and &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;++$variable&lt;/strong&gt;&lt;/font&gt;. In PowerShell, the operator &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;++ &lt;/strong&gt;&lt;/font&gt;says, effect to add one to the variable it’s attached to.&amp;#160; So specifying &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;$loopcounter&lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;++&lt;/strong&gt;&lt;/font&gt;&amp;#160;&lt;/strong&gt;&lt;/font&gt;as a statement on it’s own (e.g. inside a loop would just add one to the loop counter variable.&amp;#160; &lt;/p&gt;  &lt;p&gt;I don’t use the ++ operator a lot – When I was first learning programming, the languages we had (assembler, Cobol, RPG, Fortran and Algol) never had these operators. So incrementing loop counters freestanding is about all I ever do. But I started playing and found some interesting things about ++!&lt;/p&gt;  &lt;p&gt;First, looking at my most common use case, &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;$variable++&lt;/strong&gt;&lt;/font&gt; and &lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;++$variable &lt;/strong&gt;&lt;/font&gt;seem to be the same as this code illustrates:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;$lc=0;1..10 | foreach {$lc++};&amp;quot;Loop counter: $lc&amp;quot;          &lt;br /&gt;$lc=0;1..10 | foreach {++$lc};&amp;quot;Loop counter: $lc&amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;produces&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#c0504d" face="Courier New"&gt;Loop counter: 10          &lt;br /&gt;Loop counter: 10&lt;/font&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So at that level the formats are equivalent in function.&amp;#160; And for the most part, the ++ operator used before or after the variable name produces similar results. But not in all cases. Consider the following code fragment:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#c0504d" face="Courier New"&gt;&lt;strong&gt;“Case 1”;$lc=0;1..5 | foreach {&amp;quot;{0}&amp;quot; -f $lc++};&amp;quot;Loop counter: $lc&amp;quot;          &lt;br /&gt;”Case 2”;$lc=0;1..5 | foreach {&amp;quot;{0}&amp;quot; -f ++$lc};&amp;quot;Loop counter: $lc&amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;These two code fragments do &lt;em&gt;not&lt;/em&gt; produce the same output. In the first case, the value of LC is formatted into the string, THEN it’s incremented, whereas in the later case, the incrementing occurs before the formatting. Thus the output looks like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#c0504d" face="Courier New"&gt;Case 1          &lt;br /&gt;0           &lt;br /&gt;1           &lt;br /&gt;2           &lt;br /&gt;3           &lt;br /&gt;4           &lt;br /&gt;Loop counter: 5           &lt;br /&gt;Case 2           &lt;br /&gt;1           &lt;br /&gt;2           &lt;br /&gt;3           &lt;br /&gt;4           &lt;br /&gt;5           &lt;br /&gt;Loop counter: 5&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So as you can see ++$variable is not always the same as $variable++.&amp;#160; Another curiosity of PowerShell that you just have to know!&lt;/p&gt;  &lt;p&gt;&lt;font color="#400000"&gt;&lt;strong&gt;[Later]&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Of course, if you know C# or some other newer languages ++/-- may be old hat to you. And thanks for the comments that came from this post!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7102984638446868097?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7102984638446868097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7102984638446868097' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7102984638446868097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7102984638446868097'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/using-powershells-and-operatortake-care.html' title='Using PowerShell’s ++ (and–-) operator–Take Care'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3836440208812526863</id><published>2011-12-07T20:57:00.001Z</published><updated>2011-12-07T20:57:04.580Z</updated><title type='text'>PowerShell 3.0 CTP2 Released for Windows 7/Server2008R2</title><content type='html'>&lt;p&gt;I’ve been on the road a bit lately, and missed last week’s shipment of the PowerShell V3 CTP2. This is the second ''beta'’ of the upcoming PowerShell Version 3. At present this only works in Windows 7 and Server 2008 R2. There are, as I understand it, no plans for this to back-port to Vista and Server 2008 R2. I do hope that MSFT DO release a version for Vista and Server 2008 RTM but we’ll see.&lt;/p&gt;  &lt;p&gt;In the meantime, the new version has lots of bug fixes, seems quite a bit faster and in general seems more mature than CTP1. In my case, the install was a bit confusing as I’m doing a multi-boot to VHD with Windows 8 on my laptop, unfortunately, one of the partitions (of course my default) ran out of disk space so after installing the update, recovering from the out of disk space issue, Win 7 thought the update had failed. I fixed the boot problem, then re-installed the update. From the looks of it, the update also does an in-place upgrade of the CTP 1 process (although the release notes ask you to remove CTP1 first). &lt;/p&gt;  &lt;p&gt;The new CTP has a wealth of update to the console and the ISE. With the ISE, the output and input panes are merged into a single console like pane. Very useful and much easier to use. Read the release notes for a summary of what’s new.&lt;/p&gt;  &lt;p&gt;You can get the various downloads that make up the release here: &lt;a title="http://www.microsoft.com/download/en/details.aspx?id=27548" href="http://www.microsoft.com/download/en/details.aspx?id=27548"&gt;http://www.microsoft.com/download/en/details.aspx?id=27548&lt;/a&gt;. From that page you can get the &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=41&amp;amp;srcfamilyid=94895b51-8376-45ec-8fdd-4fd472e49aa3&amp;amp;srcdisplaylang=en&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2fF%2f1%2fAF1D6992-54EC-47CD-B2BF-38A68C171641%2fWINDOWS6.1-KB2506143-x64.msu"&gt;64-bit&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=41&amp;amp;srcfamilyid=94895b51-8376-45ec-8fdd-4fd472e49aa3&amp;amp;srcdisplaylang=en&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2fF%2f1%2fAF1D6992-54EC-47CD-B2BF-38A68C171641%2fWINDOWS6.1-KB2506143-x86.msu"&gt;32-bit&lt;/a&gt; installation packages (.MSU files), &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=41&amp;amp;srcfamilyid=94895b51-8376-45ec-8fdd-4fd472e49aa3&amp;amp;srcdisplaylang=en&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2fF%2f1%2fAF1D6992-54EC-47CD-B2BF-38A68C171641%2fWMF%20CTP2%20Release%20Notes.docx"&gt;release notes&lt;/a&gt; and a PDF containing a description of the &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=41&amp;amp;srcfamilyid=94895b51-8376-45ec-8fdd-4fd472e49aa3&amp;amp;srcdisplaylang=en&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fA%2fF%2f1%2fAF1D6992-54EC-47CD-B2BF-38A68C171641%2fWindows%20PowerShell%20ISE.pdf"&gt;new ISE Features&lt;/a&gt; and a description of the new features in Out-Gridview. &lt;/p&gt;  &lt;p&gt;I love this product!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d09df073-8357-4a5d-ae61-03ceb15bf1f4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+V3+CTP2" rel="tag"&gt;PowerShell V3 CTP2&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3836440208812526863?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3836440208812526863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3836440208812526863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3836440208812526863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3836440208812526863'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/12/powershell-30-ctp2-released-for-windows.html' title='PowerShell 3.0 CTP2 Released for Windows 7/Server2008R2'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2484080302392357021</id><published>2011-11-12T13:37:00.001Z</published><updated>2011-11-12T13:37:10.056Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bing'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell ISE'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Using the PowerShell ISE–two cool finds</title><content type='html'>&lt;p&gt;I’ve been using PowerShell’s Integrated Scripting Environment ever since it was in beta. Despite being relatively slow to load, it sure beats using Notepad for simple script development/debugging. The colour coding alone makes it even more useful! I love how you can add functionality to the editor via object model. It’s neat how that object model is exposed inside PowerShell as the $ISE variable – and how easy it is to use it to add menu items (and keyboard short cuts for the menu items). &lt;/p&gt;  &lt;p&gt;A freely available module that offers a lot of ISE customisation is the IsePack, which is part of the PowerShellPack mega-module issued by Microsoft as part of the Windows 7 Resource Kit. You can download the full PowerShellPack from &lt;a title="http://archive.msdn.microsoft.com/PowerShellPack" href="http://archive.msdn.microsoft.com/PowerShellPack"&gt;http://archive.msdn.microsoft.com/PowerShellPack&lt;/a&gt;. The PowerShellPack module is actually a set of 10 sub-modules. You can import the entire module (Import-Module PowerShellPack) or the sub-components. In my ISE Profile file, I add the ISE pack in specifically (Import-Module IsePack). That in turn exposes me an additional Add-On menu item, ISEPACK. This menu contains a set of sub-menus which add a lot of features to the ISE. &lt;/p&gt;  &lt;p&gt;My two cool finds are partly what’s in IsePack and what I could easily add to it. The ISEPack creates a number of functions based on the ISE’s object model. It then leverages those in additional functions that PowerShell associates with menu items and keyboard shortcuts when the module is imported. And since the module is just a text file – you can easily edit it and add more features.&lt;/p&gt;  &lt;p&gt;The first cool find is the Search-Bing function, which is associated with a menu item (Add-ons/IsePack/Search-Bing) and a keyboard shortcut (Ctrl-B). The Search-Bing function uses a lower level function,&amp;#160; Select-CurrentText, that gets the text that is currently selected somewhere on the ISE', then pipes it to copy of IE which points &lt;a href="http://www.bing.com/search?q=$"&gt;http://www.bing.com/search?q=$&lt;/a&gt;_. Thus, if I have the text ‘ToString’ highlighed in an open editor window, and hit Ctrl, I get a Bing Search Page, like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-kqQ-RTQjh7g/Tr52aIf60JI/AAAAAAAAAPM/eHnS-f6UYCg/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-VPGiifc9-1g/Tr52cCNA3YI/AAAAAAAAAPU/fX309DGc64U/image_thumb%25255B3%25255D.png?imgmax=800" width="784" height="516" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The second cool thing was how easy it was to ammend the IsePack module to add a Search-Google function. In the IsePack.PSM1 file, there’s a fragment of code that implements the Search-Bing feature (and adds it to the menu) This fragement is part of a larger script, but here’s the starting poing:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#400000" face="Courier New"&gt;&amp;quot;Search-Bing&amp;quot; = {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Shell = New-Object -ComObject Shell.Application          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Select-CurrentText | Where-Object { $_ } | ForEach-Object {          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $shell.ShellExecute(&amp;quot;&lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.bing.com/search?q="&gt;&lt;strong&gt;&lt;font color="#400000" face="Courier New"&gt;http://www.bing.com/search?q=&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#400000" face="Courier New"&gt;$_&amp;quot;)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } | Add-Member NoteProperty ShortcutKey &amp;quot;CTRL+B&amp;quot; –PassThru&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see, Search-Bing is associated with a script block that first opens the currently configured Web Browser (FireFox in my case). Then it executes a Bing Search on the currently selected text. This results in the search window coming up. So how hard was it to add to add a Search-Google? Trivial as it turns out. I just added the following text directly below the Search-Bing definition:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &amp;quot;Search-Google&amp;quot; = {   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $Shell = New-Object -ComObject Shell.Application    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Select-CurrentText | Where-Object { $_ } | ForEach-Object {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $shell.ShellExecute(&amp;quot;&lt;a href="http://www.Google.com/search?q="&gt;http://www.Google.com/search?q=&lt;/a&gt;$_&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } | Add-Member NoteProperty ShortcutKey &amp;quot;CTRL+Shift+G&amp;quot; -PassThru    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Sadly, Ctrl+G was already taken by something (a puzzle for another day!), so I used Ctrl+Shift+G and that brings up something like this:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/-SZ9ylIhJ_uY/Tr52e98fd5I/AAAAAAAAAPc/1k6hE-mck94/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-1hv5xc0FziA/Tr52hHD5AUI/AAAAAAAAAPk/JiJ2qcIC5U4/image_thumb%25255B5%25255D.png?imgmax=800" width="838" height="543" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As I am currently working on my next Pluralsight course on Formatting with PowerShell, I’m finding a need to look stuff up in MSDN and these two functions sure are useful to me!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9407f2f7-5fd8-4efd-bb73-1ea6e743f9d4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ISE" rel="tag"&gt;ISE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+ISE" rel="tag"&gt;PowerShell ISE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/add-ons" rel="tag"&gt;add-ons&lt;/a&gt;,&lt;a href="http://technorati.com/tags/search" rel="tag"&gt;search&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Bing" rel="tag"&gt;Bing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Google" rel="tag"&gt;Google&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2484080302392357021?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2484080302392357021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2484080302392357021' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2484080302392357021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2484080302392357021'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/11/using-powershell-isetwo-cool-finds.html' title='Using the PowerShell ISE–two cool finds'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-VPGiifc9-1g/Tr52cCNA3YI/AAAAAAAAAPU/fX309DGc64U/s72-c/image_thumb%25255B3%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8478398697812182375</id><published>2011-11-09T14:39:00.001Z</published><updated>2011-11-09T21:03:51.579Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell PowerCamp–A great weekend!!!</title><content type='html'>&lt;p&gt;I’m now recovered from the most recent PowerShell PowerCamp – an intense two days of PowerShell training. I ran the event in London last weekend, and had 21 booked. Sadly there were two very last minute cancellations, so we we ended up with 19 eager souls. We walked through the basics of PowerShell at the command line on the Saturday, then on Sunday, started looking at scripting and other enterprise aspects of PowerShell. And on Sunday, we has Lync MVP superstar Tom Arbuthnot of Modality Systems in to talk some real world approaches to PowerShell.&lt;/p&gt;  &lt;p&gt;On Saturday night we took over a small pub nearby, to the amusement of the locals, and continued chatting about PowerShell. I My lovely wife came up to London and we enjoyed a most interesting meal in Sobraine, a Russian restaurant in Victoria. Great food and very, um, interesting décor.&lt;/p&gt;  &lt;p&gt;The delegates took home a memory stick with as many PowerShell goodies as I can find and will shortly be getting licenses for PowerGui professional and PowerShell Plus Pro, thanks to Quest and Idera!&lt;/p&gt;  &lt;p&gt;I have no specific dates for the next PowerShell PowerCamp, but depending on interest, I would like to run another session sometime in the late spring (March/April). As ever, dates are tricky at that time of year what with half term and Easter, etc – but I’m sure we can find a good weekend should there be anyone wanting this level of training! And for those corporate readers – I’m happy to come to your place of work and run this same training for your team on your premises. If you have 6 or more delegates, this could be financially beneficial. &lt;/p&gt;  &lt;p&gt;And in closing – a big thanks for Claire Smyth of Microsoft who was an enormous help in getting this event off the ground. Without her help and passion for the community, this event probably would not have happened! Thanks Claire!! And thanks too to Michael Sullivan for letting his hosting channel know about the event.&lt;/p&gt;  &lt;p&gt;For any enquires about the next PowerCamp or running a PowerCamp privately, email me at &lt;a href="mailto:DoctorDNS@Gmal.Com"&gt;DoctorDNS@Gmal.Com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5d4b5c39-1f18-4fd6-99b3-77bedab8d005" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8478398697812182375?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8478398697812182375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8478398697812182375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8478398697812182375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8478398697812182375'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/11/powershell-powercampa-great-weekend.html' title='PowerShell PowerCamp–A great weekend!!!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6116788733513426646</id><published>2011-11-09T14:30:00.001Z</published><updated>2011-11-09T14:30:19.744Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Performance with PowerShell</title><content type='html'>&lt;p&gt;Over the weekend, at the most recent PowerShell PowerCamp, I got to discussing the performance of PowerShell. The point I was making was that PowerShell made doing some things very easy, even though they were not performant. Two examples are the early filtering&amp;#160; of WMI data using –Filter (vs using Where-Object after you retrieve all the data from a remote machine) and the two variants of ForEach.&lt;/p&gt;  &lt;p&gt;In the case of WMI, where you early filter properties/occurrences on the target machine, PowerShell has less data to serialize and transmit across the network. Also, late filtering requires more local memory, and additional processing. Thus I’d expect early filtering to be faster. We are thus comparing two statements which might look something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;Get-WMIObject win32_share -computer&amp;#160; Cookham1 -filter &amp;quot;Description='remote admin'&amp;quot; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#004080"&gt;versus&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;Get-WMIObject win32_share -computer&amp;#160; Cookham1&amp;#160; | Where {$_.description -eq 'remote admin'}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the first example, only one share is returned from Cookham1, whereas in the second example multiple shares are returned and are then filtered locally (aka late filtering). If I wrap both of these commands in a Measure-Command, and do the operation a number of times, the code and results look like this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#400000" face="Courier New"&gt;Psh[Cookham8:fmt:\]&amp;gt;&amp;quot;Early Filter:&amp;quot;         &lt;br /&gt;&amp;quot; {0} ms&amp;quot;&amp;#160; -f&amp;#160; ((Measure-command {1..100 | foreach {          &lt;br /&gt;Get-WMIObject win32_share -computer&amp;#160; Cookham1 -filter &amp;quot;Description='remote admin'&amp;quot;}}).totalmilliseconds).tostring(&amp;quot;f&amp;quot;)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#400000" face="Courier New"&gt;&amp;quot;Late filter:&amp;quot;         &lt;br /&gt;&amp;quot; {0} ms&amp;quot;&amp;#160; -f&amp;#160; ((Measure-command {1..100 | foreach {          &lt;br /&gt;Get-WMIObject win32_share -computer&amp;#160; Cookham1&amp;#160; | Where {$_.description -eq 'remote admin'}}}).totalmilliseconds).tostring(&amp;quot;f&amp;quot;)          &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font color="#004000" face="Courier New"&gt;Early Filter:         &lt;br /&gt; 1948.91 ms          &lt;br /&gt;Late filter:          &lt;br /&gt; 2715.44 ms&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So the difference between late filter and early filter is around 28%, although if I run this test a few times, the numbers do vary a bit, but almost always early filtering is in the region of 20% faster.&lt;/p&gt;  &lt;p&gt;But &lt;a href="http://www.itidea.nl/index.php/powershell-foreach-vs-foreach-object/"&gt;a much bigger difference was observed by Anita Boorboom&lt;/a&gt;, a Dutch SharePoint guru, in the second case, i.e. using For-Each-object (vs using ForEach in a pipeline).&lt;/p&gt;  &lt;p&gt;When you use the foreach operator in a pipeline, PowerShell is able to optimise the creation of objects at one stage of a pipeline and their consumption in the next. Using Foreach-Object, you need to first persist all the objects you wish to iterate across, then perform the iteration. The latter clearly requires a bit more processing and it is likely to require more memory (which can be a bad thing if the collection of objects is large! I knew this, but Anita’s results were a little more than I was expecting, so I duplicated her scripts, well nearly, and found here results were indeed correct, like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$items = 1..10000         &lt;br /&gt;Write-Host &amp;quot;ForEach-Object: &amp;quot;          &lt;br /&gt;&amp;quot; {0} ms&amp;quot;&amp;#160; -f ((Measure-Command { $items | ForEach-Object { &amp;quot;Item: $_&amp;quot; } }).totalmilliseconds).tostring(&amp;quot;f&amp;quot;)&amp;#160; &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;Write-Host &amp;quot;Foreach: &amp;quot;         &lt;br /&gt;&amp;quot; {0} ms&amp;quot; -f ((Measure-Command {Foreach ($item in $items) { &amp;quot;Item: $item&amp;quot; }}).totalmilliseconds).tostring(&amp;quot;f&amp;quot;)          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#004040" face="Courier New"&gt;&lt;strong&gt;ForEach-Object:          &lt;br /&gt;&amp;#160; 629.73 ms          &lt;br /&gt;Foreach:           &lt;br /&gt; 31.84 ms&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thus the pipelined foreach is nearly 20 times faster for this experiment. I ran this code several times, and the multipler was consistently in the 20-30 times as fast range. That floored me. The For-Each Object does require PowerShell to instantiate every object in memory, then to iterate over it, vs iterating as it instantiates. But I did not expect a 20-30 fold difference in performance!&lt;/p&gt;  &lt;p&gt;So it’s obvious that some language constructs will be a little more efficient, You also need to consider the time it takes to write the code, and how often it will be run.&amp;#160; In the first case above, I managed to save just over 750ms by using early WMI filtering. But it probably took me more than that just to write the code for early binding. And for a lot of admins that don’t know WMI very well, filtering using Where-Object is familiar and uses PowerShell Syntac (the –filter clause on Get-WMIObject used WQL which is different). In the second case, the difference was staggering. Of course, when the processing you want to apply to the collection members is non-trivial (i.e. more than a couple of lines of code), you often find the improvement in readability of the resulting script block to be worth considering. By using task oriented variable names, the resulting code is easier to read then when you use $_. And for some production orient5ed scripts, that improvement in readability may be worthwhile. &lt;/p&gt;  &lt;p&gt;In summary, there always a lot of different ways to achieve the same result in PowerShell. I advocate using what is easiest for you to remember. At the same time, PowerShell can provide some big performance differences between the approaches – and it pays to know more! &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:002fbd40-55b0-4283-a123-486292c9b55a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Performance" rel="tag"&gt;Performance&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6116788733513426646?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6116788733513426646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6116788733513426646' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6116788733513426646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6116788733513426646'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/11/performance-with-powershell.html' title='Performance with PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7571605062668236986</id><published>2011-11-03T12:32:00.001Z</published><updated>2011-11-03T12:32:48.125Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell PowerCamp Soon Come!</title><content type='html'>&lt;p&gt;We’re locked and loaded for this week-end’s PowerShell PowerCamp event in London this Saturday and Sunday November 5 and 6 in London Victoria. We had a few last minute cancellations, but in all we have 19 folks signed up (and room for 2 more late bookers should you be interested). And owing to landlord works, the event has been moved to the building next door – but everything will be alight on the night as they say.&lt;/p&gt;  &lt;p&gt;I’ve got a box of nice new memory sticks to copy all the collateral onto – one for each attendee. I’ve also got copies of some cool software for all who turn up as well. And in the unlikely event that Wiley gets their act together and the books actually arrive, I may have a copy or two of our PowerShell Bible book (but as Wiley ship books by surface, it’s a month after the copies shipping but they’ve still not arrived).&lt;/p&gt;  &lt;p&gt;Should you be at a loose end this weekend and fancy a two day PowerShell boot camp, please email me (&lt;a href="mailto:DoctorDNS@Gmail.com"&gt;DoctorDNS@Gmail.com&lt;/a&gt;) as due to the two late cancellations, there’s still a bit of room. Alternatively, I am hoping to do another weekend event in the Spring (and will announce it as soon as I get the dates etc. lined up which will probably not be till late-November/early-December).&lt;/p&gt;  &lt;p&gt;And for any PowerShell addicts who happen to find themselves in London on Saturday, we’ll be having PowerDrinks (also known as beer and other drinks!)starting at 17:15 on Saturday. Send me mail and I’ll send you the co-ordinates of the event!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33516b1b-b015-4ea0-ab38-23c5a638cf8e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/London" rel="tag"&gt;London&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7571605062668236986?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7571605062668236986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7571605062668236986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7571605062668236986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7571605062668236986'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/11/powershell-powercamp-soon-come.html' title='PowerShell PowerCamp Soon Come!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6670593940646861542</id><published>2011-11-01T12:47:00.001Z</published><updated>2011-11-01T15:53:54.988Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Pluralsight'/><title type='text'>Introduction to WMI and PowerShell – A NEW Pluralsight Course</title><content type='html'>&lt;p&gt;I am quite pleased to be able to announce I’ve finished my first video class for &lt;a href="http://www.pluralsight-training.net/microsoft/"&gt;Pluralsight&lt;/a&gt;, Introduction to WMI and PowerShell. It’s &lt;a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=wmi-ps"&gt;now available for viewing for Pluralsight subscribers&lt;/a&gt;.&amp;#160; I’ve been watching it a bit this morning and it’s not bad, if I do say so myself. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh5.ggpht.com/-NZHRbggEoKc/Tq_qYj4rfyI/AAAAAAAAAPE/6F8qUgnl0HA/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" /&gt;&lt;/p&gt;  &lt;p&gt;The course is a total of 2:29, and is broken down into 5 modules as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Introduction to WMI and PowerShell&lt;/strong&gt; (21:28) – Describes WMI in Windows and discusses some of the key WMI exploration tools. The module then looks at PowerShell support for WMI in PowerShell V3, and describes the WMI cmdlets. The module finishes with some of the gotchas you need to be aware of when using WMI with PowerShell. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using PowerShell and WMI&lt;/strong&gt;&amp;#160; (34:37) This module looks at accessing WMI data, including instances, instance properties and methods, WMI classes, and static class methods. We cover the use of the key WMI cmdlets and explain the use of Type Accelerators. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Practical PowerShell&lt;/strong&gt; (24:42)&amp;#160; - This module looks at the range of data you can use in WMI. We show key namespaces and key classes you might leverage. The module also looks at some of the security settings you might make use of when using WMI in a Enterprise environment. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using WMI Query Language&lt;/strong&gt; (29:36) – Describes the WMI Query Language and how to use it with the PowerShell WMI cmdlets. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WMI Eventing&lt;/strong&gt; (39:16) - This final module looks at accessing WMI events. It shows how to create both temporary and permanent event subscribers for intrinsic, extrinsic, and timer events. It also explains all those terms and shows how to leverage WMI’s eventing subsystem. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So if you are currently a Pluralsight subscriber, why not consider it? If nothing else, take the free trial – 10 days access to the entire library, including this course. &lt;/p&gt;  &lt;p&gt;And also: a big thank you to Alexandar Nikolic (@alexandair on Twitter) for his proof reading of the course – much appreciated!!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3ac1e71d-3dca-4c2c-9f9b-1352c5b1adb7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/course" rel="tag"&gt;course&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Pluralsight" rel="tag"&gt;Pluralsight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/video+training" rel="tag"&gt;video training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Training" rel="tag"&gt;PowerShell Training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI+Training" rel="tag"&gt;WMI Training&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6670593940646861542?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6670593940646861542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6670593940646861542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6670593940646861542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6670593940646861542'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/11/introduction-to-wmi-and-powershell-new.html' title='Introduction to WMI and PowerShell – A NEW Pluralsight Course'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-NZHRbggEoKc/Tq_qYj4rfyI/AAAAAAAAAPE/6F8qUgnl0HA/s72-c/wlEmoticon-smile%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-237630029981118349</id><published>2011-10-27T12:43:00.001+01:00</published><updated>2011-10-27T12:43:25.689+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='Pow'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Pluralsight'/><title type='text'>Pluralsight WebCast on Using WMI from PowerShell</title><content type='html'>&lt;p&gt;I got a fun call last night – PluralSight has a regular webcast but this week’s presenter has had personal issues – and would I like to do the webcast? Well SURE!&amp;#160; When don’t I like the chance to talk about PowerShell!?!?&lt;/p&gt;  &lt;p&gt;As it turns out, this is perfect timing - I’ve just finished developing a new PluralSight course, Using WMI from PowerShell which goes LIVE today. So this web cast is a great opportunity to tell you a bit more about the course, and hopefully tempt you to download it and consume the video! I’ll enjoy talking about it!!&lt;/p&gt;  &lt;p&gt;The webcast is at 11:00 US Eastern Time – 16:00 time here in the UK. Please join us at: &lt;a title="http://www.pluralsight-training.net/microsoft/Webcasts" href="http://www.pluralsight-training.net/microsoft/Webcasts"&gt;http://www.pluralsight-training.net/microsoft/Webcasts&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b74de0e-e82e-4d3b-86b9-f0727a548219" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Webcast" rel="tag"&gt;Webcast&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Pluralsight" rel="tag"&gt;Pluralsight&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-237630029981118349?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/237630029981118349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=237630029981118349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/237630029981118349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/237630029981118349'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/10/pluralsight-webcast-on-using-wmi-from.html' title='Pluralsight WebCast on Using WMI from PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4763129557471223260</id><published>2011-10-07T09:27:00.001+01:00</published><updated>2011-10-07T09:38:08.179+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Using PowerShell with WMI Events</title><content type='html'>&lt;p&gt;I’ve been working on a WMI and PowerShell video course for &lt;a href="http://www.pluralsight-training.net/microsoft/"&gt;PluralSight&lt;/a&gt; (due out soon) and am today working on the last bit of the course which covers Events. I found an MSDN sample written in VBScript. Here’s the VBScript:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;&lt;code&gt;&lt;strong&gt;&lt;font color="#400000" size="2"&gt;Sub SINK_OnObjectReady(objObject, objAsyncContext)
    WScript.Echo (objObject.TargetInstance.Message)
End Sub

Set objWMIServices = GetObject( _
    &amp;quot;WinMgmts:{impersonationLevel=impersonate, (security)}&amp;quot;) 

Set sink = WScript.CreateObject(&amp;quot;WbemScripting.SWbemSink&amp;quot;,&amp;quot;SINK_&amp;quot;)
 
objWMIServices.ExecNotificationQueryAsync sink, _
    &amp;quot;SELECT * FROM __InstanceCreationEvent &amp;quot; &amp;amp; _
    &amp;quot;WHERE TargetInstance ISA 'Win32_NTLogEvent' &amp;quot;&lt;/font&gt;&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;pre&gt;I&lt;font face="Trebuchet MS"&gt; spent some time looking at this trying to get my head around what it was actually doing.   Turns out that translating it into PowerShell was fairly simple. Here’s the PowerShell code:&lt;/font&gt;&lt;/pre&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;font color="#400000" size="2" face="Courier New"&gt;&lt;strong&gt;$query = &amp;quot;SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA 'Win32_NTLogEvent' &amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;

  &lt;p&gt;&lt;font color="#400000" size="2" face="Courier New"&gt;&lt;strong&gt;Register-WmiEvent -Source Demo1 -Query $query -Action { 
        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Write-Host &amp;quot;Log Event occurred&amp;quot; 

        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Write-Host &amp;quot;EVENT MESSAGE&amp;quot; 

        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Write-Host $event.SourceEventArgs.NewEvent.TargetInstance.Message}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even with the nice spacing that turns 9 hard to understand lines of VB SCript into 2 LONG lines of PowerShell (or 5 as it’s so nicely spaced out here). I could have written it as a one-liner had I wished to go for compactness – but I think spacing it out a bit helps in terms of understaning.&lt;/p&gt;

&lt;p&gt;The bottom line for me is that PowerShell is just so much easier to understand – you register for an event. A query tells you which event. And when that event fires, you take some action. Job done.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:30d3e4ec-d305-4e16-afd8-2d71fcdf4916" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4763129557471223260?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4763129557471223260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4763129557471223260' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4763129557471223260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4763129557471223260'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/10/using-powershell-with-wmi-events.html' title='Using PowerShell with WMI Events'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3907042742643991625</id><published>2011-09-28T16:00:00.001+01:00</published><updated>2011-09-28T16:00:03.515+01:00</updated><title type='text'>PowerShell PowerCamp–November 5/6–Filling Fast</title><content type='html'>&lt;p&gt;I first started advertising this event in August, &lt;a href="http://tfl09.blogspot.com/2011/08/powershell-powercampnovember-46bookings.html"&gt;with a blog post&lt;/a&gt; and some tweets. Since then, we’ve had a good response with 14 folks booked so far. At this rate, we may need a bigger room. I’m going up Saturday to check out the meeting room to ensure all is OK!&lt;/p&gt;  &lt;p&gt;In the mean time,&amp;#160; here’s the details of the event:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What is it?&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;&lt;/b&gt;    &lt;br /&gt;This fast paced weekend event covers all the key aspects of Windows PowerShell - from the command line and writing production-oriented scripts. We start with the basics including installation and configuration, formatting and providers and remoting. We then look at scripting, managing script libraries using modules, using objects, and finishing with the PowerShell features added into Windows. We finish with a look at PowerShell in the cloud and what’s coming with PowerShell 3.&amp;#160; The event will be all lecture, with the opportunity to type along with the tutor.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What is the Agenda?&lt;/b&gt;    &lt;br /&gt;&lt;i&gt;Day 1 – The Basics &lt;/i&gt;    &lt;br /&gt; •&amp;#160; PowerShell Fundamentals – starting with the key elements of PowerShell (Cmdlets, Objects and the Pipeline) plus installation, setup, and profiles     &lt;br /&gt; •&amp;#160; Discovery – finding your way and learning how to discover more     &lt;br /&gt; •&amp;#160; Formatting – how to format output nicely – both by default and using hash tables and display XML     &lt;br /&gt; •&amp;#160; Remoting – working with remote systems using PowerShell’s remoting capabilities    &lt;br /&gt; •&amp;#160; Providers – getting into OS data stores via PSProviders    &lt;br /&gt;&lt;i&gt;Day 2 – Diving Deeper&lt;/i&gt;    &lt;br /&gt; •&amp;#160; Scripting Concepts – automating everyday tasks including PowerShell’s language constructs, error handling and debugging (both from the command line and using an IDE)     &lt;br /&gt; •&amp;#160; Modules – managing PowerShell script libraries in the enterprise     &lt;br /&gt; •&amp;#160; .NET/WMI/COM Objects – working with native objects    &lt;br /&gt; •&amp;#160; PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets     &lt;br /&gt; •&amp;#160; PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010     &lt;br /&gt; •&amp;#160; PowerShell and the cloud – this module looks at PowerShell in the cloud and how you can use PowerShell to manage cloud computing.    &lt;br /&gt; •&amp;#160; PowerShell 3 – this final module will show you what’s new in PowerShell V3, based on the the latest Beta of Windows 8&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What will it cost?&lt;/b&gt;    &lt;br /&gt;The cost is £200 (+VAT at the prevailing rate) for the weekend. Meals and accommodation are &lt;b&gt;&lt;i&gt;not&lt;/i&gt;&lt;/b&gt; covered.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Where is the event going to take place?&lt;/b&gt;    &lt;br /&gt;The PowerShell PowerCamp will be held at Microsoft Cardinal Place, 100 Victoria Street in Victoria on the weekend of November 5/6 2011.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Who is the tutor?&lt;/b&gt;    &lt;br /&gt;The PowerShell Weekend PowerCamp will be delivered by Thomas Lee. Thomas is a veteran PowerShell MVP who has been involved in the PowerShell community since the very beginning. He provides training and consultancy around a range of Microsoft products, with a recent focus on PowerShell and Lync Server. Thomas runs PowerShell training courses around the world, and has been a speaker at conferences across the world for the past decade. His Twitter handle is DoctorDNS and he maintains two blogs (Under the Stairs at &lt;a href="http://tfl09.blogspot.com/"&gt;http://tfl09.blogspot.com&lt;/a&gt; and PowerShell Scripts Blog at &lt;a href="http://pshscripts.blogspot.com"&gt;http://pshscripts.blogspot.com&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;PowerBeers after Class on Saturday&lt;/strong&gt;    &lt;br /&gt;I'll also be leading the class across the street to the pub for a beer after we finish on Saturday. I’d be happy to buy the first round! You (and I ) will probably need by then!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Special Guest&lt;/strong&gt;    &lt;br /&gt;I have arranged for a guest PowerShell advocate, Tom Arbuthnot, to come along and add some additional flavour to the event. Tom works for Modality, a great UK Unified Comms consultancy and will be looking both at PowerShell in Lync abut also at wider issues. He’s should be fun! &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;PowerBeers after Class&lt;/strong&gt;    &lt;br /&gt;I'll also be leading the class across the street to the pub for a beer after we finish on Saturday. I’d be happy to buy the first round! You (and I ) will probably need by then!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What do I need to bring&lt;/b&gt;    &lt;br /&gt;You need to bring a laptop with at least two VMs pre-configured. The first should be a Server 2008 R2 domain controller and the other one a member server. And if you have access to the Windows 8 beta, bring along a Win8 VM for the look at PowerShell V3. The virtualisation software is not of concern – but you need 64-bit guest OS support. Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Take Aways&lt;/strong&gt;    &lt;br /&gt;After the event, I’ll provide you with a USB memory key with as many of the free PowerShell Goodies as I possibly can. Attendees will also get an NFR license to both Idera’s PowerShell Plus Professional and Quest’s PowerGui Professional.&lt;/p&gt; &lt;b&gt;&lt;/b&gt;  &lt;p&gt;&lt;b&gt;How do I book?&lt;/b&gt;    &lt;br /&gt;Contact &lt;a href="mailto:DoctorDNS@Gmail.com"&gt;DoctorDNS@Gmail.com&lt;/a&gt; to book a place and to arrange for the invoice to be paid. Payment will need to be cash, cheque or bank transfer – I don’t take credit cards. I will need to limit the total number of attendees, so book now!&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;More Details     &lt;br /&gt;&lt;/strong&gt;Continue to read this blog!!&lt;/p&gt;  &lt;p&gt;I look forward to a few more bookings and two cracking days of PowerShell.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3907042742643991625?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3907042742643991625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3907042742643991625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3907042742643991625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3907042742643991625'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/powershell-powercampnovember-56filling.html' title='PowerShell PowerCamp–November 5/6–Filling Fast'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8563102533901482881</id><published>2011-09-26T15:54:00.001+01:00</published><updated>2011-09-28T16:59:46.780+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V3'/><title type='text'>PowerShell V3 and Updateable Help</title><content type='html'>&lt;p&gt;With PowerShell v2, the help information you can get using Get-Help is fixed. if there are errors in the help information, Microsoft is not going to up date them (until V3 ships). The logic is that PowerShell is a component of Windows and the Help text is not a critical or a security fix – thus we’re not gong to get hot fixes. And given the relatively high bar to bugs that are fixed by Service Packs (it has to be customer impacting - it’s tough to argue erroneous help information falls into that category), thus the only way with V2 to get updated help is to wait for V3. &lt;/p&gt;  &lt;p&gt;One good thing Microsoft did do for Version 2 was to add the –Online switch to Get-Help. This switch has Get-Help open a browser window and navigate to the on-line help in TechNet. Since TechNet content &lt;em&gt;can&lt;/em&gt; get updated when appropriate, this has been the work around – go online for the latest help information. And looking at the online help topics, there have been a number of changes and fixes.&lt;/p&gt;  &lt;p&gt;This changes at V3. With PowerShell V3, Help can be updated mid-version using the appropriately named Update-Help cmdlet. When you first start up PowerShell V3 (CTP1!), you get only basic help material. If you type ‘Get-Help Get-Help, you see the following:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-LS7aSb2MpM0/ToCSI088nCI/AAAAAAAAAOk/mIF4o5ZXgOs/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-T3_ppnboyY0/ToCSJr0kZQI/AAAAAAAAAOo/d2-pPoFiBQ8/image_thumb%25255B1%25255D.png?imgmax=800" width="611" height="285" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see from this screen shot, PowerShell can’t initially find the help information. If you try to run Get-Help About_*, you get none of the help topic files listed. Finally, at least for now, the help link shown in the screen shot takes you to V2 help, which doesn’t really help that much (for the obvious reason that V2 shipped with help information fully implemented). But the screen shot does tell you more or less how to fix the problem – use Update-Help.&lt;/p&gt;  &lt;p&gt;When you installed PowerShell V3 CTP1, you downloaded a .cab file from Microsoft then expanded it. When you did the expansion, you created a HelpContent folder which contains the necessary information. With CTP1, help information is localised into German (de-DE), US English (en-US), Spanish (es-ES), French (fr-FR), Italian (it-IT), Japanese (ja-JP), Korean (ko-KR), Brazilian Portuguese (pt-BR), Russian (ru-RU) and Chinese (both zh-CN and zh-TW). So long as your OS is one of these languages, then just use Update-Help specifying the UI culture and the Source path to the Help .cab files. For reasons I’m sure of yet, you seem to need to specify the –Force parameter in order to force PowerShell to update the help information (this may be a feature of the early CTP). Like this:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/-UXf2thNLNxI/ToNEbRd4qqI/AAAAAAAAAOs/frNwXIeeddw/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-5qy8720842Q/ToNEcci0kDI/AAAAAAAAAOw/2_0EXZmRdDU/image_thumb%25255B1%25255D.png?imgmax=800" width="595" height="319" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;in the longer term, this is going to be a great feature – being able to update help on your local system as Microsoft makes updates. In the short term, I suspect this my cause some confusion.&lt;/p&gt;  &lt;p&gt;[Later]&lt;/p&gt;  &lt;p&gt;I have been playing with this some more. And I have noticed slightly different behaviour from Update-Help if you run it in the ISE. Hmmm.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:83582b00-a20b-4a9f-8b5e-cb5f907285b8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+V3+CTP1" rel="tag"&gt;PowerShell V3 CTP1&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+V3" rel="tag"&gt;PowerShell V3&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8563102533901482881?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8563102533901482881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8563102533901482881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8563102533901482881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8563102533901482881'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/powershell-v3-and-updateable-help.html' title='PowerShell V3 and Updateable Help'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-T3_ppnboyY0/ToCSJr0kZQI/AAAAAAAAAOo/d2-pPoFiBQ8/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2537722352331319275</id><published>2011-09-22T20:33:00.000+01:00</published><updated>2011-09-22T20:33:00.859+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='StdRegProv'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Registry'/><title type='text'>Using PowerShell and WMI to Manage the Registry</title><content type='html'>&lt;p&gt;For those of you who are very keen eyed, you may have noticed some posts on my &lt;a href="http://PshScripts.BlogSpot.Com"&gt;PowerShell Scripts blog&lt;/a&gt; related to the WMI Registry Provider. I’ve been working on a PowerShell and WMI course which will be published by Plural Sight in October. As part of this, I have been playing with WMI and the Registry provider, which you can easily use via PowerShell.&lt;/p&gt;  &lt;p&gt;Microsoft has implemented a nice registry provider withing WMI: the StdRegProv class in the ROOT\DEFAULT WMI class.&amp;#160; This class contains 20 static methods that enable you to perform any Registry action on a local or remote computer. You can access these in two ways, either using New-Object to create a new System.Management.ManagementClass object, specifying the path to the class to the constructor (&amp;quot;Root\default:StdRegProv&amp;quot;). Alternatively, you could use the [WmiClass] Type Accelerator, specifying [WmiClass]&amp;quot;Root\default:StdRegProv&amp;quot;. Both return the class object, which contains a number of methods as shown here:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;c:\&amp;gt; $x=new-object System.Management.ManagementClass &amp;quot;Root\default:StdRegProv&amp;quot;         &lt;br /&gt;c:\&amp;gt; $x.Methods | ft name&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;CreateKey&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;DeleteKey&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;EnumKey&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;EnumValues&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;DeleteValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetDWORDValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetQWORDValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetDWORDValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetQWORDValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetMultiStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetMultiStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetExpandedStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetExpandedStringValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetBinaryValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetBinaryValue&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;CheckAccess&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;SetSecurityDescriptor&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;GetSecurityDescriptor&amp;#160;&amp;#160;&amp;#160; &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In effect you have four sets of methods:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create/delete registry key (CreateKey, DeleteKey)&lt;/li&gt;    &lt;li&gt;Enumerate a registry key or value entry (EnumKey, EnumValue)&lt;/li&gt;    &lt;li&gt;Create, set or delete a value entry (Set&amp;lt;valuetype&amp;gt;Value, Get&amp;lt;valuetype&amp;gt;Value, DeleteValue)&lt;/li&gt;    &lt;li&gt;Check security on a value/key (Check Access, SetAccessDescriptor, GetSDecurityDescriptor)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Each method is very easy to call, as you will have seen on my PshScripts blog. To manipulate the registry, you need to specfiy a registry Hive, a Registry Key, and where needed, a registry value. So to create a registry key, you could do this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$HKEY_LOCAL_MACHINE = 2147483650         &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$Reg&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = [WMIClass]&amp;quot;ROOT\DEFAULT:StdRegProv&amp;quot;         &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000"&gt;&lt;strong&gt;&lt;font face="Courier New"&gt;$Key&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;quot;SOFTWARE\NewKey&amp;quot;           &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;$Results&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = $Reg.CreateKey($HKEY_LOCAL_MACHINE, $Key)&amp;#160; &lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In this case, you specify the&amp;#160; hive to create the key in by specifying a well known value, in case, 2147483650. The well known values are as follows:&lt;/p&gt; &lt;dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;HKEY_CLASSES_ROOT&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2147483648 &lt;/strong&gt;&lt;/font&gt;&lt;/dt&gt;&lt;dt&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;HKEY_CURRENT_USER&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2147483649 &lt;/strong&gt;&lt;/font&gt;&lt;/dt&gt;&lt;dt&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE&amp;#160;&amp;#160;&amp;#160; 2147483650           &lt;br /&gt;HKEY_USERS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2147483651 &lt;/strong&gt;&lt;/font&gt;&lt;/dt&gt;&lt;dt&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;HKEY_CURRENT_CONFIG&amp;#160;&amp;#160; 2147483653 &lt;/strong&gt;&lt;/font&gt;&lt;/dt&gt;&lt;dt&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;HKEY_DYN_DATA&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2147483654           &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;dt&gt;With PowerShell, you first instantiate the class instance, which gets you an object on the local or remote machine. Then, you pass the static methods of htios class the values necessary. You always need to the specific well known numbers – in my example above, via a variable to the call the appropriate registry operation. The other paramaeters will depend on the specific call being made. &lt;/dt&gt;&lt;dt&gt;&amp;#160;&lt;/dt&gt;&lt;dt&gt;So to create a new MultiString regisgry value, below the key created earlier, you could do this:&lt;/dt&gt;&lt;dt&gt;     &lt;blockquote&gt;       &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$HKEY_LOCAL_MACHINE = 2147483650             &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$reg&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = [WMIClass]&amp;quot;ROOT\DEFAULT:StdRegProv&amp;quot;             &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$Key&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;quot;SOFTWARE\NewKey&amp;quot;             &lt;br /&gt;$ValueName = &amp;quot;Example MultiString Value&amp;quot;              &lt;br /&gt;$Values&amp;#160;&amp;#160;&amp;#160; = @(&amp;quot;Thomas&amp;quot;, &amp;quot;Susan&amp;quot;, &amp;quot;Rebecca&amp;quot;)              &lt;br /&gt;$Key&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;quot;SOFTWARE\NewKey&amp;quot;              &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;$reg.SetMultiStringValue($HKEY_LOCAL_MACHINE, $Key, $ValueName, $Values)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;     &lt;/blockquote&gt; In this case, the code created a new MultiString value. There are no explicitly NEW methods on StdRegProv – you use a Set* method to either create a new value entry or change a value. With both getting and setting value entries, you use different methods depending on the specific value type you wish to manage (String, Multi—String, Binary, etc).&amp;#160; With removing a value, there’s only one method: DeleteValue.&lt;/dt&gt;&lt;dt&gt;&amp;#160;&lt;/dt&gt;&lt;dt&gt;One small thing to be careful of, DeleteKey, deletes the key specified and everything below it. So Deleting a key of “\” in most of the well known hives is probably not advisable. &lt;/dt&gt;&lt;dt&gt;&amp;#160;&lt;/dt&gt;&lt;dt&gt;All in all, it’s darn easy to use the StdRegProv class with PowerShell for all your registry manipulation needs. &lt;/dt&gt;&lt;/dl&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:13c09b81-2379-4b20-bb25-744dd5cd9bf3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/StdRegProv" rel="tag"&gt;StdRegProv&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;&lt;/div&gt; &lt;dl&gt;&lt;dt&gt;&amp;#160; &lt;br /&gt;&amp;#160;&lt;/dt&gt;&lt;/dl&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2537722352331319275?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2537722352331319275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2537722352331319275' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2537722352331319275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2537722352331319275'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/using-powershell-and-wmi-to-manage.html' title='Using PowerShell and WMI to Manage the Registry'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3935199706503448834</id><published>2011-09-22T15:04:00.001+01:00</published><updated>2011-09-22T15:04:09.985+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Bible'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><title type='text'>Windows PowerShell Bible To Be Published Soon!</title><content type='html'>&lt;p&gt;I am really pleased to see that the &lt;a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118021983.html"&gt;PowerShell Bible 2.0&lt;/a&gt;, from Wiley, is due to be published very soon.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118021983.html"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-n7qXx_taQXI/TntAWYrQEvI/AAAAAAAAAOg/qvVy4_p-IBI/image%25255B4%25255D.png?imgmax=800" width="311" height="398" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This labour of love from Karl Mitschke, Mark Schill and Tome Tanasovski took a lot of time and effort. I’m so glad to see it finished and nearly in the shelves. &lt;/p&gt;  &lt;p&gt;Feel free to visit any book seller and buy as many copies as you like. Once the book is published and I get my rather meager allowance of them, I will have a few copies to give away to those folks who attend my PowerShell Master Classes!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3935199706503448834?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3935199706503448834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3935199706503448834' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3935199706503448834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3935199706503448834'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/windows-powershell-bible-to-be.html' title='Windows PowerShell Bible To Be Published Soon!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-n7qXx_taQXI/TntAWYrQEvI/AAAAAAAAAOg/qvVy4_p-IBI/s72-c/image%25255B4%25255D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7162086795699359055</id><published>2011-09-20T20:02:00.001+01:00</published><updated>2011-09-20T20:02:16.742+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V3'/><category scheme='http://www.blogger.com/atom/ns#' term='Power'/><title type='text'>PowerShell V3 - Autoloading Modules</title><content type='html'>&lt;p&gt;Autoloading is a cool feature in PowerShell V3. With Autoloading, PowerShell allows you to ‘see’ cmdlets included in module without you needing to explicitly loading the relevant module. And when you need to run the cmdlet, the module is loaded automatically by PowerShell.&lt;/p&gt;  &lt;p&gt;For example, if you run Get-Module on a newly opened PowerShell V3.0 CTP1 prompt, you get the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: get-module&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;ModuleType Name ExportedCommands          &lt;br /&gt;---------- ---- ----------------           &lt;br /&gt;Manifest Microsoft.PowerShell.Core {Add-History, Add-PSSnapin, Clear-History, Connect-PSSession...}           &lt;br /&gt;Manifest Microsoft.PowerShell.M... {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}           &lt;br /&gt;Manifest Microsoft.PowerShell.U... {Add-Member, Add-Type, Clear-Variable, Compare-Object...}           &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;if you then run a cmdlet contained in a module (e.g. Get-CimInstance), then re-run the Get-Module, you see the relevant module has been autoloaded, like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: Get-CimInstance win32_bios&lt;/strong&gt;&lt;/font&gt;       &lt;br /&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;SMBIOSBIOSVersion : A05          &lt;br /&gt;Manufacturer&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Dell Inc.           &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Default System BIOS           &lt;br /&gt;SerialNumber&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 804HWM1           &lt;br /&gt;Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : DELL&amp;#160;&amp;#160; - 6222004&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: get-module&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#400000" face="Courier New"&gt;&lt;strong&gt;ModuleType Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ExportedCommands          &lt;br /&gt;---------- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ----------------           &lt;br /&gt;Manifest&amp;#160;&amp;#160; CimCmdlets&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSessio...           &lt;br /&gt;Manifest&amp;#160;&amp;#160; Microsoft.PowerShell.Core {Add-History, Add-PSSnapin, Clear-History, Connect-PSSession...}           &lt;br /&gt;Manifest&amp;#160;&amp;#160; Microsoft.PowerShell.M... {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}           &lt;br /&gt;Manifest&amp;#160;&amp;#160; Microsoft.PowerShell.U... {Add-Member, Add-Type, Clear-Variable, Compare-Object...}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As you can see, PowerShell automatically loaded the new CimCmdlets module as needed. This is a neat feature.&lt;/p&gt;  &lt;p&gt;One proviso&amp;#160; - autoloading does not appear to work with script modules. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://lh5.ggpht.com/-MDJ24jdeOyY/TnjjN4nJmSI/AAAAAAAAAOc/wIOVTTIOjIY/wlEmoticon-sadsmile%25255B2%25255D.png?imgmax=800" /&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7162086795699359055?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7162086795699359055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7162086795699359055' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7162086795699359055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7162086795699359055'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/powershell-v3-autoloading-modules.html' title='PowerShell V3 - Autoloading Modules'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-MDJ24jdeOyY/TnjjN4nJmSI/AAAAAAAAAOc/wIOVTTIOjIY/s72-c/wlEmoticon-sadsmile%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-557751781352930741</id><published>2011-09-20T07:04:00.001+01:00</published><updated>2011-09-20T13:24:16.018+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V3'/><title type='text'>PowerShell Version 3–First CTP is available NOW</title><content type='html'>&lt;p&gt;The first beta version of PowerShell 3 is now available to the public. To give it it’s full name, Microsoft today released the Windows Management Framework 3.0 Community Technology Preview (CTP) #1. This allows you to install PowerShell 3.0 onto systems running &lt;strike&gt;Vista/Server 2008 and later&lt;/strike&gt;&amp;#160; Windows 7 and Server 2008 R2. So if you want to play with PowerShell 3 but are not yet running a Windows 8 version, this is the package for you.&lt;/p&gt;  &lt;p&gt;To get the ‘bits’, navigate to &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=27548&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%24Microsoft+Download+Center%24"&gt;the Microsoft Download centre&lt;/a&gt; where you can pick up a .cab file for either a 32-bit or 64-bit version of Windows. To install it, you must first expand the cab file using the Expand utility, then you run WINDOWS6.1-KB2506143.MSU. &lt;/p&gt;  &lt;p&gt;Running the Windows patch, you are asked to accept the EULA (as per most installations these days) and the installer just does its stuff. For reasons I can’t explain this morning, the installation requires a reboot.&lt;/p&gt;  &lt;p&gt;Once you reboot, you can see the new version of PowerShell&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-8gR3ng9fV1Q/TngsybGuQuI/AAAAAAAAAOU/kA1P_9Cv3CY/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-Vyn3H3acQqI/TngszyGBp5I/AAAAAAAAAOY/ZPrxnEnbDqI/image_thumb%25255B1%25255D.png?imgmax=800" width="587" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ve got a lot more to tell you, but I want to get his posted now prior to a long flight. I’ll post more later today on this new version of PowerShell   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bb6a463f-d4ba-4513-bf39-fe824e700c58" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+V3" rel="tag"&gt;PowerShell V3&lt;/a&gt;&lt;/div&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#400000"&gt;&lt;strong&gt;[Later] Re-reading the documentation, this version of WMF is &lt;em&gt;not&lt;/em&gt; supported on Vista or Server 2008, but only on Windows 7 and Server 2008 R2.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-557751781352930741?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/557751781352930741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=557751781352930741' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/557751781352930741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/557751781352930741'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/powershell-version-3first-ctp-is.html' title='PowerShell Version 3–First CTP is available NOW'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-Vyn3H3acQqI/TngszyGBp5I/AAAAAAAAAOY/ZPrxnEnbDqI/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1858780307915701743</id><published>2011-09-18T15:40:00.001+01:00</published><updated>2011-09-18T20:11:07.110+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BUILD'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Build Videos'/><title type='text'>The Build Videos–Getting Them With PowerShell</title><content type='html'>&lt;p&gt;I’m just back from the //BUILD/ concerence in Anaheim – where I missed far more sessions than I could have ever hoped to attend. It was 3 1/2 days of the fire hose – I get tired just thinking about it. Luckily for us, Microsoft has taped every session and has put them up for download. &lt;/p&gt;  &lt;p&gt;By day 2, superstar PowerShell guru James Brundage had created a great PowerShell function to download the whole set. &lt;/p&gt;  &lt;p&gt;Get-EnclosureFile -Directory $home\Videos\Build -Feed &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/RSS"&gt;http://channel9.msdn.com/Events/BUILD/BUILD2011/RSS&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;function Get-EnclosureFile&amp;#160; {          &lt;br /&gt;&amp;lt;#           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .Synopsis           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Downloads enclosure files from a feed           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .Author           &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#800000"&gt;&lt;strong&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; James Brundage&lt;/font&gt;&lt;/strong&gt;         &lt;br /&gt;&lt;/font&gt;&lt;strong&gt;&lt;font color="#800000" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; .Description          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Downloads enclosure files from a RSS feed using the BitsTransfer module           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .Example           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Get-EnclosureFile -Directory $home\Videos\Build -Feed &lt;/font&gt;&lt;/strong&gt;&lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/RSS"&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;http://channel9.msdn.com/Events/BUILD/BUILD2011/RSS&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;       &lt;br /&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; #&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;param(          &lt;br /&gt;# The directory where the files should go           &lt;br /&gt;[string]$Directory,           &lt;br /&gt;# The Feed           &lt;br /&gt;[uri]$Feed           &lt;br /&gt;)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;begin {          &lt;br /&gt;Import-Module BitsTransfer –Global           &lt;br /&gt;}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;process {          &lt;br /&gt;New-Item -ErrorAction SilentlyContinue $directory -ItemType Directory           &lt;br /&gt;Push-Location $directory           &lt;br /&gt;$Rss =(New-Object Net.Webclient).DownloadString(&amp;quot;$Feed&amp;quot;)           &lt;br /&gt;$xfer = $Rss |           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Select-Xml //item/enclosure |           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ForEach-Object {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $url = [uri]$_.Node.Url           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $destinationFile = $_.Node.ParentNode.Title           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach ($char in [io.path]::GetInvalidFileNameChars()) {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $destinationFile = $destinationFile.Replace(&amp;quot;$char&amp;quot;, &amp;quot;&amp;quot;)           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $destinationExtension= $url.Segments[-1].Substring($url.Segments[-1].LastIndexOf(&amp;quot;.&amp;quot;))           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (-not (Test-Path $destinationFile)) {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Start-BitsTransfer -Source $url -Description $_.Node.ParentNode.Title -Destination &amp;quot;${destinationFile}$destinationExtension&amp;quot;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; Pop-Location          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;     &lt;/blockquote&gt;  &lt;p&gt;To call the function, just do something like this:&lt;/p&gt;  &lt;p&gt;Get-EnclosureFile -Directory $home\Videos\Build -Feed http://channel9.msdn.com/Events/BUILD/BUILD2011/RSS&lt;/p&gt;  &lt;p&gt;Of course, you better have a lot of disk space (I’ve taken up 21GB so far!). Oh – you also need a reliable connection (and you have Windows Bloody Update not decide to reboot).&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4737c893-0106-44fd-8eb1-070b5e4e96ab" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Build" rel="tag"&gt;Build&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+script" rel="tag"&gt;PowerShell script&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1858780307915701743?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1858780307915701743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1858780307915701743' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1858780307915701743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1858780307915701743'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/build-videosgetting-them-with.html' title='The Build Videos–Getting Them With PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2928619708631569311</id><published>2011-09-10T16:51:00.001+01:00</published><updated>2011-09-10T16:51:22.915+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell.com'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync PowerShell Forum'/><title type='text'>Lync PowerShell Support forum on PowerShell.Com</title><content type='html'>&lt;p&gt;For those of you who are using PowerShell with Microsoft’s Lync Server, there’s a additional place to ask questions – and get answers. Namely the &lt;a href="http://powershell.com/cs/forums/204.aspx"&gt;Lync PowerShell forum on PowerShell.com&lt;/a&gt;. It is one of the two forums I moderate on PowerShell.com and I am ably assisted by superstar Lync MVP Marshal Harrison. &lt;/p&gt;  &lt;p&gt;The Lync PowerShell forum is a place both to hang out and to ask (and answer) questions. Some for those of you learning PowerShell along with Lync, hope to see you there.&lt;/p&gt;  &lt;p&gt;And for those of you with Twitter accounts, why not Tweet about this forum!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bdac67d6-0310-4bc9-b161-ae1b4050b1c6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+PowerShell+Forum" rel="tag"&gt;Lync PowerShell Forum&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell.com" rel="tag"&gt;PowerShell.com&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2928619708631569311?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2928619708631569311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2928619708631569311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2928619708631569311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2928619708631569311'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/lync-powershell-support-forum-on.html' title='Lync PowerShell Support forum on PowerShell.Com'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4170407704831583274</id><published>2011-09-10T10:39:00.001+01:00</published><updated>2011-09-10T10:39:50.806+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Resource Kit'/><title type='text'>Lync 2010 Resource Kit is Released</title><content type='html'>&lt;p&gt;The Lync Server 2010 Resource Kit is a technical reference to Lyn Server and extends the planning, deploying and managing documentation in Microsoft’s Lync Technical Library. &lt;/p&gt;  &lt;p&gt;After a number of months in preparation, the Lync Server 2010 Resource Kit has been published – and you can download it for free from Microsoft. The book has 18 chapters and &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=22644"&gt;you can download each one from the Microsoft Download Center&lt;/a&gt;.&amp;#160; And from the same page, you can also get a single zip file with all the documents. &lt;/p&gt;  &lt;p&gt;If you are interested in Lync, then these documents are a must read.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33c553b1-af6d-4710-8d5d-ba23a667024e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Resource+Kit" rel="tag"&gt;Resource Kit&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4170407704831583274?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4170407704831583274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4170407704831583274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4170407704831583274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4170407704831583274'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/lync-2010-resource-kit-is-released.html' title='Lync 2010 Resource Kit is Released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3091237053055722623</id><published>2011-09-09T19:38:00.001+01:00</published><updated>2011-09-09T19:38:32.952+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><title type='text'>Just when you think it’s safe to move to the cloud</title><content type='html'>&lt;p&gt;I currently use those very nice people at &lt;a href="http://www.cobweb.com"&gt;CobWeb&lt;/a&gt; for my email service. I have a singe user account, utilising Exchange 2007 (2gb mailbox) which costs a mere £6.00 a month.&amp;#160; The service from CobWeb, for mail, has been outstanding – not a single noticeable glitch in over a year. It took a couple of days to get mail flowing when I first signed up, due to long DNS, but that was quickly resolved. Since then, it’s been flawless. And that’s the level of service that I guess I expect. Not being able to get to my mail is, as someone who is self employed, simply bad news!&lt;/p&gt;  &lt;p&gt;I’ve been playing with Office 365 and am very impressed with the overall service – for not much more money than I currently pay, I could move up to a 25gb mailbox (not that I actually need such a large mailbox, but it’s the principle!), and get SharePoint and Lync thrown in. It’s Lync that is especially interesting – the new Lync client is so good, that I’m tempted to move just for that!&lt;/p&gt;  &lt;p&gt;Then I read this: &lt;a title="http://www.bbc.co.uk/news/technology-14851455" href="http://www.bbc.co.uk/news/technology-14851455"&gt;http://www.bbc.co.uk/news/technology-14851455&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;While this explains the downtime, I suppose you could argue that a couple of hours downtime is no big deal especially as it took place overnight. But look at the Office 365 service’s reliability record since GA at the &lt;em&gt;very &lt;/em&gt;end of June – it was down briefly in August, then again this week. In just over 2 months of live service, two outages in 2 months.&amp;#160; &lt;/p&gt;  &lt;p&gt;Of course, Microsoft is not alone in having challenges. Google had an outage this week as well. And in April, Amazon’s infrastructure failed taking down a number of sites, including Foursquare. &lt;/p&gt;  &lt;p&gt;So is this latest outage just a bit of teething/growing pains on the part of Office 365 or something else? I remember the trials and tribulations Demon had in the very early days – scaling massively a service that’s growing massively is very hard work! So, I suspect it’s a combination of factors. Certainly, developing and delivering scalable and highly reliable solutions, especially to Internet scale, is just plain difficult. Things that probably shouldn’t go wrong do – at least until there’s enough experience to make those problems a thing of the past. So I feel that at least a goodly portion of the ‘blame’ must lie in growing pains – which one would expect (hope) die off.&amp;#160; Certainly taking the latest and greatest versions of the software has risks. Cobweb is still running Exchange 2007 while O365 is using Office 2010 and related servers. But the features are so much better, I hear you say! &lt;/p&gt;  &lt;p&gt;In my view, Microsoft released Office 365 a tad early. The outages, the problems with federation with Live, and of course the still missing PowerShell cmdlets for Lync Online and SharePoint online do not make for a perfect story. And I’d really have liked to see a full voice solution in terms of Lync online (but I know that such a feature is likely to reveal a number of challenges both technical and legal). The&amp;#160; outages (yesterday’s and the one in August) and lack of tools would have been noteworthy but not complaint worthy had the service still been in beta.&amp;#160; Maybe Microsoft should have considered a longer beta? I certainly think another 6 months would have been appropriate and might have enabled Microsoft to get better at running this vast service.&lt;/p&gt;  &lt;p&gt;So what’s to be done. Certainly, as the BBC article points out, &lt;em&gt;“the number of high profile failures have dented confidence in cloud computing&lt;/em&gt;”. But I do believe that eventually, MIcrosoft and the rest of the cloud vendors will get it right and we will see cloud computing as an everyday thing. I suppose it pays to be cautious. I’ve put on hold my plans to move my business email to Office 365, but I’m watching things carefully.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:10b1f029-6fae-480d-a791-331553158688" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+365" rel="tag"&gt;Office 365&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3091237053055722623?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3091237053055722623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3091237053055722623' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3091237053055722623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3091237053055722623'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/just-when-you-think-its-safe-to-move-to.html' title='Just when you think it’s safe to move to the cloud'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7485358589025817730</id><published>2011-09-08T12:22:00.001+01:00</published><updated>2011-09-08T12:26:59.581+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BUILD'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 8'/><category scheme='http://www.blogger.com/atom/ns#' term='Hyper-V'/><title type='text'>Hyper-V in Windows 8</title><content type='html'>&lt;p&gt;Microsoft have announced some more details of Hyper-V in Windows 8 in the Building Windows 8 blog: &lt;a title="http://blogs.msdn.com/b/b8/archive/2011/09/07/bringing-hyper-v-to-windows-8.aspx" href="http://blogs.msdn.com/b/b8/archive/2011/09/07/bringing-hyper-v-to-windows-8.aspx"&gt;http://blogs.msdn.com/b/b8/archive/2011/09/07/bringing-hyper-v-to-windows-8.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There are two really exciting things about this. First, Hyper-V is included in the Windows 8 client – I don’t have to have Server loaded to run it. That is going to be huge news to those folks using the client as their workstation/laptop/desktop. We can get rid of the rather poor VPC 7 product (and of course stop using Oracle/VMware). &lt;/p&gt;  &lt;p&gt;The second really cool thing is that Hyper-V will support wireless adapters. This is a huge benefit for those of us on the road using Wireless everywhere. I have&amp;#160; new laptop with an 802.11N wireless adapter that I will now be able to use. I can’t wait to upgrade my laptop to Win8!!&lt;/p&gt;  &lt;p&gt;These are both welcome additions – I can’t wait to get my hands on the beta next week at BUILD!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a45b9f79-3e8c-467c-99e9-6c5ae8a27490" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Hyper-V" rel="tag"&gt;Hyper-V&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+8" rel="tag"&gt;Windows 8&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BUILD" rel="tag"&gt;BUILD&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7485358589025817730?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7485358589025817730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7485358589025817730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7485358589025817730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7485358589025817730'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/hyper-v-in-windows-8.html' title='Hyper-V in Windows 8'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6446429291945325881</id><published>2011-09-08T11:00:00.001+01:00</published><updated>2011-09-08T11:01:07.678+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Office 365–A nice E-Book and an update on PowerShell Support in Office 365</title><content type='html'>&lt;p&gt;Microsoft released Office 365 to General Availability at the end of June 2011. It’s been a couple of months since that happened and I’ve just noticed two things.&lt;/p&gt;  &lt;p&gt;First my good friend Katherine Murray has released a free eBook from Microsoft Press. You can &lt;a href="http://blogs.msdn.com/b/microsoft_press/archive/2011/08/17/free-ebook-microsoft-office-365-connect-and-collaborate-virtually-anywhere-anytime.aspx"&gt;find details of the book here&lt;/a&gt;. And to &lt;a href="http://download.microsoft.com/download/1/2/F/12F1FF78-73E1-4714-9A08-6A76FA3DA769/656949ebook.pdf"&gt;download the book, just click here&lt;/a&gt;. The book is 299 pages long and covers the full set of features contained in the shipping version of Office 365. One small omission, IMHO, is that there is no coverage of PowerShell for administering Office 365. Having said that, MS Press have indicated that updates to the book “will become available in the future” – so perhaps we’ll see more PowerShell Coverage soon. Having said that, the book looks complete and I am keen to work though the contents learning a bit more about, in particular, SharePoint! Good job Kathleen.&lt;/p&gt;  &lt;p&gt;Following on from that, the announcement of the book encouraged me to look again at the use of PowerShell in Office 365. Frankly, I’m somewhat disappointed – the situation hasn’t really changed since I &lt;a href="http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html"&gt;wrote about it in April&lt;/a&gt;. At present there is support for a set of general Office 365 cmdlets, which my good friend Jan Engil Ring has &lt;a href="http://blog.powershell.no/2011/05/09/administering-microsoft-office-365-using-windows-powershell/"&gt;described in his blog here&lt;/a&gt;. As you can see from that blog post, you can download the Microsoft Online Services module from Microsoft as either 32-bit or 64-bit. There is also support for Exchange online – the code I used my April blog post still works just fine – and gives you 229 cmdlets to manage Exchange online. &lt;/p&gt;  &lt;p&gt;Sadly, there is no PowerShell support for either SharePoint Online or Lync Online. IMHO, this is just another indication that Office 365 shipped before it' was really ready. Hopefully we’ll see these cmdlets emerge soon – but there is nothing official other than they ‘will come later’. &lt;/p&gt;  &lt;p&gt;In summary, Office 365 is maturing, with some good documentation and some limited PowerShell support. With a bit of luck, the additional PowerShell cmdlets and support will come sooner rather than later – I’ll be sure to blog when I find it!!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f2c4131-3a6e-435e-8d4c-840ea6cc46d0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+365" rel="tag"&gt;Office 365&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6446429291945325881?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6446429291945325881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6446429291945325881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6446429291945325881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6446429291945325881'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/office-365a-nice-e-book-and-update-on.html' title='Office 365–A nice E-Book and an update on PowerShell Support in Office 365'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2221091822962549865</id><published>2011-09-06T11:32:00.001+01:00</published><updated>2011-09-06T11:32:01.369+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BUILD'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 8'/><title type='text'>Build Conference Getting Closer</title><content type='html'>&lt;p&gt;The build up (forgive the pun) to the Build conference is slow but relentless. For those not in the know, Build is Microsoft’s upcoming developers conference around Windows 8, the next version of Microsoft’s Desktop (and Server) operating system. Although due out till 2012, until recently details of what’s coming have been scarce.&lt;/p&gt;  &lt;p&gt;As I’ve blogged previously, Microsoft is slowly releasing details of what will make it into Windows 8, albeit in a verbose and rather opaque fashion (not dissimilar to how they handled Windows 7). The Build conference is intended to be where Microsoft open the Kimono, but if the current agenda (&lt;a title="http://www.buildwindows.com/Agenda" href="http://www.buildwindows.com/Agenda"&gt;http://www.buildwindows.com/Agenda&lt;/a&gt;) is anything to go by, details in Anaheim will be thin. We’ll have to see, although having taken millions in conference fees, it’s rather sad that Microsoft can’t be a little more open about who’s speaking, when, and about what. &lt;/p&gt;  &lt;p&gt;Microsoft has also been blogging about the contents of Windows 8 at &lt;a title="http://blogs.msdn.com/b/b8/" href="http://blogs.msdn.com/b/b8/"&gt;http://blogs.msdn.com/b/b8/&lt;/a&gt;. There’s a very low signal to word ratio – lots of words, but not a lot of meat yet. The blog claims to be a dialogue, but so far, it’s been a monolog. Each blog post has generated a LOT of comments (the Improvements in Windows Explorer article, for example, has generated 1175 comments thus far!). But the number of responses is low – which I suppose is to be expected given all the comments. Also, given the blog engine being used, it’s really hard to see any thread/conversation. The comments are all sequential. I also note that some comments are being deleted – I’ve posted two comments that have somehow vanished.&lt;/p&gt;  &lt;p&gt;Build should be a good event – for me at least it’ll be a chance to socialise with a bunch of friends. And given how cold and wet England is this year, a little south California sunshine is most welcome! &lt;/p&gt;  &lt;p&gt;See you at Build!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2221091822962549865?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2221091822962549865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2221091822962549865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2221091822962549865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2221091822962549865'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/09/build-conference-getting-closer.html' title='Build Conference Getting Closer'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3966752627155223348</id><published>2011-08-22T14:26:00.003+01:00</published><updated>2012-01-23T14:28:09.529Z</updated><title type='text'>PowerShell PowerCamp–November 5/6–Bookings Now Open</title><content type='html'>&lt;div style="text-align: left" dir="ltr" trbidi="on"&gt;&lt;b&gt;What is it?&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;&lt;/b&gt;    &lt;br /&gt;This fast paced weekend event covers all the key aspects of Windows PowerShell - from the command line and writing production-oriented scripts. We start with the basics including installation and configuration, formatting and providers and remoting. We then look at scripting, managing script libraries using modules, using objects, and finishing with the PowerShell features added into Windows. We finish with a look at PowerShell in the cloud and what’s coming with PowerShell 3.     &lt;br /&gt;The event will be all lecture, with the opportunity to type along with the tutor.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What is the Agenda?&lt;/b&gt;    &lt;br /&gt;&lt;u&gt;&lt;i&gt;Day 1 – The Basics &lt;/i&gt;      &lt;br /&gt;&lt;/u&gt;• PowerShell Fundamentals – starting with the key elements of PowerShell (Cmdlets, Objects and the Pipeline) plus installation, setup, and profiles     &lt;br /&gt;• Discovery – finding your way and learning how to discover more     &lt;br /&gt;• Formatting – how to format output nicely – both by default and using hash tables and display XML     &lt;br /&gt;• Remoting – working with remote systems using PowerShell’s remoting capabilities    &lt;br /&gt;• Providers – getting into OS data stores via PSProviders    &lt;br /&gt;&lt;u&gt;&lt;i&gt;Day 2 – Diving Deeper&lt;/i&gt;      &lt;br /&gt;&lt;/u&gt;• Scripting Concepts – automating everyday tasks including PowerShell’s language constructs, error handling and debugging (both from the command line and using an IDE)     &lt;br /&gt;• Modules – managing PowerShell script libraries in the enterprise     &lt;br /&gt;• .NET/WMI/COM Objects – working with native objects    &lt;br /&gt;• PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets     &lt;br /&gt;• PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010     &lt;br /&gt;• PowerShell and the cloud – this module looks at PowerShell in the cloud and how you can use PowerShell to manage cloud computing.    &lt;br /&gt;• PowerShell 3 – this final module will show you what’s new in PowerShell V3, based on the the latest Beta of Windows 8.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What will it cost?&lt;/b&gt;    &lt;br /&gt;The cost is £200 (+VAT at the prevailing rate) for the weekend. Meals and accommodation are &lt;b&gt;&lt;i&gt;not&lt;/i&gt;&lt;/b&gt; covered.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;Where is the event going to take place?&lt;/b&gt;    &lt;br /&gt;The PowerShell PowerCamp will be held at Microsoft Cardinal Place, 100 Victoria Street in Victoria on the weekend of November 5/6 2011.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;Who is the tutor?&lt;/b&gt;    &lt;br /&gt;The PowerShell Weekend PowerCamp will be delivered by Thomas Lee. Thomas is a veteran PowerShell MVP who has been involved in the PowerShell community since the very beginning. He provides training and consultancy around a range of Microsoft products, with a recent focus on PowerShell and Lync Server. Thomas runs PowerShell training courses around the world, and has been a speaker at conferences across the world for the past decade. In his spare time, he lives with his wife, daughter, and wine cellar in a small cottage in the UK. His Twitter handle is DoctorDNS and he maintains two blogs (Under the Stairs at &lt;a href="http://tfl09.blogspot.com/"&gt;http://tfl09.blogspot.com&lt;/a&gt; and PowerShell Scripts Blog at &lt;a href="http://pshscripts.blogspot.com/"&gt;http://pshscripts.blogspot.com&lt;/a&gt;)    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;What do I need to bring&lt;/b&gt;    &lt;br /&gt;You need to bring a laptop with at least two VMs pre-configured. The first should be a Server 2008 R2 domain controller and the other one a member server. And if you have access to the Windows 8 beta, bring along a Win8 VM for the look at PowerShell V3. The virtualisation software is not of concern – but you need 64-bit guest OS support. Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box.     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;How do I book?&lt;/b&gt;    &lt;br /&gt;Contact &lt;a href="mailto:DoctorDNS@Gmail.com"&gt;DoctorDNS@Gmail.com&lt;/a&gt; to book a place and to arrange for the invoice to be paid. Payment will need to be cash, cheque or bank transfer – I don’t take credit cards.    &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;More Details&lt;/b&gt;    &lt;br /&gt;Watch Thomas’s blog for any hot breaking news on the event.&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3966752627155223348?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3966752627155223348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3966752627155223348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3966752627155223348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3966752627155223348'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/08/powershell-powercampnovember-46bookings.html' title='PowerShell PowerCamp–November 5/6–Bookings Now Open'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1845089086246483743</id><published>2011-08-19T14:19:00.001+01:00</published><updated>2011-08-19T15:35:45.164+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BUILD'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 8'/><title type='text'>If they BUILD it, will they come?</title><content type='html'>&lt;p&gt;That question comes from &lt;a href="http://www.imdb.com/title/tt0097351/"&gt;Field of Dreams, a movie in which Kevin Costner builds a US baseball and attracts &lt;/a&gt;the Black Socks. In my experience, though, the answer to the question is usually only true in movies – in real life, just building something is often not enough – it often takes a lot of effort and costs a lot to attract your audience. But not always – as Microsoft’s demonstrated with their BUILD conference being held in Anaheim in September.&amp;#160; I wrote about this conference last week in &lt;a href="http://www.pacitnews.org/2011/08/12/if-they-build-it-will-you-come/"&gt;an article in Pacific IT News&lt;/a&gt; where I’m writing a series of articles about BUILD.&lt;/p&gt;  &lt;p&gt;In this case, the answer is a resounding YES. BUILD is sold out, despite the economy and the utter lack of details about the conference. This is quite surprising and perhaps positive in terms of developers. It’s all part of Microsoft’s marketing approach for Windows 8. &lt;/p&gt;  &lt;p&gt;The BUILD conference is taking place in Anaheim California on 13-16 September. You can see what details exist about the show at: &lt;a href="http://www.buildwindows.com/"&gt;http://www.buildwindows.com/&lt;/a&gt;. BUILD will be the first time most developers and many hardware developers will get a chance to see and hear about Windows 8. &lt;/p&gt;  &lt;p&gt;In earlier versions of Windows, Microsoft had a long beta programme and took input from beta testers. I recall fondly the NNT 5.0 beta period of several years. And for those with longer memories, the Win95 beta programme featured near-weekly releases to test. &lt;/p&gt;  &lt;p&gt;With Windows 8, all that openness is a thing of the past – just like Windows 7, we have the ‘cone of silence.’ MS staff are under significant pressure to reveal nothing – as recently as February key staff were even forbidden to say the words ‘Windows 8′ or to even hint at what might or might not be included. And leaked builds were not as common place as during the XP or Vista days, although in preparing for this article it took me around 3 hours to find and download what appears to be a legitimate leaked build. In earlier generations of Windows, beta testers were more involved and the beta test process longer. With Windows 7 and now Windows 8, that’s a thing of the past. It appears likely we’ll have just one real beta release sometime soonish, with the probability of a single RC nearer to RTM. &lt;/p&gt;  &lt;p&gt;So why do IT Pros care about BUILD in the first place. IT Pros should care because BUILD is where MS will let you see what will be coming in Windows 8. Unlike earlier versions of Windows, what you see released of BUILD will pretty much be what we all get as Windows 8 when that is finally released. So if you or your organisation is running earlier versions of Windows, particularly Windows 2000 and XP, Windows 8 is most likely your future. On current timescales, Win 8 will almost certainly be released before XP mainstream support ends. Given the ascendency of Google with Android and Apple with iPad and iPhone, Windows 8 may be Microsoft’s most important version of Windows to date. It could become a game changer. Ballmer is right to be nervous about Windows 8.&lt;/p&gt;  &lt;p&gt;What’s IN Windows 8? That is a great question – and one I really can’t answer. Anyone who does know what is in Windows 8 will&amp;#160; be under a pretty draconian NDA – and I would bet MS will be pretty fierce on those who break the NDA. Speaking personally, I do not want to have MS’s lawyers on my case! Personally, I think this approach is poor, but it’s the way MS has chosen to go. We do know a little about Win 8, but BUILD is where we’ll see some semblance of the final product. Of course, given the development approach being taken, what we see at BUILD will pretty much BE what Windows 8 will be – it’s too late in the cycle to do much other than cosmetic stuff. Sadly, gone are the days when beta testers mattered to the Windows development team.&lt;/p&gt;  &lt;p&gt;As part of a very carefully crafted disclosure approach, we know that the UI will be, at least partly, based on the Windows Phone tile UI as disclosed by Julie Larson Greene (&lt;a title="http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx" href="http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx"&gt;http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx&lt;/a&gt;). You’ve no doubt have seen the demos by now. &lt;/p&gt;  &lt;p&gt;We also know MS are planing to deliver one version of Windows 8 across phone, tablet, desktop and server. That approach has caused some raised eyebrows and seems to generate more questions than answers. Quite how MS will get the bloat that is Windows to fit into a phone and tablet without poor battery life is an interesting question. We also know that at the Partner Conference, MS announced windows 8 would include some improvements in Hyper-V. But beyond that details are sketchy. From the looks of it, Hyper-V may be part of Windows 8 clients as well as for the server. &lt;/p&gt;  &lt;p&gt;While industry reaction is understated so far, some critics are positive on the potential benefits, but well, critical on other points. Jon Honeyball, for example, raises some interesting questions in a recent blog article &lt;a href="http://www.pcpro.co.uk/featu res/367813/windows-8-could-i t-be-more-than-lipstick-on-a -pig"&gt;http://www.pcpro.co.uk/featu res/367813/windows-8-could-i t-be-more-than-lipstick-on-a –pig&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I imagine, as a PowerShell MVP, that we’ll see a new version of PowerShell – but what that consists of is still highly secret. We’ll also probably see improvements in Windows Server for the cloud -&amp;#160; but details thus far are pretty minimal. There have been a few leaked builds – but a lot less than in previous years. I’m pretty certain that torrent sites will quickly have any builds handed out at BUILD – and I’d hope that MSDN subscribers will also be able to download those builds at the same time.&lt;/p&gt;  &lt;p&gt;One more positive thing, the Windows Team have begun their official Win 8 engineering blog, also known as the Building Windows 8 blog. The first article, &lt;a title="http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx" href="http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx"&gt;http://blogs.msdn.com/b/b8/archive/2011/08/15/welcome-to-building-windows-8.aspx&lt;/a&gt; written by Steve Sinofsky, sets out the aims of the blog. In this 1200+ word article, no real details are given, but some promises are made. In particular: “&lt;em&gt;We'll participate in a constructive dialog with you. We'll also make mistakes and admit it when we do.&lt;/em&gt;” It remains to be seen how much of a true dialogue this will be – I am not expecting much more than the blog being a useful monologue on what MS has chosen to do in Windows 8 and their justification of it. I doubt any mistakes will be ‘found’ or ‘admitted’. We’ll see.&lt;/p&gt;  &lt;p&gt;BUILD is just a few weeks away and I’ve got flights and hotel booked. If you’ll be there, please add a comment to this article and let’s meet up – I’d love to hear your views.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:93a3a347-1dbd-4a9e-8100-f856819ad2f7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+8" rel="tag"&gt;Windows 8&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BUILD" rel="tag"&gt;BUILD&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1845089086246483743?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1845089086246483743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1845089086246483743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1845089086246483743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1845089086246483743'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/08/if-they-build-it-will-they-come.html' title='If they BUILD it, will they come?'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1918352314008202799</id><published>2011-08-18T18:10:00.001+01:00</published><updated>2011-08-18T18:10:44.673+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='podcast'/><title type='text'>PowerShell Cmdlet of the Day Podcast</title><content type='html'>&lt;p&gt;I see Tome Tanasovski, PowerShell MVP from New York, has started an interesting new podcast, the PowerShell Cmdlet of the Day Podcast. It’s inaugural&amp;#160; edition was yesterday and it looked at the Get-Input cmdlet from the ShowUI modle. It’s worth a listen to! And be sure to send in your comments!&lt;/p&gt;  &lt;p&gt;You can subscribe to the Podcast on Itunes, via the website: &lt;a title="http://cmdlet.wordpress.com/" href="http://cmdlet.wordpress.com/"&gt;http://cmdlet.wordpress.com/&lt;/a&gt;. You can also get the RSS from Feedburner at: &lt;a title="http://feeds.feedburner.com/cmdlet" href="http://feeds.feedburner.com/cmdlet"&gt;http://feeds.feedburner.com/cmdlet&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0407f363-43e5-43ab-8d0c-988d1205efa8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Cmdlet+of+the+Day+Podcast" rel="tag"&gt;Cmdlet of the Day Podcast&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cmdlet" rel="tag"&gt;Cmdlet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/education" rel="tag"&gt;education&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1918352314008202799?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1918352314008202799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1918352314008202799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1918352314008202799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1918352314008202799'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/08/powershell-cmdlet-of-day-podcast.html' title='PowerShell Cmdlet of the Day Podcast'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-9109029437429160792</id><published>2011-07-21T14:50:00.001+01:00</published><updated>2011-07-21T14:50:34.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell UK User Group'/><title type='text'>PowerShell User Groups</title><content type='html'>&lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:733c41e5-08c3-4c60-bb1f-e977df7ab540" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/user+group" rel="tag"&gt;user group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShellGroup.org" rel="tag"&gt;PowerShellGroup.org&lt;/a&gt;&lt;/div&gt; PowerShell is slowly becoming totally mainstream – and along with that there are user groups springing up around the world! Some of these groups, like the the UK PowerShell user group, have been around for many years and are going strong. Some are new and growing. But they all enable their members to learn more about PowerShell. &lt;/p&gt;  &lt;p&gt;Mark Schill has done some great work with PowerShellGroup.org, a site that promotes the PowerShell User Groups around the world. His latest endeavor is a Google Map of all the user groups – well the ones he knows about so far! You can see this at:&lt;a href="http://powershellgroup.org/map/node"&gt;http://powershellgroup.org/map/node&lt;/a&gt;. Pretty cool.&lt;/p&gt;  &lt;p&gt;So – if you are a member or a leader of a PowerShell user group or scripting club, make sure Mark knows about you and your group. Make sure you are on the site. And if you are interested in either starting a new group or seeing where there are groups, then head over to &lt;a href="http://powershellgroup.org"&gt;http://powershellgroup.org&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-9109029437429160792?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/9109029437429160792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=9109029437429160792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/9109029437429160792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/9109029437429160792'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/powershell-user-groups.html' title='PowerShell User Groups'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8789535057698467071</id><published>2011-07-20T15:19:00.000+01:00</published><updated>2011-07-21T15:19:15.652+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='group policy'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Remoting'/><title type='text'>Enabling PowerShell Remoting Using Group Policy</title><content type='html'>&lt;p&gt;As I work with clients to deploy and leverage PowerShell, several issues almost always come up and need to be solved. One of those relates to remoting. Remoting in PowerShell V2 is a fantastic feature but is not on by default. You can easily enable it by using the Enable-PSRemoding Cmdlet – but if you have a lot of systems in your environment, it can take a while to do this consistently. But as ever, there are ways around this.&lt;/p&gt;  &lt;p&gt;My good friend Jan Egil from Crayon in Norway, another super-star PowerShell MVP from a cool consulting company, has written a &lt;a href="http://blog.crayon.no/blogs/janegil/archive/2010/03/04/enable_2D00_and_2D00_configure_2D00_windows_2D00_powershell_2D00_remoting_2D00_using_2D00_group_2D00_policy.aspx"&gt;great blog article showing you how to &lt;strong&gt;Enable and configure PowerShell Remoting using Group Policy&lt;/strong&gt;&lt;/a&gt;. It’s a well written article that vies some great advice.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:87e5571f-aa66-42d8-bfa6-f14960f51f30" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+Remoting" rel="tag"&gt;PowerShell Remoting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Group+Policy" rel="tag"&gt;Group Policy&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8789535057698467071?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8789535057698467071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8789535057698467071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8789535057698467071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8789535057698467071'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/enabling-powershell-remoting-using.html' title='Enabling PowerShell Remoting Using Group Policy'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7303189146314748192</id><published>2011-07-15T23:24:00.000+01:00</published><updated>2011-07-22T11:24:49.585+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerGui'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerGui 3 is Released</title><content type='html'>&lt;p&gt;Those very nice people over at Quest have released a new version of their wonderful PowerShell tool: PowerGui. You can see the detaisl of what’s new in this release by reading the release notes at: &lt;b&gt;&lt;a href="http://tinyurl.com/43ms33q"&gt;http://tinyurl.com/43ms33q&lt;/a&gt;. &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;PowerGUI 3 is a free download. There’s also a professional version you can get which includes some extra tools. The coolest part of PowerGui pro is the &lt;strong&gt;MobileShell. &lt;/strong&gt;This enables you to perform systems management using PowerShell from your mobile device or a web browser. The Pro version also enables you to create an .EXE file from your PowerShell script. The commercial version is $199.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:37e2bed2-b72d-4ba1-bc18-24bacd47929f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerGui+3" rel="tag"&gt;PowerGui 3&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerGui" rel="tag"&gt;PowerGui&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Quest" rel="tag"&gt;Quest&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7303189146314748192?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7303189146314748192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7303189146314748192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7303189146314748192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7303189146314748192'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/powergui-3-is-released.html' title='PowerGui 3 is Released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1260345586160073003</id><published>2011-07-14T13:42:00.001+01:00</published><updated>2011-07-14T13:42:09.599+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Resource Kit'/><title type='text'>Lync Databases</title><content type='html'>&lt;p&gt;If you are an IT Pro managing Lync, you know that Lync has a key dependency on SQL databases. For the most part, you don’t need to know the details of what databases Lync actually uses but at times that knowledge can be very useful, like during troubleshooting! As a Lync (and OCS) trainer, I know a fair bit about how Lync (and OCS before it) makes use of SQL, but there are details that, until now, I wasn’t totally clear on,&lt;/p&gt;  &lt;p&gt;Curtis Johnstone has written a great article on &lt;a href="http://blog.insidelync.com/2011/04/the-lync-server-databases/" target="_blank"&gt;The Lync Server Databases&lt;/a&gt; which covers the databases used and what they are used for plus some other relevant information about SQL server (and what&amp;#160; versions are needed). &lt;/p&gt;  &lt;p&gt;I recommend reading this article (and bookmarking it) to learn more about this topic.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba45719d-07fc-4f0f-b967-cf48319f7eee" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync+Server" rel="tag"&gt;Lync Server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/database" rel="tag"&gt;database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SQL" rel="tag"&gt;SQL&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1260345586160073003?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1260345586160073003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1260345586160073003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1260345586160073003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1260345586160073003'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/lync-databases.html' title='Lync Databases'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1490843778633707468</id><published>2011-07-05T12:00:00.000+01:00</published><updated>2011-07-22T12:01:48.111+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Power'/><category scheme='http://www.blogger.com/atom/ns#' term='Koder'/><title type='text'>Edit PowerShell Scripts from Your iPad</title><content type='html'>&lt;p&gt;I’ve just seen a pretty cool product for the iPad I don’t yet own (but lust after). It’s called Koder and is a US$5.99 app for iPad only. It’s a little bit like Notepad++ although a lot richer. I has syntax highlighting for a variety of languages – over 20 including PowerShell. &lt;/p&gt;  &lt;p&gt;You can read a review of the product here: &lt;a title="http://www.148apps.com/reviews/koder-review/" href="http://www.148apps.com/reviews/koder-review/"&gt;http://www.148apps.com/reviews/koder-review/&lt;/a&gt;, and can look at the manufacturer’s website here: &lt;a title="http://www.koderapp.com/" href="http://www.koderapp.com/"&gt;http://www.koderapp.com/&lt;/a&gt;. The product is available in Apple’s normal way – via their App Store.&lt;/p&gt;  &lt;p&gt;If I had an iPad, I would buy this application! Maybe after I finish paying for my new laptop!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3716fedd-bc3b-4d8d-83d0-320ad515d80a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/iPad" rel="tag"&gt;iPad&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1490843778633707468?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1490843778633707468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1490843778633707468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1490843778633707468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1490843778633707468'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/edit-powershell-scripts-from-your-ipad.html' title='Edit PowerShell Scripts from Your iPad'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-193679119680418402</id><published>2011-07-01T11:51:00.000+01:00</published><updated>2011-07-22T11:51:35.146+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Office 365 is released</title><content type='html'>&lt;p&gt;On June 28th, Microsoft released Office 365 – their office software as a service product. I previously blogged about the product in mid-April - &lt;a title="http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html" href="http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html"&gt;http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html&lt;/a&gt;. During the latter stages of the beta, Microsoft did continue to tweak the product but what they released is more or less what I blogged about in April.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.networkworld.com/news/2011/062811-microsoft-office-365.html?page=1"&gt;Network World has an article&lt;/a&gt; on the product which examines how Office 365 stacks up against Google’s Google Docs. It concludes that Office 365 “will likely attract a big audiencef, since a huge number of businesses already use Microsoft products already.&lt;/p&gt;  &lt;p&gt;Office 365 is sold on a range of price points – or plans. The cost ranged from US$6 to US$27 per month per user, depending on what services you contract for.&amp;#160; This compares with Google App’s price point of US$50/year.&lt;/p&gt;  &lt;p&gt;I like Office 365 and have enjoyed using it during the beta. I recently did a neat demo with it, talking from Luxembourg (at a client site) to two pals – one in Singapore the other in Thailand. All of us were on wireless LANs and the performance was darn good. &lt;/p&gt;  &lt;p&gt;The Network World article notes that MS did not address any of the limitations of Offfice 365, but that said – the product as it stands is not bad! I look forward to seeing a lot more hard evidence about the overall quality of the product as we start to roll it out.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f5b88f85-d173-4246-9ac0-737250219645" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Office+365" rel="tag"&gt;Office 365&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-193679119680418402?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/193679119680418402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=193679119680418402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/193679119680418402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/193679119680418402'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/07/office-365-is-released.html' title='Office 365 is released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3385814299871319547</id><published>2011-06-30T23:37:00.000+01:00</published><updated>2011-07-22T11:37:39.525+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FastTrack Scripting Host'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>How do you know when a product hits mainstream?</title><content type='html'>&lt;p&gt;I’ve long held the view that an product is ‘mainstream’ when other vendors release products and proclaim “Our product Y completely replaces product X”. Some times the vendor’s statement is accurate and sometimes it’s marketing puff. But no mater which way you view product Y, there’s some grudging recognition that product X is not bad.&lt;/p&gt;  &lt;p&gt;The product in question today is Fast Track Scripting Host. Don Jones recently re-reviewed &lt;a href="http://www.fasttrackscript.com/"&gt;FastTrack Scripting Host&lt;/a&gt; in an artile for Windows IT Pro &lt;a href="http://www.windowsitpro.com/blog/powershell-with-a-purpose-blog-36/scripting-languages/fasttrack-complete-replacement-for-powershell-137415"&gt;here&lt;/a&gt;. This article was a re-review of the product – he &lt;a href="http://www.windowsitpro.com/blog/powershell-with-a-purpose-blog-36/scripting-languages/fasttrack-complete-replacement-for-powershell-137415"&gt;previously reviewed the product last year&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Having had a quick look at it, I agree with Don that while there are certainly some advantages to this product, it may not truly be the answer to all an IT Pros’s prayers. But take a look at it – what do YOU think?&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a08f124d-e56c-4ec6-a715-23fb6ad39b40" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fast+Track+Scripting+Host" rel="tag"&gt;Fast Track Scripting Host&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3385814299871319547?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3385814299871319547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3385814299871319547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3385814299871319547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3385814299871319547'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/how-do-you-know-when-product-hits.html' title='How do you know when a product hits mainstream?'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4188007597491838835</id><published>2011-06-23T15:05:00.000+01:00</published><updated>2011-07-22T11:15:56.044+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Cisco'/><title type='text'>Managing Cisco UC with PowerShell</title><content type='html'>&lt;p&gt;In another endorsement of PowerShell, &lt;a href="http://www.networkworld.com/community/node/75485"&gt;Cisco has announced earlier this month a version of the Unified Computing System Manager PowerShell toolkit&lt;/a&gt;. While the tool kit is still in beta, it’s an interesting announcement on two fronts.&lt;/p&gt;  &lt;p&gt;First, if Cisco takes on PowerShell, that must say something about the cross-platform value in PowerShell as well as speaking to PowerShell’s potential to manage pretty much anything in your environment. That in itself is pretty cool news.&lt;/p&gt;  &lt;p&gt;But second,it shows how versatile PowerShell can be. It’s taken 8 some odd years to get where we are now, but where we are now is that PowerShell provides a great extensibility platform. The UCS toolkit is based on using Cisco’s UCSM XML API for the communication between the UCSM instance and your windows system. The UCSM toolkit is then delivered as a small module you can import into your PowerShell session and away you go.&lt;/p&gt;  &lt;p&gt;It’s cool to note that Cisco appears to have done their PowerShell support ‘right’. They’ve included help files, they are complying with the verb-noun naming, and the toolkit is built to work properly in the pipeline. Nice job Cisco! &lt;/p&gt;  &lt;p&gt;You can read more about the toolkit at &lt;a title="http://developer.cisco.com/web/unifiedcomputing/pshell-download" href="http://developer.cisco.com/web/unifiedcomputing/pshell-download"&gt;http://developer.cisco.com/web/unifiedcomputing/pshell-download&lt;/a&gt;. You can download the toolkit itself from &lt;a href="http://tinyurl.com/43ms33q"&gt;http://tinyurl.com/43ms33q&lt;/a&gt; although you need to have rights to login to Cisco’s site. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e469ddaa-44a3-4b9b-b7bf-782cb1ba6485" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Cisco" rel="tag"&gt;Cisco&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/toolkit" rel="tag"&gt;toolkit&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4188007597491838835?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4188007597491838835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4188007597491838835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4188007597491838835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4188007597491838835'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/managing-cisco-uc-with-powershell.html' title='Managing Cisco UC with PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6823519440094133279</id><published>2011-06-22T21:43:00.000+01:00</published><updated>2011-07-22T10:43:51.276+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Box'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualisation'/><title type='text'>Managing Virtual Box with PowerShell</title><content type='html'>&lt;p&gt;Like Jeff Hicks, I rely on virtualisation for my work, and I too use &lt;a href="http://www.virtualbox.org/"&gt;Oracle’s Virtual Box&lt;/a&gt;. As Jeff mentions &lt;a href="http://jdhitsolutions.com/blog/2011/06/managing-virtualbox-with-powershell/"&gt;in a recent blog article&lt;/a&gt;, it’s light weight, has a pretty low footprint and works. In the office and classroom, I often use Hyper-V, but I have Virtual Box on my Windows 7 laptop and use it for demos, for writing and for the occasional short PowerShell chalk/talk class.&lt;/p&gt;  &lt;p&gt;Now I discover that Virtual Box has a COM interface to enable management, and Jeff’s written a module to enable you to use it. You can &lt;a href="http://jdhitsolutions.com/blog/wp-content/uploads/2011/06/PSVirtualBox.zip"&gt;get this module from Jeff’s blog site.&lt;/a&gt; I’ve downloaded it and will be putting it onto my Win7 laptop very, very shortly!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:35ad8628-bbf4-4cf9-8fe9-1d38b7d13f24" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+7" rel="tag"&gt;Windows 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Virtual+Box" rel="tag"&gt;Virtual Box&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle" rel="tag"&gt;Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hyper-V" rel="tag"&gt;Hyper-V&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Jeff+Hicks" rel="tag"&gt;Jeff Hicks&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6823519440094133279?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6823519440094133279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6823519440094133279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6823519440094133279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6823519440094133279'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/managing-virtual-box-with-powershell.html' title='Managing Virtual Box with PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2577275096449218099</id><published>2011-06-21T17:14:00.001+01:00</published><updated>2011-06-21T17:14:05.733+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Bible'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>The Book’s Done–Time For Fresh Air!</title><content type='html'>&lt;p&gt;For the past 6 months or so, I’ve been engaged in writing a book, PowerShell Bible, for Wileys. I’m one of a team of authors – fellow writers include Karl Mitschke, Mark Schill, and Tome Tanasovski.&amp;nbsp; All known folks in the PowerShell community. The book should be out in the autumn and I’ll be sure to post more nearer the time!&lt;/p&gt; &lt;p&gt;Now that my writing is over – we ‘just’ have author and tech review to do! – I can turn my thoughts back to my two blogs and add a few more scripts and other entries. &lt;/p&gt; &lt;p&gt;It’s time to descend into the cellar and choose something good to drink tonight to celebrate!&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d789b64e-b30b-4898-b043-fee0b1de91bf" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+Bible" rel="tag"&gt;PowerShell Bible&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2577275096449218099?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2577275096449218099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2577275096449218099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2577275096449218099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2577275096449218099'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/books-donetime-for-fresh-air.html' title='The Book’s Done–Time For Fresh Air!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2187439992824476558</id><published>2011-06-17T17:18:00.000+01:00</published><updated>2011-07-21T17:20:47.296+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='event'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='Bruce Payette'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Asynchronous Event Handling in PowerShell</title><content type='html'>&lt;p&gt;Thanks to MOW for a pointer to A Hey Scripting Guy blog entry by super-star Bruce Payette. This article comes from part of his recently updated PowerShell In Action (2nd Edition). &lt;/p&gt;  &lt;p&gt;In windows, events tend to happen asynchronously – rather than synchronously. An event typically occurs in some other process or some other part of WIndows aside from the PowerShell console you are using to handle the event. This takes a different approach to writing PowerShell code as Bruce explains.&lt;/p&gt;  &lt;p&gt;This section of his book should convince you to buy the book (unless like me you already own it). Go and buy it. And to save 35% use Promotional Code &lt;strong&gt;payette22035&lt;/strong&gt; when you check out at &lt;a href="http://www.manning.com"&gt;www.manning.com&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cdbd65d9-8299-4f6f-bef6-cfbd160b6f09" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/event" rel="tag"&gt;event&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Bruce+Payette" rel="tag"&gt;Bruce Payette&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2187439992824476558?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2187439992824476558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2187439992824476558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2187439992824476558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2187439992824476558'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/asynchronous-event-handling-in.html' title='Asynchronous Event Handling in PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2530712999952826460</id><published>2011-06-03T15:25:00.000+01:00</published><updated>2011-07-21T15:25:55.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='spell check'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Spell Checking Strings in PowerShell scripts</title><content type='html'>&lt;p&gt;Let’s face it – spelling misteaks suck. Whether in a blog post or in a PowerShell script. &lt;a href="http://www.dougfinke.com/blog/index.php/2011/05/30/spell-checking-strings-in-your-powershell-scripts/"&gt;Doug Finke has written a nice article on this subject that shows&amp;#160; how to spell your strings in your scripts&lt;/a&gt;. He even includes a script to do it! You can Download the PowerShell script&amp;#160; &lt;a href="http://cid-5dec3b62d9308943.office.live.com/self.aspx/InvokeSpellCheck/InvokeSpellCheck.zip"&gt;HERE&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4697bb35-6fbe-4236-b582-81ad8af847a7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/script" rel="tag"&gt;script&lt;/a&gt;,&lt;a href="http://technorati.com/tags/spell+check" rel="tag"&gt;spell check&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2530712999952826460?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2530712999952826460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2530712999952826460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2530712999952826460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2530712999952826460'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/06/spell-checking-strings-in-powershell.html' title='Spell Checking Strings in PowerShell scripts'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4666750967215607791</id><published>2011-05-25T12:10:00.001+01:00</published><updated>2011-05-25T12:10:19.534+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Resource Kit'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Resource Kit'/><title type='text'>Lync Resource Kit Server Administration Chapter Published by Microsoft</title><content type='html'>&lt;p&gt;I just got email that Microsoft has published another Lync Resource Kit chapter or your edification. &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8c64a1e1-f0b3-479c-a265-e480875c61d8&amp;amp;displaylang=en" target="_blank"&gt;This chapter, Server Administration, was written by Indranil Dutta and Jens Trier Rasmussen.&lt;/a&gt; I was, with others, one of the technical reviewers. You can either download just this chapter, or &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=46&amp;amp;SrcFamilyId=8C64A1E1-F0B3-479C-A265-E480875C61D8&amp;amp;SrcDisplayLang=en&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2f4%2fE%2f94ED1EF4-A2EF-4686-9841-B0390072D524%2fMicrosoft_Lync_Server_2010_Resource_Kit_Chapters.zip" target="_blank"&gt;download all 8 of the published chapter from here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;There are three key aspects to this chapter. First, the chapter covers Lync’s Central Management Store, including the data stored in the CMS, how replication of CMS occurs, and how to manage the CMS. The second section looks at the Lync Server Control Panel and how it works. The final section talks about Role Based Access Control and how to create custom RBAC scopes. &lt;/p&gt;  &lt;p&gt;IN looking at it, one thing kind of missing is&amp;#160; Management using PowerShell – perhaps an introduction to PowerShell’s object model inside Lync. RBAC is based on PowerShell, so using RBAC and creating custom roles is covered. With over 600 cmdlets, I would have preferred some more details in the Server Administration chapter. Call me fussy!&lt;/p&gt;  &lt;p&gt;The writing in the chapter is good, and it’s illustrated by some excellent diagrams. This chapter is 24 pages long – and well worth a read if you are architecting or implementing Lync Server.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f04187df-cd3f-47b6-89f7-d112edea35f1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Server+2010" rel="tag"&gt;Lync Server 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CMS" rel="tag"&gt;CMS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Resource+Kit" rel="tag"&gt;Resource Kit&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4666750967215607791?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4666750967215607791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4666750967215607791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4666750967215607791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4666750967215607791'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/05/lync-resource-kit-server-administration.html' title='Lync Resource Kit Server Administration Chapter Published by Microsoft'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1568868585257754409</id><published>2011-05-23T12:10:00.000+01:00</published><updated>2011-05-25T12:20:49.410+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd US'/><title type='text'>Reflections on TechEd 2011</title><content type='html'>&lt;p&gt;I’m back in the UK after a week of TechEd 2011 in Atlanta (USA). I’d been quite ill before TechEd so just getting there was some effort – but well worth it! I spent most of my time on the PowerShell product booth in the Expo hall. It was quite a privilege both to hang out with members of the product team and meeting customers who both were using PowerShell and those who were just getting into it. &lt;/p&gt;  &lt;p&gt;Overall, TechEd for me was pretty low key. There was virtually no sex appeal (and an amusingly failed demo during the keynote). But I suppose that that is not too surprising as we’re in that quiet interim between major OS and Office waves. The Wave 14 stuff (Win7+Office 2010 et al) have all shipped and are slowly being deployed (and was the focus of TechEd by and large). But there’s still an awful lot of XP out there now wondering if they should wait for Windows 8. Sadly, thanks to the ‘Cone of Silence’ being imposed within Microsoft, details of wave 15 are very thin on the ground. Heck, last week, some folks had to keep saying “Windows V-next” (i.e. couldn’t even say “Windows 8”). &lt;/p&gt;  &lt;p&gt;But much like super-injunctions, the word eventually will eventually get out – so at last we can talk about both there being a Windows 8 and it coming in 2012, which means we can begin formally to speculate on a PowerShell V3 (assuming there is going to be one, etc., etc.). &lt;/p&gt;  &lt;p&gt;It would have been nice to have had the Windows 8 announcement, as well as the news of 500 new features in the next edition of Windows Phone at TechEd, rather than a more obscure Japanese developer’s conference. There sure were a lot of big companies at TechEd getting very little forward information – and that was a huge disappointment for them and me. MS’s spin doctors need to remember who their friends are and open the kimono a bit.&amp;#160; &lt;/p&gt;  &lt;p&gt;From the PowerShell perspective, the types of questions being asked on the stand differ from the last couple of years. I guess it was to be expected, but I got a lot of really great, depth questions – how to actually do clever stuff with PowerShell. It showed that for many, PowerShell is now a given and they are starting to leverage it. I even got a really good bug reported during the week – and that’s kind of cool (although I still need to file it) as it shows that people are pushing the product. &lt;/p&gt;  &lt;p&gt;Having the chance to chat at some length with PowerShell team members is also very useful. First, it reinforces just how smart these guys are but second, it helps to communicate community concerns back to the folks best equipped to resolve them. That alone makes it worth coming to TechEd!&lt;/p&gt;  &lt;p&gt;There were still a large number of PowerShell newbies, and those who kind of understand what it’s all about, but are not comfortable using it (yet). The folks I talked too walked away really understanding more (even if what they found is a bug in PowerShell!) and I hope just a little more excited about the product. &lt;/p&gt;  &lt;p&gt;It was also great that the PowerShell team kindly gave me two minutes during a couple of breakout session talks to say a few words about PowerShell and it’s rich and diverse community. It was great to be able to evangelise the great folks out there who live and breathe this stuff – I just love sharing their passions and skills. &lt;/p&gt;  &lt;p&gt;As ever, the social and networking side of TechEd was awesome. It was a great chance to meet up with old friends, and make some new ones. The PowerShell geek dinner, always a highlight for me of TechEd, was especially good this year with a lot more fellow PowerShell-aholics! The MCT community was very much in evidence too – it was great to meet so many old-time MCTs and meet so many new ones. The MVP community, on the other hand, seemed muted – not sure there was even an MVP event this year! The Attendee party was cool – I really enjoyed seeing the Whale Sharks. The Atlanta aquarium is a pretty impressive place. Oh – and the food (well the food I ate) was good – excellent.&lt;/p&gt;  &lt;p&gt;All in all, it was a good week – I’m glad I went and am looking forward to next year!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:59ab2778-fe47-44f5-9f0a-bb3437784335" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TechEd+2011" rel="tag"&gt;TechEd 2011&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%23TEE2010" rel="tag"&gt;#TEE2010&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1568868585257754409?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1568868585257754409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1568868585257754409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1568868585257754409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1568868585257754409'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/05/reflections-on-teched-2011.html' title='Reflections on TechEd 2011'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4865325885298200191</id><published>2011-05-16T22:23:00.001+01:00</published><updated>2011-05-16T22:23:32.762+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><title type='text'>Lync Server 2010 Resource Kit</title><content type='html'>&lt;p&gt;One of the neat aspects of the Lync Server 2010 Resource is that it’s being published online, chapter by chapter as each chapter is finished. I suspect there will eventually be a physical book, in the meantime, Lync admins can get the deep technical and management info direct from the web.&lt;/p&gt;  &lt;p&gt;Today, the latest chapter, Troubleshooting Lync, was released. To get this and the other released chapters, navigate to &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8c64a1e1-f0b3-479c-a265-e480875c61d8&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8c64a1e1-f0b3-479c-a265-e480875c61d8&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8c64a1e1-f0b3-479c-a265-e480875c61d8&amp;amp;displaylang=en&lt;/a&gt; and download from there. You can download each of the 7 chapters published so one by one, or get a 12MB ZIP file with all the chapters.&lt;/p&gt;  &lt;p&gt;If you are using Lync, or considering it, these downloads are mandatory reading.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3dca0628-f996-463e-afe4-cb74be71708c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync+Server+2010" rel="tag"&gt;Lync Server 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+resource+kit" rel="tag"&gt;Lync resource kit&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4865325885298200191?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4865325885298200191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4865325885298200191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4865325885298200191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4865325885298200191'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/05/lync-server-2010-resource-kit.html' title='Lync Server 2010 Resource Kit'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-9106803576130402880</id><published>2011-04-17T17:36:00.000+01:00</published><updated>2011-04-17T17:36:00.117+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Microsoft’s CloudPro Twitter Hour</title><content type='html'>&lt;p&gt;As &lt;a href="http://tfl09.blogspot.com/2011/04/it-pro-cloud-hourfriday-15-april.html" target="_blank"&gt;I posted last week&lt;/a&gt;, on Friday, Microsoft has an hour long twitter conversation around the cloud. The basic idea was that Microsoft and a few MVPs (I was one) would hang out on Twitter, and answer questions around the cloud and the cloud technologies. The hour came and went – and it was an interesting experiment, which I hope Microsoft will continue with. I lost count of the number of tweets but it was around 150 for the hour. The questions came from a range of sources. I do have the source data (well everything I captured and want to make a CSV file from it – give me a bit of time to write the PowerShell scripts to do it .&lt;/p&gt;  &lt;p&gt;As I read through my notes, the following items were discussed:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;What is the cloud and what are the economics of the cloud and what’s there and not there. The answers were predictable – some definitions of what the cloud was (and the need for public cloud vs. private cloud). Lower cost was seen a key driver if not the key driver.&lt;/li&gt;    &lt;li&gt;Security in the cloud - both in general and with respect to US Patriot act. The architecture provides good provision against most risks and there is an SLA with financial penalties. And Simon May provided a great link to an article around hosted data and exposure to the Patriot act (see &lt;a title="http://bit.ly/fj5BbE" href="http://bit.ly/fj5BbE"&gt;http://bit.ly/fj5BbE&lt;/a&gt;). It goes some ways to addressing the concerns. &lt;/li&gt;    &lt;li&gt;Office 365 - now that it's in more public beta, there's more interest for sure. The questions looked at what features were there and a couple of things learned so far (e.g. no PowerShell cmdlets for SharePoint Online or Lync Online!).&lt;/li&gt;    &lt;li&gt;Training and the Future of the IT Pro. It’s clear, to me at least, that the IT Pro does not go away in this drive to the cloud. There continues to be work to be done to facilitate the cloud – IT Pros do not have to worry too much just yet. As for training, well this needs to evolve and training providers need to evolve too. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I understand from talking to the organisers that another event like this is being planned. What did you think? Comments please!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:076d07da-e6f5-4430-8874-7dee02a892c1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud" rel="tag"&gt;Cloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CloudPro" rel="tag"&gt;CloudPro&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%23CloudPro" rel="tag"&gt;#CloudPro&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Online" rel="tag"&gt;Lync Online&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Exchange+Online" rel="tag"&gt;Exchange Online&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharepointOnline+Office+365" rel="tag"&gt;SharepointOnline Office 365&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-9106803576130402880?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/9106803576130402880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=9106803576130402880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/9106803576130402880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/9106803576130402880'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/04/microsofts-cloudpro-twitter-hour.html' title='Microsoft’s CloudPro Twitter Hour'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7600844052072901050</id><published>2011-04-16T16:38:00.002+01:00</published><updated>2011-04-19T13:38:19.834+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Office 365'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Online'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Online'/><title type='text'>Getting Started with Office 365</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
It’s been an interesting week. After months of waiting, I managed to finally get myself onto the beta of Office 365. Office 365 is Microsoft’s latest software as a service offering, which is currently in beta. It consists of Office, Lync, Exchange and SharePoint. The latter three are hosted services where you use a client to access the hosted resources; Office can be consumed either locally (with cloud based document storage), of via the Office web apps (i.e. office in the browser).&lt;br /&gt;
It’s taken a few days to get myself up an running, but that’s mainly lack of time! While the setup and installation was simple, I’m still getting to grips with the basics and with working around some of the initial issues. The basic opinion so far is highly positive.&lt;br /&gt;
For me, the office component of Office offers little advantage to me – although the cost is highly attractive. I’ve always used Office (i.e. Word, Excel, PowerPoint) locally anyway – and have enough computing power to always run local clients. But I can see how attractive this might be for many small businesses (and not a few bigger ones too).&lt;br /&gt;
The basic signup process was simple – a few web pages and the Office 365 account was created, and I was able to logon to the main portal, which looks like this:&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_vSCVOcKqpUo/Tam3_IcHigI/AAAAAAAAAMU/vwhnWw8hLtE/s1600-h/SNAGHTML8d126a%5B4%5D.png"&gt;&lt;img alt="SNAGHTML8d126a" border="0" height="339" src="http://lh6.ggpht.com/_vSCVOcKqpUo/Tam3_7URIAI/AAAAAAAAAMY/cxSmUFcLWkI/SNAGHTML8d126a_thumb%5B1%5D.png?imgmax=800" style="background-image: none; border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="SNAGHTML8d126a" width="385" /&gt;&lt;/a&gt;&lt;br /&gt;
From this portal page, you can do all the tenant management actions along the panel on the left, and configure the services with the middle panel. Along the centre top and right hand side is simple help and access to help resources. All in all, a simple and clean interface into Office 365. Setting up the individual services was relatively straightforward, but if you are going to get value out of SharePoint, you have to know SharePoint a whole lot better than I do at present. &lt;br /&gt;
The Office 365 Exchange part – well it’s just a hosted Exchange server. The speed is good – it’s really very much what I’d have expected. It does have PowerShell Cmdlets. To get to these is very simple, as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;b&gt;&lt;span style="color: maroon; font-size: small;"&gt;#&lt;/span&gt;&lt;/b&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt; First Get credential for site         &lt;br /&gt;$cred = Get-Credential&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;a href="mailto:tfl@yourOffice365domain.onmicrosoft.com"&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;tfl@yourOffice365domain.onmicrosoft.com&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;# Next create a new PS Session         &lt;br /&gt;# Use a hash table to setup parameters to new-pssession          &lt;br /&gt;$Office365 = @{ ConfigurationName = "Microsoft.Exchange"          &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connectionuri&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "&lt;/b&gt;&lt;/span&gt;&lt;a href="https://ps.outlook.com/powershell%22"&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;Https://ps.outlook.com/powershell"&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;      &lt;br /&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Credential&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $cred         &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authentication&amp;nbsp;&amp;nbsp;&amp;nbsp; = "Basic"&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowRedirection&amp;nbsp; = $true}          &lt;/b&gt;&lt;/span&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;$s = New-PsSession @Office365         &lt;br /&gt;# Note: you will see the session being redirected to your site          &lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;       &lt;br /&gt;&lt;b&gt;&lt;span style="color: maroon; font-size: small;"&gt;# Next Import the remote session           &lt;br /&gt;$Results = Import-PsSession $s             &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;# And away you go. Here are some things to try:         &lt;/b&gt;&lt;/span&gt;&lt;span style="color: maroon; font-family: Courier New; font-size: small;"&gt;&lt;b&gt;#How many cmdlets returned?         &lt;br /&gt;$Results.ExportedFunctions.count&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: maroon;"&gt;&lt;span style="font-family: Courier New;"&gt;#What mailbox cmdlets do we have             &lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;gcm *.Mailbox&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: maroon;"&gt;&lt;span style="font-family: Courier New;"&gt;# Get mail boxes and statistics             &lt;br /&gt;Get-Mailbox              &lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;Get-Mailbox | Get-MailBoxStatistics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
It’s all quite straightforward although the remoting aspect of this means it breaks PowerShell’s Get-Help at least to some degree. The remote session to the server is very much limited (don’t enter the PSSession – even exit is disallowed!). You run all the cmdlets from the local PowerShell console. I’ve not seen PowerShell cmdlets for SharePoint or Lync yet, but I expect they will work in a very similar manner. One further thing you appear NOT able to do is run New-Mailbox to create mailboxes. At least, I’ve not managed to. The documentation does not specifically mention creation of mailboxes by PowerShell, but that may be an oversight or just documentation in production. I’ve got a test script that fails – which is a by product of the restricted session configuration object being used (Microsoft.Exchange). &lt;br /&gt;
SharePoint is not a product I know all that well yet. I can use it in a basic way, but I’ve got no real experience either managing or designing SharePoint sites. With Office 365 you get a single ‘vanity’ domain (i.e. Internet facing), as with BPOS, which is nice. I can see small businesses wanting to use this for their ‘shop front’. Ad of course, you get lots more available ‘inside’ your organisation. I definitely need to work more with this, but it looks like a good implementation. Shame their cmdlets are not be available yet. I would hope that Microsoft would ensure these are working before sending Office 365 to the masses, but we may not be that lucky.&lt;br /&gt;
Lync was a doddle to install – just download and run the client, login and away you go. In my case, it was marginally more complex to logon as my domain account is a pure local account, separate from the Office 365 account. But with a tad more typing, I was logged in. Enabling Federation was simple, but turns out there are two big gotchas that I came across.&lt;br /&gt;
1. First, “Public Internet Connectivity” &lt;i&gt;only&lt;/i&gt;&amp;nbsp; includes Microsoft’s Live Messenger (aka MSN messenger) – AOL and Yahoo are not enabled and so far as I can tell there is no XMPP gateway features either. So that means no XMPP federation with Google, etc. And the time it takes to get federated even to MSN is slow – It’s been two days now and I’m still waiting to&amp;nbsp; be able to access Live Messenger users. Fuller PIC federation would have been nice.&lt;br /&gt;
2. Second, Open Federation does not&amp;nbsp; work initially with existing Lync customers until they do additional work on their Edge architecture. While you can indeed open federate from your Office 365 account, and you can get it to work, if you try to federate with any partner that has on-premise Lync, it initially fails. They need to do some more configuration to enable a new hosting provider. My good pal Tom Arbuthnot pointed me to a great post from my other old buddy Russ Kaufmann that some how I’d missed. Basically, if you are running on-premise Lync, Office 365 appears as a hosting provider, and your account there does not appear to be just another open federated domain.&amp;nbsp; Russ argues that this is because Microsoft “&lt;i&gt;doesn’t seem to know how to implement their own product&lt;/i&gt;”. He might think that, but I couldn’t possibly comment. The good news is that Russ has a fix which is to run New-CSHostingProvider to add a new service entry for Lync Online. See &lt;a href="http://infrastructurehelp.wordpress.com/2011/03/15/office-365a-serious-flaw-with-lync/" title="http://infrastructurehelp.wordpress.com/2011/03/15/office-365a-serious-flaw-with-lync/"&gt;http://infrastructurehelp.wordpress.com/2011/03/15/office-365a-serious-flaw-with-lync/&lt;/a&gt; for the details and Russ’s views.&lt;br /&gt;
I would have hoped that this is just a ‘feature’ of the beta, and gets fixed for RTM. Russ is right that I, as a hosting tenant, should have my domain treated for open federation just like any other domain, and not hindered by virtue of being hosted at Microsoft. If I, as an Office 365 Lync On=Line user, want to federate with someone that has enabled open federation, I should be able to do that without more admin work on &lt;i&gt;their&lt;/i&gt; part.&amp;nbsp; &lt;br /&gt;
But now that we know that, I can just get all my contacts to open up their edge servers and we can move past it. As I said, I hope MS can fix this by RTM, as I tend to agree with Russ! But then I usually agree with Russ!&lt;br /&gt;
The other components of Lync Online, like conferencing and peer-peer audio seem find. Once Tom and I got his Edge server sorted out, we were able to IM, he’s in my contacts list and I can see presence. We tested peer-peer IM, audio and desktop sharing. It all worked as it’s supposed to. The audio quality, once I got my mike plugged in correctly, was excellent. We did not test video only due to lack of camera at my end. I will be testing this during the week.Sadly, like SharePoint Online, I can’t find any cmdlets yet for Lync Online. &lt;br /&gt;
All in all, Office 365 looks like compelling. The price plans (a subject for another blog post!) look very interesting. I am almost certainly going to move a secondary domain onto it and use it to learn more about the suite.&amp;nbsp; I’ll be writing more in the coming weeks, particularly with more details on the PowerShell cmdlets for Lync and SharePoint once I get hold of them.&lt;br /&gt;
And if you fancy trying things out, you can get me, at least for now, on Lync as:&lt;br /&gt;
tfl@cookham.onmicrosoft.com. Feel free to IM me and help me test this out!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3c624b46-59c5-44d4-9556-32d214eb9c84" style="display: inline; float: none; margin: 0px; padding: 0px;"&gt;
Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Office+365" rel="tag"&gt;Office 365&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Online" rel="tag"&gt;Lync Online&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Exchange+Online" rel="tag"&gt;Exchange Online&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint+Online." rel="tag"&gt;SharePoint Online.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7600844052072901050?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7600844052072901050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7600844052072901050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7600844052072901050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7600844052072901050'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html' title='Getting Started with Office 365'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_vSCVOcKqpUo/Tam3_7URIAI/AAAAAAAAAMY/cxSmUFcLWkI/s72-c/SNAGHTML8d126a_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7219309316331328477</id><published>2011-04-13T16:17:00.001+01:00</published><updated>2011-04-13T16:17:36.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>IT Pro Cloud Hour–Friday 15 April</title><content type='html'>&lt;p&gt;The cloud, and all it’s variations, is one of the more fundamental paradigm shifts of modern times, at least as far as IT id concerned – perhaps as fundamental as the arrival of the Internet itself. As a way of advancing IT Pro’s understanding of the cloud, Microsoft is running an interesting event this coming Friday, April 15 from 12:00 to 13:00 (local time): IT Pro Cloud Question hour. This hour will be conducted on line via Twitter.&lt;/p&gt;  &lt;p&gt;The way this is meant to work is pretty simple: to ask any Cloud related question, post your question to twitter and add the hash tag #cloudpro to your tween. Alternatively, you can text your question from you phone – text to 80809 or even send the question by mail to &lt;a href="mailto:ukitpro@microsoft.com"&gt;ukitpro@microsoft.com&lt;/a&gt;. During the hour, a team of Microsoft and MVPs will be watching the questions and tweeting answers. Watch for @AskTechNetUK where at least some of the answers are going to come from (I suspect these will be MS staff) – others like me will be posting under our own twitter IDs, but still using the #Cloudpro hash tag. &lt;/p&gt;  &lt;p&gt;For more information on this event and to learn more about the cloud, see: &lt;a title="http://technet.microsoft.com/en-gb/gg710912" href="http://technet.microsoft.com/en-gb/gg710912"&gt;http://technet.microsoft.com/en-gb/gg710912&lt;/a&gt;&lt;strong&gt;. &lt;/strong&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c56f42f2-3684-4248-940b-c4da34f1a77e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Cloud" rel="tag"&gt;Cloud&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%23CloudPro" rel="tag"&gt;#CloudPro&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7219309316331328477?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7219309316331328477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7219309316331328477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7219309316331328477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7219309316331328477'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/04/it-pro-cloud-hourfriday-15-april.html' title='IT Pro Cloud Hour–Friday 15 April'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4591688620111323111</id><published>2011-04-02T16:00:00.001+01:00</published><updated>2011-04-02T16:00:49.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Call for assistance–Powershell Notes From The Field (NFTF)</title><content type='html'>&lt;p&gt;I am currently hard at work writing a book on PowerShell to be published this autumn. I’m extremely fortunate to have three very talented and skilled co-authors Karl Mitchke, Mark Schill and Tome Tanasovski and a good editor in Marco Shaw. These names should be familiar to many on the PowerShell community – we are all MVPs, some of us have been around since the very beginning of the journey!).&amp;#160; I can’t say too much more about the book just yet, but watch this space for more details. It should prove to be a pretty good book!&lt;/p&gt;  &lt;p&gt;The final chapter of this book is Notes From The Field. This is my chapter, and what I want to is to showcase some of the great, interesting and fun things you’ve all done with PowerShell. The chapter is aimed at showing PowerShell’s incredible awesomeness. I’m look for anything, including gotchas, that you find noteworthy. What I’d like is something like 10-15 separate stories each 400-500 preferably with samples or examples I can either include (if they are not too long) or point to&amp;#160; a URL for a longer script which might be appropriate in some cases). &lt;/p&gt;  &lt;p&gt;To give you an idea, I’ve already written one NFTF example – which is my use of PowerShell to manage my collection of over 2000 Grateful Dead And Jerry Garcia live show recordings. Not everyone’s cup of tea, perhaps, but PowerShell has sure helped me to manage this vast collection – and I’ve written several simple one-liners to do specific things with the collection as well as longer scripts to do richer things. &lt;/p&gt;  &lt;p&gt;‘What does this pay’, I hear you ask. Well, given the state of book publishing, I can’t offer very much – a beverage of your choice (and more if you submit several suggestions!) the next time we meet. If the publisher is amenable, I can possibly even get you a copy of the final book (but I can’t guarantee how generous the publisher will be so this may not be possible – I’m not even sure how many copies I am getting!). &lt;/p&gt;  &lt;p&gt;I can certainly offer you any Grateful Dead or Jerry Garcia Band show of your choice from my collection – send me a memorable date in the time period 1965-1995 and if Jerry or the Boys played that day, I can send you the show in a format of your choice. Did you ever go a Dead/Jerry show and enjoy yourself - if so, I can provide a copy of it assuming I've got it!!I can certainly put your name in print and ensure I think you in the preface!! &lt;/p&gt;  &lt;p&gt;If you are interested, then I’ll need your piece by 1 May 2011, and preferably earlier. Once I get it, I’ll run it through the template, and doing some minor updates to ensure style consistency. Once I’ve completed an edit pass, I’ll send you back what I have for your approval. I’ve got to complete this by the beginning of June, so time is of the essence.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Please contact me at DoctorDns {at} Gmail {dot} com. I’d be most appreciative of a response!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4591688620111323111?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4591688620111323111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4591688620111323111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4591688620111323111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4591688620111323111'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/04/call-for-assistancepowershell-notes.html' title='Call for assistance–Powershell Notes From The Field (NFTF)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1959575046779593398</id><published>2011-03-20T19:22:00.001Z</published><updated>2011-03-21T15:07:22.763Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>London PowerCamp is Over – Roll on York</title><content type='html'>&lt;p&gt;The 2-day PowerShell Power camp is over. The room’s empty and I’ve left the house (and I am home!). A very long two days, but very productive, at least as far as I can tell! Twelve folks took the challenge to give a weekend and jump into the fast flowing fire hose - and made it all the way through. The PowerCamp was promoted via social media – unlike traditional training. The delegates all self-selected and learned about the event via Twitter, Facebook, etc. There were no corporate clients telling their employees to attend. And there was no vendor paying for the class. The delegates all had to give up a weekend – which is always a real challenge these days. So well done group for making it through the weekend!&lt;/p&gt;  &lt;p&gt;The objective was to cover as much of PowerShell as possible in 2 days. And we covered a lot!! We had a special guest today, super-star James O’Neill who did a fantastic job augmenting my solo performance discussing not only his most excellent PowerShell module for Hyper-V, but also sharing what he has learned about PowerShell as a result. In some areas we may not agree – the disagreements make great food for thought. Personally, I really enjoyed the session and I am pretty sure all the delegates did too. Those of you attending the PowerShell deep dive in Las Vegas will be delighted with James’s talk there!&lt;/p&gt;  &lt;p&gt;This style of training is not for everyone. There are people who learn better by lots of hands on – they need the structure of formal labs and time to play (which in turn requires powerful PCs, plus the setup time and effort necessary). But many experienced IT Pros can learn by listening and watching (and of course developers can to this too although this was not a developer focused event). They learn enough to move them on to the next level and gain the motivation them to do so. They also learn about the excellent PowerShell community and how to take advantage of it. The outstanding qualities of the PowerShell community never ceases to amaze me. &lt;/p&gt;  &lt;p&gt;Ultimately, mastering any subject takes practice and that practice has to be on the job. But in two days we covered enough for the delegates to know and see the potential of PowerShell, learn enough of the syntax to move beyond the minutiae of the PowerShell language, and most important, for them to get more excited about PowerShell. One delegate came with a problem he hoped to solve – he goes away (well hopefully!!) knowing the problem is solvable and broadly how to do it. Another spent all of last evening working through the things we covered, and I suspect will do the same tonight. &lt;/p&gt;  &lt;p&gt;This training also does not eat into the revenue of my training company clients. Folks that self select and pay a modest amount for 2 days of weekend training are highly unlikely to pay to come on a 5 day 'official’ training course. ALL the delegates this weekend had day jobs that probably precluded them taking that much time off. Neither were they going to pay the ‘official course’ price (and the expenses involved). And the income amounts were sufficiently small that most big training company sales folks would just not bother with pushing (their commission against the low rates I charged just doesn’t make sense). I sure get that.&lt;/p&gt;  &lt;p&gt;One cool thing, those very very nice people from Idera and Quest were kind enough to let me give away copies of their PowerShell software. The delegates really appreciated the very kind offer – so a dozen more PowerGui Pro and PowerShell plus users!!!&lt;/p&gt;  &lt;p&gt;But at the end of the day, we have a dozen folks who leave with a much greater enthusiasm for PowerShell, equipped to learn more on their own and excited about the potential for PowerShell in their jobs. What a result! It really makes all the work involved worth it.&lt;/p&gt;  &lt;p&gt;I’ve now got a couple of days off before heading up to York to do another PowerCamp. There’s still room, if you want to attend. So come along, bring your thoughts, problems, concerns along and I’ll do what I can to make you as excited as this weekend’s group was! York is very central to a lot of key Northern cities, and the transport to/from the event is pretty easy. We’re out to the east of York city at the wonderful University of York. I know it’s a lot to ask you to give up a weekend, but why not – you’ll certainly leave knowing a LOT more about PowerShell!!!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1959575046779593398?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1959575046779593398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1959575046779593398' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1959575046779593398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1959575046779593398'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/03/london-powercamp-is-overroll-on-york.html' title='London PowerCamp is Over – Roll on York'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2175108578317392879</id><published>2011-03-18T19:48:00.001Z</published><updated>2011-03-18T19:52:05.519Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>It Was The Night Before PowerCamp…</title><content type='html'>&lt;p&gt;&lt;em&gt;And all through the house,     &lt;br /&gt;&lt;/em&gt;&lt;em&gt;Not a creature was stirring,     &lt;br /&gt;&lt;/em&gt;&lt;em&gt;Not even my mouse.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Well – that’s enough corny poetry for tonight. Tomorrow, the 2-day &lt;a href="http://tfl09.blogspot.com/2011/02/london-weekend-powershell-powercamp.html" target="_blank"&gt;PowerShell PowerCamp hits London&lt;/a&gt;. We have a dozen folks booked up for two long days covering PowerShell V2.0 fundamentals (and as much more as I can cram into 2 days).&amp;#160; This two-day mega-jump-start event has gained more traction than I had hoped for. By design, I’ve only publicised it via social media – via Twitter, my blog, and a few other most welcome retweets, plus Microsoft kindly posted a couple of blog entries. I’m not sure I can boast that this is the first ever social media promoted course, or even the first social media promoted PowerShell course. But it is the first I’ve done, and it’s been exciting. For those of you coming – see you there. &lt;/p&gt;  &lt;p&gt;What’s more exciting is that we’re &lt;a href="http://tfl09.blogspot.com/2011/02/weekend-powershell-powercampyork-uk.html" target="_blank"&gt;taking this to York next week&lt;/a&gt; where we have both a great audience already, and room for more. If you’re serious about getting a jump start into PowerShell, come along. Let me know if you’d like to book a place!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2175108578317392879?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2175108578317392879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2175108578317392879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2175108578317392879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2175108578317392879'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/03/it-was-night-before-powercamp.html' title='It Was The Night Before PowerCamp…'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3422501028887339602</id><published>2011-02-24T11:40:00.001Z</published><updated>2011-02-24T11:40:35.771Z</updated><title type='text'>London Weekend PowerShell PowerCamp – March 19-20 2011</title><content type='html'>&lt;p&gt;&lt;b&gt;What is it?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This fast paced weekend event covers all the key aspects of Windows PowerShell - from the command line and writing production-oriented scripts. We start with the basics including installation and configuration, formatting and providers and remoting. We then look at scripting, managing script libraries using modules, using objects, and finishing with the PowerShell features added into Windows. The event will be all lecture, with the opportunity to type along with the tutor.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What is the Agenda?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Day 1 – The Basics &lt;/i&gt;&lt;/p&gt;  &lt;p&gt;• PowerShell Fundamentals – starting with the key elements of PowerShell (Cmdlets, Objects and the Pipeline) plus installation, setup, and profiles &lt;/p&gt;  &lt;p&gt;• Discovery – finding your way and learning how to discover more &lt;/p&gt;  &lt;p&gt;• Formatting – how to format output nicely – both by default and using hash tables and display XML &lt;/p&gt;  &lt;p&gt;• Remoting – working with remote systems using PowerShell’s remoting capabilities&lt;/p&gt;  &lt;p&gt;• Providers – getting into OS data stores via PSProviders&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Day 2 – Diving Deeper&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;• Scripting Concepts – automating everyday tasks including PowerShell’s language constructs, error handling and debugging (both from the command line and using an IDE) &lt;/p&gt;  &lt;p&gt;• Modules – managing PowerShell script libraries in the enterprise &lt;/p&gt;  &lt;p&gt;• .NET/WMI/COM Objects – working with native objects&lt;/p&gt;  &lt;p&gt;• PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets &lt;/p&gt;  &lt;p&gt;• PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010 &lt;/p&gt;  &lt;p&gt;&lt;b&gt;What will it cost?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The cost is £200 (+VAT at the prevailing rate) for the weekend. Meals and accommodation are not covered.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Where is the event going to take place?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The PowerShell PowerCamp will be held at Microsoft Cardinal Place, 100 Victoria Street in Victoria on the weekend of March 19-20, 2010.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Who is the tutor?&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;The PowerShell Weekend PowerCamp will be delivered by Thomas Lee. Thomas is a veteran PowerShell MVP who has been involved in the PowerShell community since the very beginning. He provides training and consultancy around a range of Microsoft products, with a recent focus on PowerShell and Lync Server. Thomas runs PowerShell training courses around the world, and has been a speaker at conferences across the world for the past decade. In his spare time, he lives with his wife, daughter, and wine cellar in a small cottage in the UK. His Twitter handle is DoctorDNS and he maintains two blogs (Under the Stairs at &lt;a href="http://tfl09.blogspot.com"&gt;http://tfl09.blogspot.com&lt;/a&gt; and PowerShell Scripts Blog at &lt;a href="http://pshscripts.blogspot.com"&gt;http://pshscripts.blogspot.com&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What do I need to bring&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;You need to bring a laptop with at least two VMs pre-configured. The first should be a Server 2008 R2 domain controller and the other one a member server. The virtualisation software is not of concern – but you need 64-bit guest OS support. Thus you can use Hyper-V, VMware Workstation or Oracle’s Virtual Box.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;How do I book?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Contact &lt;a href="mailto:DoctorDNS@Gmail.com"&gt;DoctorDNS@Gmail.com&lt;/a&gt; to book a place and to arrange for the invoice to be paid. Payment will need to be cash, cheque or bank transfer – I don’t take credit cards.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;More Details&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Watch Thomas’s blog for any hot breaking news on the event.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3422501028887339602?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3422501028887339602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3422501028887339602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3422501028887339602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3422501028887339602'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/london-weekend-powershell-powercamp.html' title='London Weekend PowerShell PowerCamp – March 19-20 2011'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-405602356700297862</id><published>2011-02-18T09:46:00.001Z</published><updated>2011-02-18T09:46:17.221Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='sapien'/><title type='text'>PowerShell on my iPhone</title><content type='html'>&lt;p&gt;I recently got a new iPhone 4 16GB, courtesy of American Express (a long story!) and have been slowly making the transition from my HTC Desire Android (a nice phone) to the iPhone. There are some observations I’ll leave for another day – but let’s just say that the iPhone is not perfect and the Desire/Android is worth competitor.&lt;/p&gt;  &lt;p&gt;One neat thing I have found in my search for applications for the new phone is &lt;a href="http://blog.sapien.com/index.php/2010/03/01/ipowershell-v-2-now-available-in-apple-app-store/" target="_blank"&gt;iPowerShell V2, built by Sapien&lt;/a&gt;. iPowerShell is neat reference tool for users of Microsoft’s PowerShell, for use on the iPhone or iPod Touch. It contains full descriptions of all the core PowerShell Version 2 cmdlets, their syntax, parameters and examples of proper usage. It also contains the complete set of “about item” help topics as well as provider and alias help.&lt;/p&gt;  &lt;p&gt;I’ve not yet found a way to extend it (i.e. to add or modify the contents, but I find it useful to dip into and out of. I particularly like browsing the about_* files using iPowerShell. &lt;/p&gt;  &lt;p&gt;Here’s a screen shot of the application:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/_vSCVOcKqpUo/TV4_5ifqlMI/AAAAAAAAAMM/f-riusRbvHQ/s1600-h/image%5B2%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_vSCVOcKqpUo/TV4_6I7L3aI/AAAAAAAAAMQ/OgUyZuopzPo/image_thumb.png?imgmax=800" width="164" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:88deffb9-1437-4729-9ee0-d04113df0e6b" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iPhone" rel="tag"&gt;iPhone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iPowerShell" rel="tag"&gt;iPowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sapien" rel="tag"&gt;Sapien&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-405602356700297862?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/405602356700297862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=405602356700297862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/405602356700297862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/405602356700297862'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/powershell-on-my-iphone.html' title='PowerShell on my iPhone'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_vSCVOcKqpUo/TV4_6I7L3aI/AAAAAAAAAMQ/OgUyZuopzPo/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8990209548292151653</id><published>2011-02-17T17:21:00.000Z</published><updated>2011-02-17T17:21:00.128Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv4'/><title type='text'>IPv4 X-Day Arrived–No One Died</title><content type='html'>&lt;p&gt;At a ceremony held on 3 February, 2011 the Internet Assigned Numbers Authority (IANA) allocated the remaining last five /8s of IPv4 address space to the Regional Internet Registries (RIRs) in accordance with the Global Policy for the Allocation of the Remaining IPv4 Address Space. Each /8 contains a total of 2^24 addresses, although depending on how the /8 blocks get subnetted, the actual amount of usable IPv4 addresses would be lower. &lt;/p&gt;  &lt;p&gt;So after 30 years or thereabouts, the free pool of available IPv4 addresses is fully depleted from a global perspective, that is, IANA has no more. The individual RIRs of course still have address block to give out as do individual ISPs. There are companies with /8 block (e.g. HP that has the original DEC 16.0.0.0) that might be persuaded to give some of all of their /8 blocks back either to IANA or a RIR. And there are a lot of companies that have smaller allocations (e.g. /16, /24, etc.) that also might be persuaded. And I’m sure that ISPs and RIRs will start to be a lot more aggressive over smaller allocations. If nothing else, the cost of holding allocations is pretty likely to begin to cost more.&lt;/p&gt;  &lt;p&gt;With better use of the now scarce resource that is IPv4 addresses, the Internet will continue to operate just fine for at least the next few years. But the writing is on the wall – IPv6 needs to happen sooner rather than later. I use Xilo as my ISP – and ever since switching to them around a year ago, IPv6 is ‘in testing’. I keep asking, but it’s still in testing. &lt;/p&gt;  &lt;p&gt;It’s time for Xilo, and all ISPs, to ramp up and start rolling out IPv6. With the handing over of the last /8 block, IPv6 needs to be here for all of us soon. Of course, it’s not just the ISPs that need to adopt and adapt. The manufacturers of ADSL/Cable modems, Wireless access points, switches, particularly consumer grade devices, need to be upgraded to fully support IPv6.&amp;#160; And there probably needs to be a new protocol to do complete setup for an ISP customer (configuring not only the individual hosts, but also the router itself.&amp;#160; Not sure DHCPv6 is quite enough. A PowerShell module perhaps?&lt;/p&gt;  &lt;p&gt;So start asking your ISP, your hardware manufacturer and your corporate IT department: when do you support IPv6? And start learning more about IPv6.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5686205d-e52d-42bd-8de8-5127f4536540" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IPv4" rel="tag"&gt;IPv4&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IPv6" rel="tag"&gt;IPv6&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8990209548292151653?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8990209548292151653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8990209548292151653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8990209548292151653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8990209548292151653'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/ipv4-x-day-arrivedno-one-died.html' title='IPv4 X-Day Arrived–No One Died'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1576406608511577750</id><published>2011-02-16T10:30:00.001Z</published><updated>2011-02-16T10:56:09.357Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='weekend training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Weekend PowerShell PowerCamp–York UK</title><content type='html'>&lt;p&gt;I’ve &lt;a href="http://tfl09.blogspot.com/2010/11/weekend-powershell-camp-event-on-cards.html" target="_blank"&gt;written&lt;/a&gt; (and tweeted) in the past about my weekend PowerShell PowerCamps. &lt;a href="http://www.weekendmasterclasses.co.uk/masterclasses/eventdetails.aspx?eventid=12" target="_blank"&gt;Now have two more on the schedule and ready to book&lt;/a&gt;. These two will be held in York, at the University of York. A great venue easily accessible from much of the north east (Newcastle down to Leeds), the North West (Manchester and Liverpool) and the north Midlands. And for those farther afield, the organisers will have a great B&amp;amp;B offer, plus we’ll have dinner on the Saturday night in York. &lt;/p&gt;  &lt;p&gt;This event will be, as the web site promises, fast paced!&amp;#160; I’ll be covering the basics of PowerShell, from the fundamentals at the command line through to writing production oriented scripts. On the first day, we start with topics including installation and configuration, formatting, providers and PowerShell remoting. On day 2, we look at scripting, modules, a deeper dive into objects and a quick lap around the PowerShell features included in Windows Server 2008 R2.&lt;/p&gt;  &lt;p&gt;You should come along with a laptop with either Windows 7 and Server 2008 R2 loaded (in a virtual environment). The virtualisation product you use is irrelevant – you can use VMware, Oracle Virtual Box, Hyper-V, etc. You should, however, have at least two VMs (a DC and a ‘client’) so you can investigate PowerShell features as we cover them in the class. If you don’t have a MSDN or TechNet subscription to get the DVDs for these OSs, you download the trial versions for the class. See &lt;a href="http://technet.microsoft.com/en-us/evalcenter/cc442495" target="_blank"&gt;here for Windows 7&lt;/a&gt; and see &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/trial-software.aspx" target="_blank"&gt;here for Server 2008 R2 X64&lt;/a&gt;. I’ll be running Server 2008 R2 with Hyper-V plus a number of VMs to conduct the demos – so be sure to bring along your laptop all setup. We will not be providing computers for you – so please come prepared (and contact me if you have any concerns).&lt;/p&gt;  &lt;p&gt;There are two dates currently scheduled in York: 26 March 2011 and 18 June 2010. Both are to be held at the University of York. See the web site for more details of costs and to book.&lt;/p&gt;  &lt;p&gt;And for those hoping for more information about PowerCamp in London – watch this space! News should be available this week.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:473ff722-4b9c-42f7-89be-5cb94d8d0ed7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Weekend" rel="tag"&gt;Weekend&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PoweCamp" rel="tag"&gt;PoweCamp&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1576406608511577750?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1576406608511577750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1576406608511577750' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1576406608511577750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1576406608511577750'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/weekend-powershell-powercampyork-uk.html' title='Weekend PowerShell PowerCamp–York UK'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4315002809189781229</id><published>2011-02-14T10:46:00.000Z</published><updated>2011-02-16T10:50:25.415Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server PowerShell Challenge'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><title type='text'>Lync PowerShell Blog–A Challenge For You!</title><content type='html'>&lt;p&gt;The folks behind the &lt;a href="http://blogs.technet.com/b/csps/" target="_blank"&gt;Lync Server 2010 PowerShell blog&lt;/a&gt; have another fun wheeze on: The PowerShell Challenge. The idea of this contest is simple: each week, the Blog team present 4 things and you need to figure out which is The Odd One Out (or as they put it, One Of These Things Is Not Like The Others).&amp;#160; You can &lt;a href="http://blogs.technet.com/b/csps/archive/2011/01/12/challengerules.aspx" target="_blank"&gt;read up on the rules here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The PowerShell challenge has been going for a few weeks, and there &lt;a href="http://blogs.technet.com/b/csps/p/otherschallengescores.aspx" target="_blank"&gt;are still 4 folks with perfect scores&lt;/a&gt; (naturally, I am one of those). But you can still join in the fun and compete in this week’s contest. Who knows, the top runners might have a bad week and you could end up winning the competition. But it’s not whether you win or lose – I am finding this contest very useful in helping me to get better familiar with the Cmdlets. &lt;/p&gt;  &lt;p&gt;To see a summary of the past challenges (and answers), plus this weeks’ challenge, see: &lt;a title="http://blogs.technet.com/b/csps/p/otherschallengearchive.aspx" href="http://blogs.technet.com/b/csps/p/otherschallengearchive.aspx"&gt;http://blogs.technet.com/b/csps/p/otherschallengearchive.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:79857970-d447-4d98-8027-fb45da297ba4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Server+2010" rel="tag"&gt;Lync Server 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Server+PowerShell+Challenge" rel="tag"&gt;Lync Server PowerShell Challenge&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4315002809189781229?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4315002809189781229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4315002809189781229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4315002809189781229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4315002809189781229'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/lync-powershell-bloga-challenge-for-you.html' title='Lync PowerShell Blog–A Challenge For You!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4266090872886867071</id><published>2011-02-09T06:13:00.001Z</published><updated>2011-02-09T06:13:31.289Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='formatting'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Formatting of Repeating Groups in PowerShell–Two Neat Tricks</title><content type='html'>&lt;p&gt;When you use Format-Table to create a table from a pipeline/variable, you’ll find that PowerShell truncates the output of a column. Here’s a simple example&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: Get-Process | Group company | Sort count | Select –Last 2 | Format-Table&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;Count Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Group         &lt;br /&gt;----- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----          &lt;br /&gt;&amp;#160;&amp;#160; 18 Microsoft Corporation&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (conhost), ...          &lt;br /&gt;&amp;#160;&amp;#160; 51&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (ApMsgFwd),...&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As you can see, PowerShell has truncated the Group colum to just show one member of the group. Note that ’ve deliberately truncated the width of the console to produce this output to avoid Blogger from ‘helpfully’ wrapping the column when you read this post – if you try the pipeline you’ll likely see a few more.&lt;/p&gt;  &lt;p&gt;Here’s the first neat tric: To get more output you can use the –wrap parameter on the call to format Table&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: Get-Process | Group Company | Sort Count | Select –Last 2 | Ft -wrap&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;Count Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Group       &lt;br /&gt;----- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----        &lt;br /&gt;&amp;#160;&amp;#160; 19 Microsoft Corporation&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (conhost), System.Dia        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; gnostics.Process (conhost), System.Diagnostics.Pr        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ocess (conhost), System.Diagnostics.Process (dwm)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ...}        &lt;br /&gt;&amp;#160;&amp;#160; 51&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (ApMsgFwd), System.Di        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; agnostics.Process (audiodg), System.Diagnostics.P        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rocess (csrss), System.Diagnostics.Process (csrss&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now this better, but this still truncates the group to just 4 entries. What if you want to see more? To to that, and here’s the second neat trick, you need to set a preference variable, FormatEnumerationLimit. You set this variable to the number of group entries you want to see. By default PowerShell sets this to 4. If you set it higher, you will see something like this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: $FormatEnumerationLimit = 10       &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: get-Process | group company | sort count | select -last 2 | ft -wrap&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font color="#800000" face="Courier New"&gt;&lt;strong&gt;Count Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Group       &lt;br /&gt;----- ----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----        &lt;br /&gt;&amp;#160;&amp;#160; 19 Microsoft Corporation&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (conhost), System.Dia        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; gnostics.Process (conhost), System.Diagnostics.Pr        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ocess (conhost), System.Diagnostics.Process (dwm)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; , System.Diagnostics.Process (explorer), System.D        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; iagnostics.Process (explorer), System.Diagnostics        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .Process (ielowutil), System.Diagnostics.Process        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (msnmsgr), System.Diagnostics.Process (msseces),        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Diagnostics.Process (OUTLOOK)...}        &lt;br /&gt;&amp;#160;&amp;#160; 51&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {System.Diagnostics.Process (ApMsgFwd), System.Di        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; agnostics.Process (audiodg), System.Diagnostics.P        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rocess (csrss), System.Diagnostics.Process (csrss        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ), System.Diagnostics.Process (Idle), System.Diag        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nostics.Process (inetinfo), System.Diagnostics.Pr        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ocess (lsass), System.Diagnostics.Process (lsm),        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Diagnostics.Process (MDM), System.Diagnost        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ics.Process (mqsvc)...}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In this case, you new see 10 members of the group and not the default of 5. Were you to set $FormatEnumerationLimit to, say, 1000, then you would see up to 1000 entries. If you look at the variable (&lt;font face="Courier New"&gt;&lt;strong&gt;Get-Variable FormatEnumerationLimit | FL *&lt;/strong&gt;&lt;/font&gt;), the description of this variable says: “Dictates the limit of enumeration on formatting IEnumerable objects”. This is a 32-bit integer so you could set it higher than 1000, although that's probably a bit OTT. Setting it to say 100 in your profile is probably good enough for most things.&lt;/p&gt;  &lt;p&gt;Thanks to Alexandar for pointing me to this preference variable. For more information on this and the other PowerShell prefernce variables, you can get-help on about_perferencevariables.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:25c609e2-7ef5-4982-b0d3-c9c2b088d3e6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/formatting" rel="tag"&gt;formatting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%24FormatEnumerationLimit" rel="tag"&gt;$FormatEnumerationLimit&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4266090872886867071?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4266090872886867071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4266090872886867071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4266090872886867071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4266090872886867071'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/formatting-of-repeating-groups-in.html' title='Formatting of Repeating Groups in PowerShell–Two Neat Tricks'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2615254524804025181</id><published>2011-02-07T18:53:00.001Z</published><updated>2011-02-07T18:53:07.953Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Master Class'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Master Class Returns to Stockholm–March 8-10 2011</title><content type='html'>&lt;p&gt;I’ve just had confirmation from &lt;a href="http://www.labcenter.se/"&gt;Lab Center&lt;/a&gt; that I’ll be running another Introduction to PowerShell master class event in Stockholm on March 8-10. &lt;/p&gt;  &lt;p&gt;Lab Center is one of the best training centres that I’ve had the privilege to work with – and given the great folks I hang out with these days, that’s saying something. The centre is in downtown Stockholm just 10 minutes walk from the central train statin and 2 minutes stroll from the nearest T-Banna station &lt;/p&gt;  &lt;p&gt;The agenda for the lab is as follows:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Day 1 – The Basics &lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;PowerShell Fundamentals – the key elements of PowerShell plus installation, setup, and profiles &lt;/li&gt;    &lt;li&gt;Discovery – finding your way and learning how to discover more &lt;/li&gt;    &lt;li&gt;Formatting – how to format output nicely &lt;/li&gt;    &lt;li&gt;Remoting – working with remote systems &lt;/li&gt;    &lt;li&gt;Providers – getting into OS data stores &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Day 2 – Diving Deep in to Scripting&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Scripting Concepts – automating everyday tasks including language constructs, error handling and debugging &lt;/li&gt;    &lt;li&gt;Modules – managing PowerShell in the enterprise &lt;/li&gt;    &lt;li&gt;.NET/WMI/COM Objects – working with objects &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Day 3 – Practical PowerShell&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;PowerShell and Windows Client/Server – how you can use built in PowerShell cmdlets &lt;/li&gt;    &lt;li&gt;PowerShell in Key Microsoft Servers - a look at PowerShell today in SQL, SCVMM plus a look forward to the future with SharePoint 2010 &lt;/li&gt;    &lt;li&gt;Taking it to the Next Level – the stuff we can’t cover in these three days. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We’ve got a nearly full class – but there’s always room for on e more. So if you fancy Stockholm in the early spring along with as much PowerShell as your head can handle – book today. I hope to see you there…&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b6c5a74a-9e54-461b-8539-74b03f80ca36" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Master+Class" rel="tag"&gt;PowerShell Master Class&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+training" rel="tag"&gt;PowerShell training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Stockholm" rel="tag"&gt;Stockholm&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2615254524804025181?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2615254524804025181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2615254524804025181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2615254524804025181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2615254524804025181'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/02/powershell-master-class-returns-to.html' title='PowerShell Master Class Returns to Stockholm–March 8-10 2011'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7528480135367110011</id><published>2011-01-30T16:26:00.001Z</published><updated>2011-01-30T16:26:34.247Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='module'/><title type='text'>Creating PSDrives for Modules</title><content type='html'>&lt;p&gt;In my PowerShell training, I spend time examining modules and how you can use them to manage code and avoid profile bloat. In the (forgive the pun) modules on modules, I do lots of demos where being able to quickly set your location to the personal or system modules folder is useful. One simple way I demonstrate is to create PS drives pointing to the folders. I do this as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;# First, create variables pointing to each folder          &lt;br /&gt;$mod&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = (ls env:psmodulepath).value.split(&amp;quot;;&amp;quot;)[0]           &lt;br /&gt;$sysmod&amp;#160;&amp;#160;&amp;#160; = (ls env:psmodulepath).value.split(&amp;quot;;&amp;quot;)[1]&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;# Now create PsDrives          &lt;br /&gt;New-PSDrive -name mod&amp;#160;&amp;#160;&amp;#160; -root $mod&amp;#160;&amp;#160;&amp;#160;&amp;#160; –PsProvider FileSystem | out-null           &lt;br /&gt;New-PSdrive -name sysmod -root $sysmod&amp;#160; –PsProvider FileSystem | out-null&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As you can see, I first create variables corresponding to the two built in Profile folders. The PsModulePath environment variable is set to a string holding the names of these folders, delimited by a semi-colon. Once I have the $mod and $sysmod variables, I can call New-PSDrive to create the drives. The last two PowerShell statements do return a value, so to to keep the output to a minimum, I just pipe the results to out-null (although I’ll quickly point out there are other ways to avoid the output!)&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c1237c5-31d5-482e-8120-8d38aa813028" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PSDrive" rel="tag"&gt;PSDrive&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Module" rel="tag"&gt;Module&lt;/a&gt;,&lt;a href="http://technorati.com/tags/module+drive" rel="tag"&gt;module drive&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7528480135367110011?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7528480135367110011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7528480135367110011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7528480135367110011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7528480135367110011'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/01/creating-psdrives-for-modules.html' title='Creating PSDrives for Modules'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3029088148687581510</id><published>2011-01-28T16:22:00.000Z</published><updated>2011-01-30T16:25:03.007Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='formatting'/><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Powershell WebCast–Formatting in PowerShell</title><content type='html'>&lt;p&gt;As I wrote earlier this week, on Wednesday night (well night in the UK!), I delivered PowerShell.Com’s first webcast. The webcast was a huge success – we had a total of 1350 people signed up to attend. At the peak we had just over 675 users watching (about par for the course in terms of attrition!). If you were amongst those who missed any or all of the web cast, or just want to re-see part of it, the web cast itself is posted to PowerShell.com (&lt;a title="http://powershell.com/cs/media/p/8773.aspx" href="http://powershell.com/cs/media/p/8773.aspx"&gt;http://powershell.com/cs/media/p/8773.aspx&lt;/a&gt;). I’ve also posted my slides and demo code to my website – &lt;a href="http://www.reskit.net/powershell/formatting.zip"&gt;www.reskit.net/powershell/formatting.zip&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:58fa6a1f-5e84-4c83-badf-ad8386059904" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell.com" rel="tag"&gt;PowerShell.com&lt;/a&gt;,&lt;a href="http://technorati.com/tags/webcast" rel="tag"&gt;webcast&lt;/a&gt;,&lt;a href="http://technorati.com/tags/formatting" rel="tag"&gt;formatting&lt;/a&gt;,&lt;a href="http://technorati.com/tags/formatting+with+PowerShell" rel="tag"&gt;formatting with PowerShell&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3029088148687581510?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3029088148687581510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3029088148687581510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3029088148687581510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3029088148687581510'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/01/powershell-webcastformatting-in.html' title='Powershell WebCast–Formatting in PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2698973209796587506</id><published>2011-01-25T23:06:00.001Z</published><updated>2011-01-25T23:06:50.688Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='formatting'/><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Webcast: Formatting with PowerShell</title><content type='html'>&lt;p&gt;Tomorrow, 26 January, I’ll be presenting a web cast of formatting with PowerShell. Those kind forks at Idera, sponsors of PowerShell.Com, have organised an on-line webcast where I’ll be looking at formatting with PowerShell. As of this afternoon, over 900 folks&amp;#160; have signed up for the event!! The webcast is live at 18:00 GMT (19:00CET). For the US folks, that works out to 13:00 EST and earlier further west.&lt;/p&gt;  &lt;p&gt;The webcast examines how you format output using PowerShell. It’s aimed at a 250 technical level presentation. I first look at default formatting and using Format-Table and Format-List (and Format-Wide). I’l exmine .NET Composite formatting strings and PowerShell's -F operator – these enable you to format individual values into output strings. I’ll then move gears and look at using hash tables with Format-Table and Format-List to provide more precise control over the formatting of tables. I’ll also spend time answering your questions. &lt;/p&gt;  &lt;p&gt;To find more about the webcast, and to sign up to attend, see: &lt;a title="https://www2.gotomeeting.com/register/626513458" href="https://www2.gotomeeting.com/register/626513458"&gt;https://www2.gotomeeting.com/register/626513458&lt;/a&gt;. I hope to see you all there!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9a3c7597-4006-41b3-8a1c-50925ba942d3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+webcast" rel="tag"&gt;PowerShell webcast&lt;/a&gt;,&lt;a href="http://technorati.com/tags/webcast" rel="tag"&gt;webcast&lt;/a&gt;,&lt;a href="http://technorati.com/tags/formatting" rel="tag"&gt;formatting&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2698973209796587506?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2698973209796587506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2698973209796587506' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2698973209796587506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2698973209796587506'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2011/01/webcast-formatting-with-powershell.html' title='Webcast: Formatting with PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-803022799261192622</id><published>2010-12-24T18:31:00.001Z</published><updated>2010-12-24T18:31:44.457Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Jobs</title><content type='html'>&lt;p&gt;I’ve just seen an interesting &lt;a href="http://bit.ly/eqM617"&gt;blog article&lt;/a&gt;, that shows using PowerShell Jobs to do a specific task in Forefront Identity Manager (FIM). This article was neat ins two ways.&lt;/p&gt;  &lt;p&gt;First, even though I am not really an FIM guy, by looking at the script, I had a pretty clear idea of what the script would do. So while I am not clear on the details (just how big is a management agent, how complex is the import process, and what do I do with them anyway!), I can see what the script will do. This shows up a point I keep making to my PowerShell classes: learning a new product’s cmdllets is mainly about learning about how that product’s objects are surfaced (WMI, CMDLET, Provider, etc) and then what they are and what they are used for. The latter bits of this of course require product knowledge, outside of PowerShell.&lt;/p&gt;  &lt;p&gt;The second thing neat about this article was how the author took a set of operations (importing several management agents into FIM). In terms of the importing, you could have written the script to not use just – just calling the script block directly&amp;#160; inside the loop instead of inside a separate job. This approach delivers parallelism that can speed up dramatically the time for a task to happen. But, it depends.&lt;/p&gt;  &lt;p&gt;Each time you run a PowerShell job (whether in the ISE or console), PowerShell creates an instance of PowerShell.exe to execute the script or script block. This means that each job comes with a bit of overhead – process creation has CPU/IO/Memory requirements. But if you can run multiple tasks in separate processes, then with Window’s multiprocessing features, the jobs run in parallel and therefore a much shorter overall time. At least in theory!&lt;/p&gt;  &lt;p&gt;As ever it depends. If the task being executed uses a lot or resources to actually execute, then having multiple tasks run in parallel therefore raises the resource utilisation. Specifically, with more than one or two ‘heavy’ tasks, you can find the system is paging heavily. This paging might actually end up slowing the execution down to the point where there the benefits of parallelisation are swept away by the paging costs. &lt;/p&gt;  &lt;p&gt;A related issue is what I call the 3:00 wakeup test. If had to be woken up at 3:00 in the morning to have to fix this script, what would I make of it. Because the script is more complex, it might take me longer to work out what is going on (and therefore how to fix things). &lt;/p&gt;  &lt;p&gt;So-this script illustrates something that can really improve the performance of certain tasks. But as ever it depends!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d5907163-5d31-4e9a-833f-d06b84aa41b4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Powershell" rel="tag"&gt;Powershell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Powershell+Job" rel="tag"&gt;Powershell Job&lt;/a&gt;,&lt;a href="http://technorati.com/tags/job" rel="tag"&gt;job&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-803022799261192622?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/803022799261192622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=803022799261192622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/803022799261192622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/803022799261192622'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/12/powershell-jobs.html' title='PowerShell Jobs'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6239372164576899363</id><published>2010-12-11T14:31:00.001Z</published><updated>2010-12-11T14:31:07.500Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Lync Server and PowerShell–a new forum</title><content type='html'>&lt;p&gt;Over at &lt;a href="http://www.PowerShell.Com"&gt;Www.PowerShell.Com&lt;/a&gt;, there’s a new forum: &lt;a href="http://powershell.com/cs/forums/204.aspx"&gt;PowerShell for Microsoft Lync Server&lt;/a&gt;. This is a forum where you can ask any and all your questions around using PowerShell and Lync Server 2010. As you may know, Lync Server 2010 follows in the foot steps of Exchange and other MS server applications in offering a complete PowerShell Admin experience. &lt;/p&gt;  &lt;p&gt;For those of you who are getting into Lync, your basic administration can be done from the Lync Server Control Panel (a sliver light application that replaced the MMC console used in Office Communications Server and earlier versions of what we now call Lync. But for heavy duty admin, PowerShell, and the 543 cmdlets in the Lync Module are going to be your focus. I teach Lync in the UK and know that many of the admins I’ve taught thus far are going to struggle with PowerShell as many of them have little or no PowerShell background (with too many still living in the land where administration must mean doing it at the GUI). &lt;/p&gt;  &lt;p&gt;So if you are getting into Lync, and are having trouble doing a specific thing – come on down. If you are a seasoned OCS admin, and a bit unsure on PowerShell – definitely come on over and ask your questions.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f2fbe9aa-fe40-4f18-88d4-fd51ae51b0d7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell.Com" rel="tag"&gt;PowerShell.Com&lt;/a&gt;,&lt;a href="http://technorati.com/tags/fourm" rel="tag"&gt;fourm&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6239372164576899363?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6239372164576899363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6239372164576899363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6239372164576899363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6239372164576899363'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/12/lync-server-and-powershella-new-forum.html' title='Lync Server and PowerShell–a new forum'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4294669451637387306</id><published>2010-12-10T08:32:00.001Z</published><updated>2010-12-10T08:32:29.242Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Master Class'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>First PowerShell PowerCamp A Fantastic Success</title><content type='html'>&lt;p&gt;Last Saturday (Dec 4th) a group of 29 hearty souls sat down at an absurdly early hour and began to experience the first ever weekend PowerShell PowerCamp. After a short intro from super-star technology writer and consultant Jon Honeyball, I took the floor and spent the rest of the guiding the attendees through PowerShell. I projected slides, did tons of demos, while the attendees typed along on their own laptops. We did take a few minutes out for coffee and lunch, but worked on into the darkness before gathering our senses and meeting for a lovely meal in a local pub. Sunday saw more of the same, with a most excellent presentation of the Managing Hyper-V with PowerShell by superstar ex-Microsoft superstar James O'Neil.&lt;/p&gt;  &lt;p&gt;The attendees were from a variety of companies and backgrounds but all shared a desire to learn PowerShell. Unlike some of the folks I see in my general Windows courses, the PowerCamp attendees all see the value in PowerShell and also see the value, to their CVs and careers, of learning PowerShell. It’s clear that for some weekends like this are just the ticket!&lt;/p&gt;  &lt;p&gt;Moving forward, I will be running two more PowerShell PowerCamp weekends. The next one is March 26-27 and will be held in York, England. Price and full details will be announced shortly. Watch this space! &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:759c3210-959f-46f5-b283-aa9e3a4f41b9" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/weekend" rel="tag"&gt;weekend&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4294669451637387306?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4294669451637387306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4294669451637387306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4294669451637387306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4294669451637387306'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/12/first-powershell-powercamp-fantastic.html' title='First PowerShell PowerCamp A Fantastic Success'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1399157454547851358</id><published>2010-11-25T15:12:00.001Z</published><updated>2010-11-25T15:31:29.685Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Master Class'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Training</title><content type='html'>&lt;p&gt;I’ve been doing quite a lot of PowerShell training of late for organisations big and small. The biggest organisation was Microsoft’s Hotmail team where I ran a week long class over the summer – organisations with that many servers to manage could not function as well with out PowerShell. But despite it having been around for few years, many (most?) IT Pros don’t really know PowerShell – well not yet anyway. Microsoft’s broad adoption of PowerShell has meant a lot of my customers moving over to doing things with PowerShell. This is a good thing – but there’s a lot of resistance that needs to be overcome. &lt;/p&gt;  &lt;p&gt;As see it, organisations must acknowledge that PowerShell is here, is part of Microsoft’s Common Engineering Criteria (what every team in MS must do). PowerShell will only become more pervasive. In short, it matters. So it’s time to start learning it and adopting it as an enterprise tool.&lt;/p&gt;  &lt;p&gt;While I can talk about PowerShell being a strategic task automation platform, IT Pros need to work with Powershell itself and the product specific cmdlet set(s). And they need to understand how to write scripts – detecting the errors that &lt;em&gt;will&lt;/em&gt; happen, dealing with credentials, working with .NET/WMI/COM, etc. There is a bit of a learning curve here, and that’s something Microsoft can work on as they develop PowerShell Version 3 (which would be expected to ship inside the next version of windows in a couple of years). &lt;/p&gt;  &lt;p&gt;So how do you learn PowerShell. Well – for those who are motivated there is a plethora of on-line material, ranging from blog posts, twitter references, web tutorials, free e-books, etc, etc, etc. Use your favourite search engine to mine a vast amount of content – most of it pretty good. For those who are self motivated, the internet is a good source of learning material.&lt;/p&gt;  &lt;p&gt;If you prefer the structure of a formal class, as I know I do, then you have a number of options. Microsoft has issued two PowerShell official training courses:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/en/us/course.aspx?ID=6434A&amp;amp;locale=en-us"&gt;Automating Windows Server 2008 Administration with Windows PowerShell: course 6434&lt;/a&gt;. This is a three day introduction to PowerShell V1. It covers the key aspects of Powershell V1 and how to use it to administer Server 2008. This is a good course, but as I wrote parts of it, I am probably a bit biased. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Course.aspx?ID=10325a"&gt;Automating Administration with Windows PowerShell 2.0, course 10325&lt;/a&gt;. This is a 5-day introduction to PowerShell class. I was Technical Reviewer on this – and feel it’s a very good course (provided the instructor really knows PowerShell!). Like 6434, this covers the basics of PowerShell V2 and how to write basic scripts. &lt;a href="http://tfl09.blogspot.com/2010/11/more-powershell-training.html"&gt;I am teaching this class in a couple of weeks for Global Knowledge in London&lt;/a&gt; – and if you want to attend, contact them – or contact me and I’ll gladly organise you a place!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Microsoft CPLSs also offer another 5-day class, &lt;a href="http://www.microsoft.com/learning/en/us/course.aspx?ID=50025A&amp;amp;locale=en-us"&gt;PowerShell for Administrators&lt;/a&gt;. This is a 3 day class covering PowerShell V1. &lt;/p&gt;  &lt;p&gt;As an alternative: I offer two 3 and 4 -day PowerShell classes: an Introduction to PowerShell class and an Advanced PowerShell Class. I find that, with PowerShell, this is enough time to get someone started. Armed with the knowledge and practice gained during those sessions, delegates begin their journey, and come back in a few months for more advanced topics like XML, database access, error handling, etc. &lt;/p&gt;  &lt;p&gt;How you learn PowerShell is really up to you – you have options! So go on – you know it makes sense!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c3f67571-3fd7-4ed4-8d6f-db2f62345a4d" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+training" rel="tag"&gt;PowerShell training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+MasterClass" rel="tag"&gt;PowerShell MasterClass&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1399157454547851358?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1399157454547851358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1399157454547851358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1399157454547851358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1399157454547851358'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/powershell-training.html' title='PowerShell Training'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4569847962929342958</id><published>2010-11-24T09:21:00.001Z</published><updated>2010-11-24T09:43:54.441Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv4'/><title type='text'>IPv6–Are You Ready?</title><content type='html'>&lt;p&gt;Last week, I got the chance to teach a nice Microsoft networking course up in York at the University’s IT Academy. It was a great week! For me one of the highlights was talking about IPv6. The delegates had heard of it, but by and large it was somewhat foreign. So I dived into as much detail as I could, and used &lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=4883&amp;amp;locale=en-us"&gt;Joseph Davies’ most&amp;#160; excellent IPv6 book&lt;/a&gt;&amp;#160; as a reference. I know Joseph well – he and I collaborated on two TCP/IP books (&lt;a href="http://www.microsoft.com/mspress/books/2453.aspx"&gt;TCP/IP for Windows Server 2000&lt;/a&gt;, and &lt;a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=5030&amp;amp;locale=en-us"&gt;TCP/IP for Windows Server 2003&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;I’ve been writing about IPv6 for over a decade. In the first TCP/IP book I co-wrote (&lt;a href="http://www.amazon.com/TCP-IP-Blueprints-Robin-Burk/dp/0672310554"&gt;TCP/IP Blueprints&lt;/a&gt;), I provided some details on what was then (the book was first published in 1997!) the state of IPv6. At that time IPv6 was a cool concept, it was hard to make much of a case for it. My view then was that once Microsoft produced a decent IPv6 stack as standard, folks would flock to it. Well – they did – a good stack was produced for Window XP/Wiv6. Windows Server 2003 – but I was wrong and there was little groundswell for IP. With Windows 7 and Server 2008 R2, Microsoft produced a killer IPv6 feature, Direct Access (see &lt;a title="http://technet.microsoft.com/en-us/network/dd420463.aspx" href="http://technet.microsoft.com/en-us/network/dd420463.aspx"&gt;http://technet.microsoft.com/en-us/network/dd420463.aspx&lt;/a&gt; for details on this feature). But even with Direct Access, the rush to IPv6 is not really visible.&lt;/p&gt;  &lt;p&gt;Well last week, Vint Cerf, the guy responsible for much of what we know as IP today, wrote that we’re running out of time. In an article titled: &lt;em&gt;&lt;strong&gt;Google vice-president issues a start internet warning&lt;/strong&gt;&lt;/em&gt;, Cerf says &amp;quot;&lt;em&gt;There's no question we're going to be out of address space by springtime of 2011&lt;/em&gt;”. To back him up, here’s an online counter you can use to see just how close to the end of IPv4 address availability:&lt;/p&gt;  &lt;div class="sample_view"&gt;&lt;script type="text/javascript" language="javascript" src="http://inetcore.com/project/ipv4ec/en-us/wolf_c.js"&gt;&lt;/script&gt;&lt;/div&gt;  &lt;p&gt;When I popped this counter up yesterday morning, it showed 101 days till X-day (the day when there will be no more IPv4 address blocks for the regional IP registries to dish out). Later in the day, the counter showed 100 days,&amp;#160; but by this morning, it’s down to 98 days. As the counter is real time – the estimated X-day may well be earlier than 2 March 2011.&amp;#160; What’s worse is that when the number of blocks available (currently there 11) &lt;/p&gt;  &lt;p&gt;Frankly, this counter scares me a just a little. Now of course, the world will not end on 3 March, or whenever the day after X-day is. We’ll be able to limp along for many more years thanks to the use of NAT and more aggressive public IPv6 address reuse. &lt;/p&gt;  &lt;p&gt;But there are two things that really are clear to me: First, the days of IPv4 really are numbered (and this time we really, really mean it!). Secondly, it's really is now time to learn and deploy IPv6.&amp;#160; I look forward to the discussions with my ISP over IPv6!&lt;/p&gt;  &lt;p&gt;What are YOUR plans for IPv6??&amp;#160; You do have some, don’t you!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:888b0af8-ef56-4c2f-8f59-71e4699884ee" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IPv6" rel="tag"&gt;IPv6&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IPv4" rel="tag"&gt;IPv4&lt;/a&gt;,&lt;a href="http://technorati.com/tags/X-Day" rel="tag"&gt;X-Day&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4569847962929342958?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4569847962929342958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4569847962929342958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4569847962929342958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4569847962929342958'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/ipv6are-you-ready.html' title='IPv6–Are You Ready?'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2411030423736464873</id><published>2010-11-23T07:56:00.000Z</published><updated>2010-11-24T08:56:36.455Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><title type='text'>Microsoft Releases Lync Documentation</title><content type='html'>&lt;p&gt;Continuing the tradition started with OCS, the Microsoft UC team have released a mountain of documentation for Lync 2010. As with OCS&amp;lt; there’s both a set of detailed documents, and a .CHM (complled HTML Help file) with all the documents in one place. Even better, you can get the detailed documents as downloadable .DOC files &lt;em&gt;and&lt;/em&gt; as web documents you can read on line. A nice job!&lt;/p&gt;  &lt;p&gt;To get to the detailed documents, you can go to this page in TechNet: &lt;a title="http://technet.microsoft.com/en-us/library/gg398616.aspx" href="http://technet.microsoft.com/en-us/library/gg398616.aspx"&gt;http://technet.microsoft.com/en-us/library/gg398616.aspx&lt;/a&gt;. The .CHM file is at: &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9720c3f1-ddd4-426b-b98a-f1205561ce00&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9720c3f1-ddd4-426b-b98a-f1205561ce00&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9720c3f1-ddd4-426b-b98a-f1205561ce00&amp;amp;displaylang=en&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The UC team is to be congratulated for producing such comprehensive and accessible information. If only ALL software teams were so good!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:237f87d8-1274-4612-ac24-40a10d0f6d80" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Server+2010" rel="tag"&gt;Lync Server 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/documentation" rel="tag"&gt;documentation&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2411030423736464873?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2411030423736464873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2411030423736464873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2411030423736464873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2411030423736464873'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/microsoft-releases-lync-documentation.html' title='Microsoft Releases Lync Documentation'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3199617642106897219</id><published>2010-11-22T16:39:00.001Z</published><updated>2010-11-22T16:39:35.527Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>More PowerShell Training</title><content type='html'>&lt;p&gt;It must be the season – but I’ve got another 5-day PowerShell course coming up in December. I’ll be teaching in London from December 13th – December 17th at Global Knowledge’s Baker Street centre. I’ll be running the full 5-day 10325 PowerShell V2 Microsoft official class. Five fun days – with lots of great labs. This is a great course and I’m looking forward to teaching it. If you are interested, contact me and I’ll ensure you get the details and can get booked on the event. And, for the lucky few, I’ll have a few copies of PowerShell Plus to give away. So book early!!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:13c5438f-dee6-4e65-bf7e-2210ab6763ec" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/V2" rel="tag"&gt;V2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3199617642106897219?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3199617642106897219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3199617642106897219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3199617642106897219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3199617642106897219'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/more-powershell-training.html' title='More PowerShell Training'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3795234190435023690</id><published>2010-11-16T18:03:00.001Z</published><updated>2010-11-16T18:03:19.534Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerCamp Weekend PowerShell Session–FULL!</title><content type='html'>&lt;p&gt;WOW – I know PowerShell is on the minds of a lot of IT Pros, but the reaction &lt;a href="http://tfl09.blogspot.com/2010/11/weekend-powershell-camp-event-on-cards.html"&gt;to the weekend PowerCamp&lt;/a&gt; has been pretty overwhelming. We’re full but are taking names of folks for standby should some of the currently committed folks need to backout. However, we’re looking at some more options.&lt;/p&gt;  &lt;p&gt;First, I’m hoping to run some more Weekend PowerShell PowerCamps. I have no committed dates yet, but I’m looking at a date in York late winter and Thames Valley in the spring. As things firm up, I’ll blog them. Where would you most like to spend a weekend – and would you?&lt;/p&gt;  &lt;p&gt;Secondly, if you want to really master PowerShell, I am teaching the much longer 5-day Microsoft Class (course 10325) in December. This is longer than the weekend retreats, and has more hands on labs. (and you can more probably pay for the class using SA Vouchers which may help the Enterprise SA folks). The plan is to run this course in London – although the exact location is not yet clear. I’m firming up the location this week and should know by early next week. &lt;/p&gt;  &lt;p&gt;Please let me know if you have any interest for any of these PowerShell training sessions!!!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:631e4763-6547-4537-a9ff-aef5489a6763" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3795234190435023690?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3795234190435023690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3795234190435023690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3795234190435023690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3795234190435023690'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/powercamp-weekend-powershell.html' title='PowerCamp Weekend PowerShell Session–FULL!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2123702519551595832</id><published>2010-11-10T10:04:00.001Z</published><updated>2010-11-10T10:04:13.598Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Weekend PowerCamp is Full!</title><content type='html'>&lt;p&gt;&lt;a href="http://tfl09.blogspot.com/2010/11/weekend-powershell-camp-event-on-cards.html"&gt;In a blog post last week&lt;/a&gt;, I announced a weekend PowerShell PowerCamp event. At the time of writing, we had a few folks interested.&amp;#160; But following Jon’s article in PC Pro and &lt;a href="http://tfl09.blogspot.com/2010/11/weekend-powershell-camp-event-on-cards.html"&gt;my blog post&lt;/a&gt; – the event has generated a huge amount of interest. The original plan was for 10-15 attendees, but demand has exceeded that. The hotel has responded with a a bigger room. So the event is definitely happening and I’ll have a full house! There is a waiting list just in case folks have to drop out – and of course, I’ll be running other, more formal training sessions on PowerShell in the coming months.&amp;#160; And if there is sufficient demand, a further weekend PowerCamp might be a possibility!!&lt;/p&gt;  &lt;p&gt;For those who are coming – I look forward to welcoming you on the day and to covering a massive amount of content in just two days. For those NOT coming, you will miss a very interesting and fun event!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5299b5c0-f27a-4796-b266-45b6a33e1aae" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Weekend+PowerShell+PowerCamp" rel="tag"&gt;Weekend PowerShell PowerCamp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerCamp" rel="tag"&gt;PowerCamp&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2123702519551595832?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2123702519551595832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2123702519551595832' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2123702519551595832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2123702519551595832'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/powershell-weekend-powercamp-is-full.html' title='PowerShell Weekend PowerCamp is Full!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6200546038647853254</id><published>2010-11-05T15:26:00.001Z</published><updated>2010-11-05T15:26:45.433Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Weekend PowerShell Camp Event On The Cards</title><content type='html'>&lt;p&gt;I’ve been advocating PowerShell to folks far and wide over the years – including evangelising it to my pal Jon Honey ball of PC Pro fame. His problem, like a lot of folks, is that there just is never the time to learn it – plus he knows VBS so that’s good enough, right?&amp;#160; Well, I think I have convinced him that that is the way dinosaurs think and that he really needs to to make the great conversion. &lt;/p&gt;  &lt;p&gt;So he’s come up with a wizard idea: a weekend event in, where the dinosaurs and others have a fun time as they come up to speed and finally learn PowerShell. Maybe not EVERYTHING about PowerShell – that would be a pretty tall order for 2 days. But certainly gaining a good comfort factor backed up with lots of resources to help you when you get back home. In other words, a Weekend PowerShell Camp.&lt;/p&gt;  &lt;p&gt;The way we’d work it is that I’ll run through the core aspects of PowerShell – and you follow along on your own laptop. I’ll have some exercises you can work through to demonstrate PowerShell’s key features. In preparation, you setup and configure your own laptop - you pick the virtualisation platform and load the VMs yourself. Then, you plug into the wireless and follow along with me. We’ll spend 2 long days drilling into the core of PowerShell and look at what you can do with it. And a nice meal on the Saturday. costs are likely to be around 100GPB for the weekend, including the wireless during the day, coffee/tea all day and lunch in the hotel (you can stay in the hotel overnight should you wish – but you would need to arrange that yourself).&amp;#160; We are planning for the 1st weekend in December at the Marriot in Huntingdon Cambridgeshire.&amp;#160; &lt;/p&gt;  &lt;p&gt;As it happens, Jon announced the idea in the December of PC Pro magazine’s Real World Computing section. He has had a number of requests to come along already – with a bit of luck the weekend may already be a sell out.&amp;#160; But if you’ve not registered interest, get in touch with either Jon or myself and we’ll send you the fuller details. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d714c843-fe27-418b-8516-01f5315150c4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UK" rel="tag"&gt;UK&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6200546038647853254?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6200546038647853254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6200546038647853254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6200546038647853254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6200546038647853254'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/11/weekend-powershell-camp-event-on-cards.html' title='Weekend PowerShell Camp Event On The Cards'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4386652080671899717</id><published>2010-10-28T21:43:00.002+01:00</published><updated>2010-10-29T07:45:22.185+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Typography'/><title type='text'>Choosing a Type Face–Help is at Hand</title><content type='html'>&lt;p&gt;The type face or faces you use in your writing can have a profound effect on how your message is received and how people perceive you. In the long distant past, I learned how set type by hand and how to bind books – and I still love the whole process. The trays of different size fonts, the smell of the inks, being able to set physical type quickly (memorising where each letter is found in a type case) and being able to break down a page and return the different type pieces to their correct place, etc. One semester, I earned money printing all the signs that that the union put up to advertise events and did some t-shirt silk screening for event t-shirts. I even bound a course thesis – gaining an A if only for the pretty leather cover!&lt;/p&gt;  &lt;p&gt;While much of the mechanisms of hand typography are now history, the value of specific fonts remains. If I were to post an article in Comic Sans, readers might not take it seriously. And posting my PowerShell scripts in a variable width font might make the script a lot harder to read. Using multiple fonts may seem like a good idea but end up confusing the reader. So many fonts, so many mistakes awaiting. Oddly enough type faces have been in the news a bit lately. &lt;/p&gt;  &lt;p&gt;One of my favourite fun fonts is Comic Sans. I find it neat, elegant and informal. However today I discover that it’s the most hated font in the world.&amp;#160; See the BBC’s on-line article: &lt;font face="Comic Sans MS"&gt;&lt;a href="http://www.bbc.co.uk/news/magazine-11582548"&gt;What’s so wrong with Comic Sans&lt;/a&gt;&lt;/font&gt;?&amp;#160; I’m still convinced Comic Sans is not all that bad!!&lt;/p&gt;  &lt;p&gt;Next I found an interesting albeit long article in the On-line Guardian entitled&amp;#160; “&lt;em&gt;&lt;a href="http://www.guardian.co.uk/artanddesign/2010/oct/17/type-letters-typefaces-simon-garfield"&gt;True to type: how we fell in love with our letters&lt;/a&gt;.&lt;/em&gt;” This is a super article by Simon Garfield that examines the history of type faces, the care often taken in their design and some of the terminology of typography. I really enjoyed reading this article despite it’s length! It definitely brought back memories of hand type setting.&lt;/p&gt;  &lt;p&gt;Finally, the thing that sparked this blog article. Having used fonts for many years, I guess I am aware of some of the pitfalls of a bad type face choice. For the most part, I tend to stick to what I like. I love Trebuchet for the body and title of this blog for example – and have done for some years. No one’s commented on it so I guess it’s OK. But for the uninitiated, I’ve found a super graphic that helps answer the question: what typeface should I use.&amp;#160; &lt;/p&gt;  &lt;p&gt;The graphic, effectively a large flow chart, is at:&amp;#160; &lt;a title="http://inspirationlab.files.wordpress.com/2010/04/infographiclarge_v2.png" href="http://inspirationlab.files.wordpress.com/2010/04/infographiclarge_v2.png"&gt;http://inspirationlab.files.wordpress.com/2010/04/infographiclarge_v2.png&lt;/a&gt;. This graphic starts by asking what sort of project you need a type face for (Logo, Invitation, book, etc.). Then it asks you some questions (are you completely in doubt, do you want new or older faces, did you cry when you watched Terminator). Based on that information, the graphic makes some suggestions. So if you are looking to create an infographic, that’s condensed&amp;#160; and is without a lot of tables (oh and you did cry watching Terminator),&lt;font size="2"&gt; &lt;font face="OCR A Extended"&gt;use the OCR typeface for example. &lt;font face="Trebuchet MS"&gt;&lt;/font&gt;&lt;/font&gt;The graphic is a PNG, and you need to blow it up a bit in order to read it. But like the Guardian article, this graphic has been fun to look over! &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;So much like the number 11 bus – you wait for ages then three come along at once – today’s been a pleasant diversion into type faces. Now back to my day job.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:71089085-f3b4-45ee-9098-11bd67c53f1f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/type+face" rel="tag"&gt;type face&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4386652080671899717?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4386652080671899717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4386652080671899717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4386652080671899717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4386652080671899717'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/choosing-type-facehelp-is-at-hand.html' title='Choosing a Type Face–Help is at Hand'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8103064423583343768</id><published>2010-10-28T19:54:00.001+01:00</published><updated>2010-10-28T19:54:49.402+01:00</updated><title type='text'>Lync Server 2010 Reaches RTM</title><content type='html'>&lt;p&gt;In a post on the UCG’s Team Blob, Kirk Gregersen announces that MS have completed RTM for Lync Server 2010. General Availability is set for November 17th . The launch will be a virtual event – watch it &lt;a href="http://www.microsoft.com/lync"&gt;http://www.microsoft.com/lync&lt;/a&gt;.&amp;#160; Training courses to match the two upcoming Lync MCP exams will be available sometime next spring/summer. &lt;/p&gt;  &lt;p&gt;Lync 2010 looks to be a really excellent product. I’m teaching my first Lync course this week (Lync 2010 Ignite). We’re doing pretty much all of the product over a packed 5 days. The course is running on top of the RC version of the server using Windows 2008R2 virtual servers running inside Hyper-V. We’ve managed to make most of the key scenarios work – IM, presence some conferencing and voice. Some of the modalities are not easy due to the constraints of the classroom equipment. As I tell the delegates, if they go away thinking you need serious hardware to run Lync well, then I’ve done a good job. The labs were mostly successful. Most of the delegates got most of the labs to work – there was the odd typo and some hyper-V glitches. Not bad for a beta product. The beta programme was quite rushed so to some degree, waiting for the first set of roll-up patches will probably make sense for most customer. &lt;/p&gt;  &lt;p&gt;Nevertheless, it’s time to start the planning process. And the training process. This is going to be a rock and roll product that finally is, not only a great IM/Presence/Conferencing product, but a creditable alternative to iron PBXs. I can’t wait to do more training in it. And for any company planning to deploy it – get some training. This is a rich complex product that provides critical enterprise infrastructure. It needs careful planning and disciplined knowledgeable support.&amp;#160; End-user training should be undertaken to ensure that the users can take full advantage of the richness on offer!&lt;/p&gt;  &lt;p&gt;One thing that comes out loud and clear this week is that PowerShell is really required to administer LS2010. The new Silverlight Control Panel is nice, but there are a lot of things for which PowerShell and the over 500 Lync cmdlets are just better for, particularly when you start talking about Enterprises and full voice deployments.&amp;#160; I hope organisations that plan to invest on Lync will send their IT Pros on a good PowerShell class. &lt;/p&gt;  &lt;p&gt;As it turns out, my mate &lt;a href="http://www.itpro.co.uk/blogs-archive/jonh/about/"&gt;Jon Honeyball&lt;/a&gt; and I are organising a PowerShell PowerCamp Introductory Weekend where we’re going to condense the normal 4 day master class down in to two – he announced it in the . More details on that soon – and I’ll also be pumping some new PowerShell Lync scripts onto my scripting blog. And if you want the marginally less-manic version, I’m teaching PowerShell in London in mid-December!&lt;/p&gt;  &lt;p&gt;In summary: Lync 2010: welcome to the world! May you have a long and prosperous life!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6d4971d4-dc82-448f-af0d-da9f5f2b6c94" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8103064423583343768?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8103064423583343768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8103064423583343768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8103064423583343768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8103064423583343768'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/lync-server-2010-reaches-rtm.html' title='Lync Server 2010 Reaches RTM'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-126403230266089611</id><published>2010-10-15T01:16:00.001+01:00</published><updated>2010-10-15T01:18:39.659+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Administrator's Crash Course in PowerShell–EBook</title><content type='html'>&lt;p&gt;Powershell superstar Don Jones has published a 4-part Crash Course in Windows PowerShell V2. Get it at: &lt;a title="http://nexus.realtimepublishers.com/accwp.php" href="http://nexus.realtimepublishers.com/accwp.php"&gt;http://nexus.realtimepublishers.com/accwp.php&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:67dcf263-c530-49ab-b4e5-1f496f5578fc" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Powershell" rel="tag"&gt;Powershell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/e-book" rel="tag"&gt;e-book&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-126403230266089611?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/126403230266089611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=126403230266089611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/126403230266089611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/126403230266089611'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/administrator-crash-course-in.html' title='Administrator&amp;#39;s Crash Course in PowerShell–EBook'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3016878720617102915</id><published>2010-10-07T11:06:00.001+01:00</published><updated>2010-10-07T12:56:23.597+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Master Class'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Microsoft Launches Course 10325–Automating Administration with Windows PowerShell 2.0</title><content type='html'>&lt;p&gt;Over a year after Microsoft launched Windows PowerShell V2.0, Microsoft Learning has now launched a formal course with the above title.&amp;#160; This is long over due but very welcome. &lt;/p&gt;  &lt;p&gt;From Microsoft’s announcement, this “five-day, instructor-led course offers you the knowledge and helps you develop the skills you need to automate administrative tasks using Windows PowerShell® version 2. The course describes core features and capabilities of Windows PowerShell version 2, using Windows Server® 2008 R2 as the example software environment.”&lt;/p&gt;  &lt;p&gt;Well that’s the good news. The bad news, again from Microsoft’s formal announcement&amp;#160; “However, this course is not intended to provide comprehensive coverage of either Windows PowerShell version 2 features or Windows Server 2008 R2 features.&lt;/p&gt;  &lt;p&gt;This is a good course (I was Technical Reviewer on it), and I will enjoy teaching it. Not only that, but it leaves room in the market for my own &lt;a href="http://www.powershellmasterclass.com"&gt;PowerShell Master Classes&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;As an MCT, I am ready, able and willing to teach this class anywhere in the world. Have passport (and laptop), will travel. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f88166e5-9b1e-466d-a2cf-977746d026c8" class="wlWriterEditableSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/Training" rel="tag"&gt;Training&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/PowerShell+V2.0" rel="tag"&gt;PowerShell V2.0&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3016878720617102915?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3016878720617102915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3016878720617102915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3016878720617102915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3016878720617102915'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/microsoft-launches-course.html' title='Microsoft Launches Course 10325–Automating Administration with Windows PowerShell 2.0'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3430266826429244427</id><published>2010-10-05T15:07:00.000+01:00</published><updated>2010-10-05T15:07:00.315+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Failover Clustering Cmdlets–Great Documentation</title><content type='html'>&lt;p&gt;I just &lt;a href="http://blogs.technet.com/b/josebda/archive/2010/09/25/mapping-cluster-exe-commands-to-windows-powershell-cmdlets-for-failover-clusters-extended-edition.aspx"&gt;came across a really great page&lt;/a&gt; that documents the Failover Clustering Cmdlets in Windows Server 2008 R2. This page from Jose Barreto’s blog has a super diagram showing a model of these cmdlets. This model shows a box for each noun used by the cmdlets. Inside each box you see the the verbs that operate on the the noun, as well key attributes of a specific instance of that noun.&amp;#160; Thus for the Cluster noun, you see two identifiers (-ClusterName, –Properties) and the supported verbs (Get, New, Remove, Stop, Start, Test). Then you get links between the various objects showing how they relate to each other.&amp;#160; Then you get links between the nouns/objects. In other words - a good old fashioned data model. &lt;/p&gt;  &lt;p&gt;For any cmdlet set, verb names are going to be constrained, e.g. get, set, new, start, stop, etc. So to learn a set of cmdlets, you need to focus on the nouns. Once you know the nouns, you will know the cmdlets (well for the most part). The diagram does a great job of showing how the the individual clustering objects (i.e. the nouns) relate to each other. What this diagram does so well is that it also shows the key objects involved in fail over clustering and how they relate since the cmdlet nouns &lt;em&gt;are&lt;/em&gt; the key failover clustering objects. &lt;/p&gt;  &lt;p&gt;Microsoft should document &lt;em&gt;all&lt;/em&gt; cmdlet sets like this!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9a3c8589-dbb4-4a8a-a27f-6969bc9d5e7e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/documentation" rel="tag"&gt;documentation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Jose+Barreto" rel="tag"&gt;Jose Barreto&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3430266826429244427?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3430266826429244427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3430266826429244427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3430266826429244427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3430266826429244427'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/failover-clustering-cmdletsgreat.html' title='Failover Clustering Cmdlets–Great Documentation'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6547631627028555981</id><published>2010-10-03T15:02:00.001+01:00</published><updated>2010-10-03T15:02:58.491+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='TechNet'/><title type='text'>PowerShell in Windows–A Nice Feature List</title><content type='html'>&lt;p&gt;The &lt;a href="http://technet.microsoft.com/en-us/library/ee829690.aspx"&gt;TechNet folks have produced a nice list of PowerShell features offered by Microsoft&lt;/a&gt;. This page has a list of all the features offered plus links to information about how to get the individual features. The list looks reasonable complete – and is a good jumping off place for learning more about PowerShell in Windows.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:821231a7-d4ee-43ad-9c85-d1f1d0ceced2" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TechNet" rel="tag"&gt;TechNet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/documentation" rel="tag"&gt;documentation&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6547631627028555981?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6547631627028555981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6547631627028555981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6547631627028555981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6547631627028555981'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/10/powershell-in-windowsa-nice-feature.html' title='PowerShell in Windows–A Nice Feature List'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7686211446989181317</id><published>2010-09-26T19:16:00.001+01:00</published><updated>2010-09-26T19:16:47.945+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync Server 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualisation'/><title type='text'>Lync Server 2010 and Virtualisation</title><content type='html'>&lt;p&gt;With the Lync Server 2010 RC available, the details of what it will take to run Lync in production are emerging. One really nice change from OCS 2007 is that Lync is now fully supported when virtualised. With OCS 2007, only some roles were supported, although anecdotal evidence suggested OCS would work OK virtualised – the issue was more with the client.&lt;/p&gt;  &lt;p&gt;This means that all major workloads, including presence, IM, conferencing and Enterprise Voice can be run in a virtual environment. This includes Standard and Enterprise editions. There are some restrictions on virtualisation platforms though, only VMware and Hyper-V are supported. For both virtualisation platforms, only Serve 2008 R2 is supported. And for Hyper-V, you must also run the host as Server 2008 R2.&amp;#160; Microsoft will support virtualisations using SE to support up to around 2000 users and Enterprise Edition pools supporting up to 40k users. Edge servers can also be virtualised.&lt;/p&gt;  &lt;p&gt;For Hype-V at least, the hosting requirements will significant: 8 Core 2.27Ghz processors with 16GB+ of ram and fast disks (particularly for your back end SQL servers). With virtualisation, your overall consolidation ratio is around 3:1 A suitably speced out host machine will support around 4 Front End servers, or 4 A/V Conferencing Servers for a user base of up to 40k users. For full functionality, you’d also want at least Directors (2 Director roles can be co-located on a single Hyper-V host) and two Edge servers (also co-located on a single VM host). You can also co-locate your Monitoring and Archiving server roles. &lt;/p&gt;  &lt;p&gt;You can also virtualise your SQL Server back end database, but in a large Enterprise environment, you may just want to keep your back end cluster as a pair of real servers. You can of course, co-locate two SQL Server VMs on a single host to serve as your fail over back end cluster. Although this only provides resilience in the case the guest OS or applications go down! &lt;/p&gt;  &lt;p&gt;The total level of consolidation in such a scenairo would be from around 19 servers, down to around 6 or 7 large hosts machines. You’d then need to consider your Mediation Server requirements! To some degree, the number of mediation servers required will be based on your requirements (how many PSTN ingress/egress locations do you have and what sort of gateways are&amp;#160; you using). With Lync 2010’s Media Bypass facilities (and suitable PSTN gateways!) you could co-locate up to around 4 Mediation Servers on a single host. My guess, although I do not have the means to test it) is that you could probably support more Mediation Servers on a given host, depending on the Gateway architecture&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9b23b59e-0464-4f2e-9abb-25a4a338f6af" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync+Server+2010" rel="tag"&gt;Lync Server 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/virtualisation" rel="tag"&gt;virtualisation&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7686211446989181317?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7686211446989181317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7686211446989181317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7686211446989181317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7686211446989181317'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/lync-server-2010-and-virtualisation.html' title='Lync Server 2010 and Virtualisation'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6287884229571379817</id><published>2010-09-16T13:19:00.001+01:00</published><updated>2010-09-16T13:35:39.161+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='Lee Holmes'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Windows PowerShell Cookbook–2nd Edition</title><content type='html'>&lt;p&gt;Lee Holme’s latest book, &lt;a href="http://oreilly.com/catalog/9780596801519"&gt;Windows PowerShell Cookbook (2nd Edition)&lt;/a&gt; has finally made it to the UK. I ordered this book as soon as O’Reilly mailed me to say it has been released. I arrived home last week and I’ve been eagerly poring over it with some enthusiasm.&lt;/p&gt;  &lt;p&gt;This second edition is a significantly expanded work, now around 850 pages in print. There are hundreds of examples of how to use a specific aspect of PowerShell along with commentary explaining what’s going on. If you know PowerShell fairly well, there are always those nooks and crannies you’ve not explored thoroughly . I started playing today with p/invoke to get access to Win32APIs, for example, which was something I’ve been meaning to do for a while, and I also discovered a cool switch on the Add-Type cmdlet that solves a problem I’ve been having for while!&lt;/p&gt;  &lt;p&gt;The full set of sample scripts is also available - &lt;a title="http://examples.oreilly.com/9780596801519/PowerShellCookbookModule.zip" href="http://examples.oreilly.com/9780596801519/PowerShellCookbookModule.zip"&gt;http://examples.oreilly.com/9780596801519/PowerShellCookbookModule.zip&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;If you go to the O’Reiley catalogue page, you can order the book along with an E-book. I have the e-book on my phone for viewing and consuming when I’m on the move (a great way to spend a 2-hour flight – reading more about Powershell).&lt;/p&gt;  &lt;p&gt;In summary: buy this book.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a446e6f-410f-4ed5-b2e8-2be66845dc2d" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/O'Reilly" rel="tag"&gt;O'Reilly&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lee+Holmes" rel="tag"&gt;Lee Holmes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/book" rel="tag"&gt;book&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6287884229571379817?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6287884229571379817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6287884229571379817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6287884229571379817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6287884229571379817'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/windows-powershell-cookbook2nd-edition.html' title='Windows PowerShell Cookbook–2nd Edition'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-5249270281840564819</id><published>2010-09-14T13:53:00.000+01:00</published><updated>2010-11-05T14:04:31.282Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><title type='text'>Microsoft Lync 2010/Microsoft Lync Server 2010 - Resources</title><content type='html'>&lt;p&gt;Here are the resources I’ve found so far. I am updating this regularly as I find more stuff!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Last Update: 13:15 18September 2010&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Background Information&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Here is some background information on Lync Server 2010 and Lync 2010:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Lync Home Page &lt;/strong&gt;This is Lync’s home page on Microsoft.com.&amp;#160; &lt;a title="http://www.microsoft.com/en-us/lync/default.aspx" href="http://www.microsoft.com/en-us/lync/default.aspx"&gt;http://www.microsoft.com/en-us/lync/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lync Technologies &lt;/strong&gt;This pages enables you to explore the technologies and capabilities of Lync &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;CS ‘14’ Overview Presentation&lt;/strong&gt;&amp;#160; &lt;a href="http://unified-communications.blogspot.com/2010/08/microsoft-communications-server.html"&gt;This deck is the TechEd deck updated by Joachim Farla an OCS MVP from The Netherlands&lt;/a&gt;. 16 slides so it’s brief. A good starting point to understanding Lync 2010. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;UC Open Interoperability Program&lt;/strong&gt; – a program that enables MS to certify Sip-PSTN Gateways, IP-PBXs and SIP Trunking Services. &lt;a title="http://technet.microsoft.com/en-us/office/ocs/bb735838.aspx" href="http://technet.microsoft.com/en-us/office/ocs/bb735838.aspx"&gt;http://technet.microsoft.com/en-us/office/ocs/bb735838.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Lync Server 2010 RC Evaluation Resources&lt;/strong&gt; – a nice page from TechNet that provides lots of background information. &lt;a title="http://www.microsoft.com/en-us/lync/reviews-news.aspx" href="http://www.microsoft.com/en-us/lync/reviews-news.aspx"&gt;http://www.microsoft.com/en-us/lync/reviews-news.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lync Tech Center&lt;/strong&gt;&amp;#160; This is a TechNet sub-site with technical information from MS on Lync. &lt;a title="http://technet.microsoft.com/en-us/lync/default.aspx" href="http://technet.microsoft.com/en-us/lync/default.aspx"&gt;http://technet.microsoft.com/en-us/lync/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Lync Solution Centre&lt;/strong&gt; – a Microsoft support sub-site on Lync. &lt;a title="http://support.microsoft.com/ph/924#tab0" href="http://support.microsoft.com/ph/924#tab0"&gt;http://support.microsoft.com/ph/924#tab0&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Lync Software Components&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Microsoft has released some product bits of the product as separate downloads:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Microsoft Lync Server 2010 RC&lt;/strong&gt; – this is the server code needed to deploy a test version of Lync Server in your environment. Get the server DVD ISO image from here: &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm&lt;/a&gt;. This ISO contains the code to run Lync Server (64-bit only) and the Lync client (32-bit and 64-bit). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Lync 2010 Atendee RC (admin install)&lt;/strong&gt; – this is the client code that effectively replaces the OCS 2007 Live Meeting Console (and is both separate to and independent of the Lync client) - &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1772A5AD-9688-4861-8387-EC30411BF455" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1772A5AD-9688-4861-8387-EC30411BF455"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1772A5AD-9688-4861-8387-EC30411BF455&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Lync 2010 Attendee RC (user level install)&lt;/strong&gt; - &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=68A3CA04-A058-4E47-98EA-9E9AF7EBD6E3" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=68A3CA04-A058-4E47-98EA-9E9AF7EBD6E3"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=68A3CA04-A058-4E47-98EA-9E9AF7EBD6E3&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lync 2010 Unified Communications Managed API (UCMA) 3.0 Systems Development Kit&lt;/strong&gt; – the client side API set enabling integration and extension of Lynx experiences. This is a managed code set of APIs. Get it at: &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d98f0bf7-c82c-47f5-9f73-be3edbf30438&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d98f0bf7-c82c-47f5-9f73-be3edbf30438&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d98f0bf7-c82c-47f5-9f73-be3edbf30438&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Microsoft Blogs&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.technet.com/b/uc/"&gt;Lync Server Team Group blog&lt;/a&gt; – this is from the Unified Communications team. &lt;a title="http://blogs.technet.com/b/uc/" href="http://blogs.technet.com/b/uc/"&gt;http://blogs.technet.com/b/uc/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/b/csps/"&gt;Lync Server PowerShell Team’s&amp;#160; Blog&lt;/a&gt; – A look at what’s happening with Lync and PowerShell.&amp;#160; A great discussion of PowerShell and Lync. &lt;a title="http://blogs.technet.com/b/csps/" href="http://blogs.technet.com/b/csps/"&gt;http://blogs.technet.com/b/csps/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/b/jenstr/about.aspx"&gt;Jens Trier Rasmussen&lt;/a&gt; – Jens is a Senior Program Manager in the Early Deployment &amp;amp; Readiness team at Microsoft and a very knowledgeable guy. &lt;a title="http://blogs.technet.com/b/jenstr/about.aspx" href="http://blogs.technet.com/b/jenstr/about.aspx"&gt;http://blogs.technet.com/b/jenstr/about.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Non MS Blog Posts&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Lync Server 2010 RC Deployment&lt;/strong&gt; - &lt;a title="http://blog.schertz.name/2010/09/lync2010rc-deployment-part1/" href="http://blog.schertz.name/2010/09/lync2010rc-deployment-part1/"&gt;http://blog.schertz.name/2010/09/lync2010rc-deployment-part1/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Step-by-step Microsoft Lync 2010 Consolidated Standard Server Install Guide&lt;/strong&gt; - &lt;a title="http://imaucblog.com/archive/2010/09/15/step-by-step-microsoft-lync-2010-consolidated-standard-server-install-guide/" href="http://imaucblog.com/archive/2010/09/15/step-by-step-microsoft-lync-2010-consolidated-standard-server-install-guide/"&gt;http://imaucblog.com/archive/2010/09/15/step-by-step-microsoft-lync-2010-consolidated-standard-server-install-guide/&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Podcasts&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Cezar Ungureanasu and Thomas Lee on Lync Server 2010 and PowerShell&lt;/strong&gt; – superstar Cezar Ungureanasu (Lync Server PowerShell PM) and Thomas Lee talk about Lync Server’s PowerShell Interface.&amp;#160; &lt;a title="http://blogs.technet.com/b/csps/archive/2010/09/09/podcastcezarthomasaug2010.aspx" href="http://blogs.technet.com/b/csps/archive/2010/09/09/podcastcezarthomasaug2010.aspx"&gt;http://blogs.technet.com/b/csps/archive/2010/09/09/podcastcezarthomasaug2010.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Planning Tools&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Microsoft Lync Server 2010 Planning Tool RC&lt;/strong&gt; – this is a great tool to help you design your infrastructure prior to deployment. &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bcd64040-40c4-4714-9e68-c649785cc43a&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bcd64040-40c4-4714-9e68-c649785cc43a&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bcd64040-40c4-4714-9e68-c649785cc43a&amp;amp;displaylang=en&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lync and Lync Server System Requirements&lt;/strong&gt; – an official look at what’s required to run Lync Server 2010 and the Lync clients. Get this at: &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=634a3616-4199-4d51-88ee-618e72d91b7c&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=634a3616-4199-4d51-88ee-618e72d91b7c&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=634a3616-4199-4d51-88ee-618e72d91b7c&amp;amp;displaylang=en&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Product Documentation&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Microsoft has released several white papers on the &lt;a title="http://technet.microsoft.com/en-us/lync/default.aspx" href="http://technet.microsoft.com/en-us/lync/default.aspx"&gt;http://technet.microsoft.com/en-us/lync/default.aspx&lt;/a&gt; site, including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Determining Your Infrastructure Requirements for Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Determining%20Your%20Infrastructure%20Requirements%20for%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for Archiving Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20Archiving%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for Clients and Devices Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20Clients%20and%20Devices%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for Enterprise Voice Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20Enterprise%20Voice%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for External User Access Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20External%20User%20Access%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for IM and Conferencing Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20IM%20and%20Conferencing%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for Other Features Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20Other%20Features%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Planning for Your Organization Lync Server 2010 (RC).doc&lt;/strong&gt; - &lt;a href="http://download.microsoft.com/download/1/A/5/1A5160CE-F5F7-4DFE-8EA0-6E2A3F89AD22/Planning%20for%20Your%20Organization%20Lync%20Server%202010%20%28RC%29.doc"&gt;Download&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Pricing and Licensing&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Lync Server 2010 follows a Server/Client Access License (CAL) model whereby a Lync Server 2010 license is required for each operating system environment running Lync Server 2010 and a CAL is required for each user or device accessing the Lync Server. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/lync/pricing-licensing.aspx"&gt;Pricing for Lync Server and Client&lt;/a&gt; – this page sets out the details of licensing for Lync Server and client.&amp;#160; Pricing on the page is ‘estimated’ – in other words see your reseller as prices will vary from the 'official’ costs shown here. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Support&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;At present, there’s no formal support for Lync 2010.&amp;#160; At present, the two places where you can find more information are Microsoft’s OCS 2007 Forums: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;For details on Lync Server 2010 RC – see the&amp;#160; Office Communications Forums at: &lt;a title="http://social.technet.microsoft.com/Forums/en-US/category/ocs" href="http://social.technet.microsoft.com/Forums/en-US/category/ocs"&gt;http://social.technet.microsoft.com/Forums/en-US/category/ocs&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;For details on Lync 2010 RC Clients, see the Office Communicator Forums at: &lt;a title="http://social.microsoft.com/Forums/en-US/category/officecommunicator/" href="http://social.microsoft.com/Forums/en-US/category/officecommunicator/"&gt;http://social.microsoft.com/Forums/en-US/category/officecommunicator/&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="4"&gt;Webcasts – CS14 at TechEd&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Microsoft presented CS14 topics at TechEd North America earlier in 2010. The presentations and slide decks are all available for download and use. These presentations talk about CS’14’ – but aside from the branding, the details are the same!&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UNC205 – CS14: Transforming the Way People Communicate – Gudeep Singh Pal’s OCS 14 keynote - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC205" href="http://www.msteched.com/2010/NorthAmerica/UNC205"&gt;http://www.msteched.com/2010/NorthAmerica/UNC205&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC206 – Microsoft Communications Online: Present and future - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC206" href="http://www.msteched.com/2010/NorthAmerica/UNC206"&gt;http://www.msteched.com/2010/NorthAmerica/UNC206&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC208 – CS14 Devices - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC208" href="http://www.msteched.com/2010/NorthAmerica/UNC208"&gt;http://www.msteched.com/2010/NorthAmerica/UNC208&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC311 – CS14 Architecture - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC311" href="http://www.msteched.com/2010/NorthAmerica/UNC311"&gt;http://www.msteched.com/2010/NorthAmerica/UNC311&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC312 – CS14 Network Considerations - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC312/" href="http://www.msteched.com/2010/NorthAmerica/UNC312/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC312/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC313 – CS14 Voice Architecture and Planning - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC313/" href="http://www.msteched.com/2010/NorthAmerica/UNC313/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC313/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC314 – CS14 Voice Deployment - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC314/" href="http://www.msteched.com/2010/NorthAmerica/UNC314/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC314/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC315 – CS14 Setup and Deployment - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC315/" href="http://www.msteched.com/2010/NorthAmerica/UNC315/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC315/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC316 – CS14 Monitoring and Reporting - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC316/" href="http://www.msteched.com/2010/NorthAmerica/UNC316/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC316/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC317 – CS14 Management Experience - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC317/" href="http://www.msteched.com/2010/NorthAmerica/UNC317/"&gt;http://www.msteched.com/2010/NorthAmerica/UNC317/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC318 – CS14 – Conferencing and Backend - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC321" href="http://www.msteched.com/2010/NorthAmerica/UNC321"&gt;http://www.msteched.com/2010/NorthAmerica/UNC321&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC321 – Interoperability of IM, Presence, A/V and Voice - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC321" href="http://www.msteched.com/2010/NorthAmerica/UNC321"&gt;http://www.msteched.com/2010/NorthAmerica/UNC321&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC322 – The New Communicator 14 Platform - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC322" href="http://www.msteched.com/2010/NorthAmerica/UNC322"&gt;http://www.msteched.com/2010/NorthAmerica/UNC322&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;UNC401 – Advanced SIP Solutions and UCMA - &lt;a title="http://www.msteched.com/2010/NorthAmerica/UNC401" href="http://www.msteched.com/2010/NorthAmerica/UNC401"&gt;http://www.msteched.com/2010/NorthAmerica/UNC401&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Press and Release PR Coverage&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As often happens, much the industry found out about Lync Server’s public debut from non-Microsoft sources, quickly followed by the MS presentation. Here is some of the press background if you are interested.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Mary Jo Foley’s ‘announcement’ that Lync 2010 RC has shipped&lt;/strong&gt;: &lt;a title="http://www.zdnet.com/blog/microsoft/microsoft-delivers-near-final-test-build-of-lync-pbx-competitor/7360" href="http://www.zdnet.com/blog/microsoft/microsoft-delivers-near-final-test-build-of-lync-pbx-competitor/7360"&gt;http://www.zdnet.com/blog/microsoft/microsoft-delivers-near-final-test-build-of-lync-pbx-competitor/7360&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft's Official Press release&lt;/strong&gt;: &lt;a title="http://www.microsoft.com/Presspass/press/2010/sep10/LyncPR.mspx" href="http://www.microsoft.com/Presspass/press/2010/sep10/LyncPR.mspx"&gt;http://www.microsoft.com/Presspass/press/2010/sep10/LyncPR.mspx&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Introducing Microsoft Lync, the next OCS&lt;/strong&gt; – the product team’s blog post that ‘announces’ Lync. &lt;a title="http://blogs.technet.com/b/uc/archive/2010/09/13/introducing-microsoft-lync-the-next-ocs.aspx" href="http://blogs.technet.com/b/uc/archive/2010/09/13/introducing-microsoft-lync-the-next-ocs.aspx"&gt;http://blogs.technet.com/b/uc/archive/2010/09/13/introducing-microsoft-lync-the-next-ocs.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Latest Coverage&lt;/strong&gt; This page is from MS setting out Lync related press articles. &lt;a title="http://www.microsoft.com/en-us/lync/reviews-news.aspx" href="http://www.microsoft.com/en-us/lync/reviews-news.aspx"&gt;http://www.microsoft.com/en-us/lync/reviews-news.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/strong&gt;Email me any changes or updates and I’ll try to keep this list up to date!&lt;/p&gt;  &lt;p&gt;[UPDATES TO ORIGINAL POSTING]&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;15 Sept 2010 - Added CS4 web casts, Added Podcast section and did some minor re-org of the list itself. Also added update list &lt;/li&gt;    &lt;li&gt;17 Sept 2010 – Separated out the Press/PR stuff from basic tech info. Added Lab deployment guide reference. &lt;/li&gt;    &lt;li&gt;18 Sept 2010 – fixed missing link to Thomas/Cezar's podcast, added Worked Deployment Guide from Jeff Schertz. &lt;/li&gt;    &lt;li&gt;4 Oct 2010 – added details on licensing and links to planning documentation. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:390c5852-c08d-4584-b085-69b1b7db11ce" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync2010" rel="tag"&gt;Lync2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync+Resources" rel="tag"&gt;Lync Resources&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-5249270281840564819?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/5249270281840564819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=5249270281840564819' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5249270281840564819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5249270281840564819'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/lync-resources.html' title='Microsoft Lync 2010/Microsoft Lync Server 2010 - Resources'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3077646843988348308</id><published>2010-09-13T12:56:00.001+01:00</published><updated>2010-09-13T12:57:11.474+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Master Class'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='LabCenter'/><title type='text'>PowerShell Master Classes</title><content type='html'>&lt;p&gt;I’ve been teaching my PowerShell Master Classes both in Europe and in the US over the past 6 months. After two classes in Stockholm, I taught in the US (teaching Microsoft’s Hotmail Engineering team), and in Copenhagen – plus a one-day session for a client in the City of London.&amp;#160; &lt;/p&gt;  &lt;p&gt;There are now two classes – both three days. The PowerShell Basics class covers the basics of PowerShell both from the command line and as a scripting tool. The PowerShell Advanced class looks at more advanced features of PowerShell, particularly its use in the OS, as well as key applications including SQL Server, Exchange 2010, SQL and IIS.&lt;/p&gt;  &lt;p&gt;The next runs of the PowerShell Master Classes are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;September 21 2010 – &lt;a href="http://labcenter.se/Lab/2067"&gt;PowerShell Basics - Stockholm&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;November 17 2010&amp;#160; - PowerShell Basics – New York (details due shortly) &lt;/li&gt;    &lt;li&gt;November 24 – &lt;a href="http://labcenter.se/Lab/2056"&gt;PowerShell Advanced – Stockholm.&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ll post more details on the agenda for these classes shortly. I am also working on a Weekend 2-day Script Camp – watch this space for more details once we have them finalised.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:50b65376-7452-4cdc-bdad-f2cd29676b30" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Lab+Center" rel="tag"&gt;Lab Center&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/training" rel="tag"&gt;training&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Master+Class" rel="tag"&gt;PowerShell Master Class&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3077646843988348308?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3077646843988348308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3077646843988348308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3077646843988348308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3077646843988348308'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/powershell-master-classes.html' title='PowerShell Master Classes'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3399125138338684844</id><published>2010-09-13T12:43:00.001+01:00</published><updated>2010-09-13T12:43:59.215+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lync 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Lync'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Microsoft Ships RC of Lync (renamed from Communications Server)</title><content type='html'>&lt;p&gt;Thanks to &lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-delivers-near-final-test-build-of-lync-pbx-competitor/7360"&gt;May Jo Foley’s piece in ZDNet&lt;/a&gt;, I see Microsoft has just shipped a release candidate for Lync Server 2010. Lync, formerly known as Communications Server ‘14’ is the successor to Office Communications Server. The name, said to connect link and sync, is important in that it simplifies the branding with much shorter names for the constituent components.&lt;/p&gt;  &lt;p&gt;Lync combines presence, instant messaging, conferencing and telephony – allowing you to simplify communications and in due course reduce the costs of running your legacy phone system.&amp;#160; Presence enables your users to know what each other is doing thus simplifying communications. If I want to chat to someone, and I see they are in a meeting, I know the call would be wasted. Combined with presence, IM enables fast peer to peer and sometimes peer to multiple peer communication. Lync 2010’s voice capabilities should enable many companies to adopt the product as their main PBX. &lt;/p&gt;  &lt;p&gt;At the time of writing, Microsoft has put up the RC for download here: &lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=29366ba5-498f-4d21-bc3e-0b4e8ba58fb1&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm&lt;/a&gt; (don’t you love the snappy urls?). This page also has links to more Lync Server 2010 information, but these links do not yet exist. No doubt these will get put up shortly. &lt;/p&gt;  &lt;p&gt;The download is just over 1.5GB and contains both the Standard and Enterprise Editions of Lync 2010. In keeping with recent platform changes, this RC (and the final product in due course) ships as 64-bit only which means you need to be running a 64-bit OS (and here I recommend running Server 2008 R2!). &lt;/p&gt;  &lt;p&gt;Over the coming weeks, I’ll blog more about the functions and features of this cool product. Not least of which is the PowerShell interface.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f809d402-01a1-445f-9d69-53263a808da7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lync" rel="tag"&gt;Lync&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Communications+Server" rel="tag"&gt;Communications Server&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OCS" rel="tag"&gt;OCS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Office+Communications+Server" rel="tag"&gt;Office Communications Server&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3399125138338684844?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3399125138338684844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3399125138338684844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3399125138338684844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3399125138338684844'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/microsoft-ships-rc-of-lync-renamed-from.html' title='Microsoft Ships RC of Lync (renamed from Communications Server)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1734250218367642400</id><published>2010-09-04T18:39:00.001+01:00</published><updated>2010-09-04T18:40:44.785+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Calling Functions in PowerShell</title><content type='html'>&lt;p&gt;I spent quite a bit of time earlier this week with a problem in calling worker functions. In a PowerShell script, or a PowerShell session, if there are a set of commands you run more than once or twice, one thing you can do is to put them into function then just call the function rather than typing out all the individual commands. Worker functions can make scripts a lot shorter. You can see an example of a worker function over here: &lt;a title="http://pshscripts.blogspot.com/2010/09/get-umalquracalendarps1.html" href="http://pshscripts.blogspot.com/2010/09/get-umalquracalendarps1.html"&gt;http://pshscripts.blogspot.com/2010/09/get-umalquracalendarps1.html&lt;/a&gt;. In that example, you can see a worker function, DisplayValues (begins at line 45), which I then call several times in the script.&lt;/p&gt;  &lt;p&gt;The problem I had this week was that for some reason, the worker function was spewing out nothing like what I was expecting. I started at the code for some time before spotting the problem – I’d not use the right calling process to invoke the function. A typical newbie mistake.&lt;/p&gt;  &lt;p&gt;In .Net method calls, you state the name of the object, a “.” followed by the method name, and a parameter list enclosed in parentheses:&amp;#160; $object.method($a, $b, $c).&amp;#160; But a function is called without the parentheses, and the&amp;#160; parameters are space, not comma delimited, or function $a $b $c.&lt;/p&gt;  &lt;p&gt;To illustrate this problem, I’ve written a little script that defines a worker function then calls it several ways:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;function wf1 {         &lt;br /&gt;param (&amp;#160;&amp;#160;&amp;#160; $a, $b, $c)          &lt;br /&gt;&amp;quot;`$a:&amp;quot; ; $a; &amp;quot;&amp;quot;          &lt;br /&gt;&amp;quot;`$b:&amp;quot; ; $b; &amp;quot;&amp;quot;          &lt;br /&gt;&amp;quot;`$c:&amp;quot; ; $c; &amp;quot;&amp;quot;          &lt;br /&gt;}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;wf1(&amp;quot;Foo&amp;quot;,'Bar',&amp;quot;foobar&amp;quot;)         &lt;br /&gt;wf1&amp;#160; &amp;quot;Foo&amp;quot;,'Bar',&amp;quot;foobar&amp;quot;          &lt;br /&gt;wf1&amp;#160; &amp;quot;Foo&amp;quot; 'Bar' &amp;quot;foobar&amp;quot;          &lt;br /&gt;wf1 –c “foobar” –a “Foo” –b “Bar:&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The output from this is left as an exercise for the reader!&lt;/p&gt;  &lt;p&gt;Now the first two times the script calls the worker function, PowerShell assigns the array (i.e the stuff delimited by commas) to the first parameter, leaving the second two parameters empty. Not what you want. The second two examples call the worker function correctly. Arguably the last of the calling sequence is better from a production orientated point of view.&lt;/p&gt;  &lt;p&gt;On interesting thing – all four of those calling sequences ‘works’ and by default presents no apparent errors. However, if you set strict mode (Set-Strictmode) and setting version to 2 would warn that the first call was in error like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;PSH [C:\foo]: . 'C:\Users\tfl\AppData\Local\Temp\Untitled5.ps1'         &lt;br /&gt;The function or command was called as if it were a method. Parameters should be separated by spaces. For information about parameters, see the about_Parameters Help topic.          &lt;br /&gt;At C:\Users\tfl\AppData\Local\Temp\Untitled5.ps1:8 char:4          &lt;br /&gt;+ wf1 &amp;lt;&amp;lt;&amp;lt;&amp;lt; (&amp;quot;Foo&amp;quot;,'Bar',&amp;quot;foobar&amp;quot;)          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + CategoryInfo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : InvalidOperation: (:) [], RuntimeException          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + FullyQualifiedErrorId : StrictModeFunctionCallWithParens          &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now had I had the relevant line set in my profile, I’d not have wasted an hour wondering why things were not working. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3501eb19-27eb-45f9-b6a5-a47675f1c2c0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+fundamentals" rel="tag"&gt;PowerShell fundamentals&lt;/a&gt;,&lt;a href="http://technorati.com/tags/those+DUUUH+moments" rel="tag"&gt;those DUUUH moments&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1734250218367642400?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1734250218367642400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1734250218367642400' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1734250218367642400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1734250218367642400'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/calling-functions-in-powershell.html' title='Calling Functions in PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6895595317442670048</id><published>2010-09-02T12:11:00.001+01:00</published><updated>2010-09-02T12:17:05.505+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Paper.Li – Organising Twitter Information</title><content type='html'>&lt;p&gt;Although Newspapers of the physically printed variety are dying all around us, the metaphor that is a newspaper fails to die. I’ve been playing a bit today with Paper.Li – one of those hundreds of sites that leverage Twitter and add value to your Twitter stream. I’ve created my own 'newspaper’ - &lt;a title="http://paper.li/doctordns" href="http://paper.li/doctordns"&gt;http://paper.li/doctordns&lt;/a&gt;. This page is updated once every 24 hours and features links that Paper.Li has gleaned from my twitter feed.&amp;#160; It’s nicely laid out and features my own tweets, plus tabs I follow. In my case, the paper also includes tweets with the hash-tag #PowerShell. I’m kind of surprised I don’t see more Grateful Dead links, but we’ll see.&lt;/p&gt;  &lt;p&gt;The papers that you can create with Paper.Li are one of three broad types: You and your tweet stream, hash tag, @people. The first is the model I noted above – Paper.Li parses your tweet feed/stream (tweets you get from those you follow and those you make) and makes a paper. The second makes the newspaper from tweets containing a particular hash tag. For example, the PowerShell hash tag is #PowerShell, and there’s a related newspaper&amp;#160; &lt;a title="http://paper.li/tag/PowerShell" href="http://paper.li/tag/PowerShell"&gt;http://paper.li/tag/PowerShell&lt;/a&gt;.&amp;#160; The @people paper is based on a list of folks you create on Twitter. &lt;a title="http://paper.li/jkavanagh58/powershell" href="http://paper.li/jkavanagh58/powershell"&gt;http://paper.li/jkavanagh58/powershell&lt;/a&gt;, for example, is a paper based on @jkavanagh58’s PowerShell twitter list. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5303b8e1-58c6-4f99-9a9b-67886d8dc901" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/twitter" rel="tag"&gt;twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/paper.li" rel="tag"&gt;paper.li&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6895595317442670048?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6895595317442670048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6895595317442670048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6895595317442670048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6895595317442670048'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/09/paperli-organising-twitter-information.html' title='Paper.Li – Organising Twitter Information'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-890025019348179657</id><published>2010-08-04T19:21:00.001+01:00</published><updated>2010-08-04T19:22:15.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='blogs'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell blogs'/><title type='text'>PSHSCripts.Blogspot.Com – 2 years On!</title><content type='html'>&lt;p&gt;Just over 2 years ago, I created a new blog, The PowerShell Scripts blog over at &lt;a href="http://pshscripts.blogspot.com"&gt;http://pshscripts.blogspot.com&lt;/a&gt;. The idea was simple – a blog with single function PowerShell scripts. Scripts that demonstrated one (or at least a very small number) of things to do with PowerShell. I had in mind that since the blog was hosted by Google, they’d do a good job of indexing it, and providing links to it. Which is exactly what happened.&lt;/p&gt;  &lt;p&gt;In the two years, I’ve had over 65,000 visitors to the blog. At present, I’m getting around 170 hits per day and just under 300 page hits per day on average over a week. However, this is very much a week day blog with Monday-Friday tending to be closer to 200+ hits/day during the week. &lt;/p&gt;  &lt;p&gt;But the interesting, and gratifying, thing is the percentage of hits coming from the key search engines (Google and more recently Bing) and the search terms they are using. I’ve used a free traffic counter from sitemeter to measure the traffic, but I only see the last 1000 visitors and had not added a more permanent tracking system – but I’ve recently added Google Analytics the site. So far, the results from both sites show the same tends. &lt;/p&gt;  &lt;p&gt;Looking at the Analytic's output for the past month. around 70% of all the traffic to the blog comes from Google and Bing with a bit more from PowerShell.com, TechNet and this blog. There are a few other search engines that send traffic, but Google and Bing are dominant.&amp;#160; Also, around 13% of the traffic comes from direct hits on &lt;a href="http://pshscripts.blogspot.com"&gt;http://pshscripts.blogspot.com&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;Looking at the search terms used is also interesting. PowerShell Scripts (and PowerShell script) make up 18% or all hits. Below those two, there’s a very long tail of relatively low numbers of hits over the past month. There were just around 1000 separate search terms used – and all but a handful more than once or twice. That shows that the narrow focus of each post has proven useful – you can search with a fairly narrow term, such as “PowerShell ipaddress wmi” or “powershell send udp” and see the blog at the top or near the top of the 1st page. &lt;/p&gt;  &lt;p&gt;There were two discoveries that were curious. First, looking at the referring sites, I noticed one site had a relatively high number of pages per visit and a long time too on average time on site. The bounce rate for this traffic was also very very low. It turns out that an IT professor in Viet Nam has put a link to my blog and all the slides from the upcoming PowerShell V2 class. Not sure about the legality of putting the slides up – but see for yourself at &lt;a title="http://hoanguyen40.ecoles.officelive.com/OSScripting.aspx" href="http://hoanguyen40.ecoles.officelive.com/OSScripting.aspx"&gt;http://hoanguyen40.ecoles.officelive.com/OSScripting.aspx&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The other amusing thing I found is that, when looking at the networks that send you traffic (think ISP). The top network listed was Microsoft!&lt;/p&gt;  &lt;p&gt;All in all, a good first two years for this blog – getting several hundred hits a day is more than I expected.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:128a5038-22fa-4a1b-b740-aa36401c69e3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Scripts" rel="tag"&gt;PowerShell Scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PowerShell+Scripts+blog" rel="tag"&gt;PowerShell Scripts blog&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-890025019348179657?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/890025019348179657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=890025019348179657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/890025019348179657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/890025019348179657'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/08/pshscriptsblogspotcom-2-years-on.html' title='PSHSCripts.Blogspot.Com – 2 years On!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-6171915777065081942</id><published>2010-08-03T15:40:00.002+01:00</published><updated>2010-08-04T13:26:41.922+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Remoting'/><title type='text'>Using Later Versions of the .NET Framework Remotely</title><content type='html'>&lt;p&gt;I’ve posted a couple of articles recently regarding using later versions of the .NET Framework. Through the magic of .NET, you can just create a simple .CONFIG file to tell the relevant executable to use a later version of the framework by default. A .CONFIG file is just a very simple bit of XML as I demonstrated &lt;a href="http://tfl09.blogspot.com/2010/08/using-newer-versions-of-net-with.html"&gt;here, where I show how to create the XML and save it as PowerShell.Exe.CONFIG&lt;/a&gt;. This worked fine to enable the PowerShell console to use later versions of the framework. And &lt;a href="http://tfl09.blogspot.com/2010/08/more-on-using-different-versions-of-net.html"&gt;I showed some of those results in a separate post here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;To enable this work work with PowerShell Plus, I just went and found the executable for PowerShell Plus, created the relevant .CONFIG file (PowerShellPlus.Exe.CONFIG). Now PowerShell Plus brings up .NET 4 too! Yeah! Or so I thought. &lt;/p&gt;  &lt;p&gt;After posting these articles I saw on Twitter that @&lt;a href="http://twitter.com/qa_warrior"&gt;qa_warrio&lt;/a&gt;r was having trouble doing this remotely. The upshot of his problem was that even though he’d configured PowerShell to use .NET 4.0 on both client and server, when he remoted, his remote session was based on 2.0. It turns out that this too was simple to fix – if you understand how PowerShell remoting is implemented on the remote host&lt;/p&gt;  &lt;p&gt;.&lt;/p&gt;  &lt;p&gt;When you create a new PSSession with a remote server, what you are doing is instantiating a PowerShell runspace and sending it commands to execute (and returning the results, albeit serialised). In order for the remote machine to create (and later use) the runspace, Windows needs to house that runspace inside a process. Powershell 2.0 creates that runspace inside an executable wsmprovhost.exe.&amp;#160; You can see this in action here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_vSCVOcKqpUo/TFgqV-zQhFI/AAAAAAAAALo/VGsJGBCWyUw/s1600-h/SNAGHTML57421abb%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SNAGHTML57421abb" border="0" alt="SNAGHTML57421abb" src="http://lh6.ggpht.com/_vSCVOcKqpUo/TFgqW7ou48I/AAAAAAAAALs/6bqtPVzzYNk/SNAGHTML57421abb_thumb%5B2%5D.png?imgmax=800" width="875" height="486" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this screenshot, I created two remote sessions (admittedly to my self – but ‘remote’ nonetheless). You can see the two occurrences of wsmprovhost.exe and the two remote sessions. After removing these remote session, you can see that there are no occurrences of either wsmprovhost or the remote sessions. Then after you create a new PSSession, you can see the new session and the new occurrence of wsmprovhost. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a8904567-2bc1-4248-9a68-6ae25bfd75d3" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Remoting" rel="tag"&gt;Remoting&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-6171915777065081942?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/6171915777065081942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=6171915777065081942' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6171915777065081942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/6171915777065081942'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/08/using-later-versions-of-net-framework.html' title='Using Later Versions of the .NET Framework Remotely'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_vSCVOcKqpUo/TFgqW7ou48I/AAAAAAAAALs/6bqtPVzzYNk/s72-c/SNAGHTML57421abb_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-5929959603260856393</id><published>2010-08-02T18:37:00.001+01:00</published><updated>2010-08-02T18:37:46.396+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell V2'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>More on Using Different Versions of the .NET Framework</title><content type='html'>&lt;p&gt;&lt;a href="http://tfl09.blogspot.com/2010/08/using-newer-versions-of-net-with.html"&gt;In yesterday’s blog post&lt;/a&gt;, I wrote about being able to use later versions of the .NET Framework with PowerShell. The trick was simple: create a config file, a small file of XML, to enable the use of, in my case, the .NET Framework Version 4 and the new namespace System.Numerics. That XML file tells PowerShell what version of the .NET Framework to load. You can see this if you display $psversiontable variable. By default, you’ll see something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;PSH [C:\foo]: $PSVersionTable &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Value         &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----          &lt;br /&gt;CLRVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;u&gt;2.0.50727.4200           &lt;br /&gt;&lt;/u&gt;BuildVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6.0.6002.18111          &lt;br /&gt;PSVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.0          &lt;br /&gt;WSManStackVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.0          &lt;br /&gt;PSCompatibleVersions&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {1.0, 2.0}          &lt;br /&gt;SerializationVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1.1.0.1          &lt;br /&gt;PSRemotingProtocolVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.1&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But with the .Config file in place, you’d now see this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;PSH [C:\foo]: $PSVersionTable &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Value         &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -----          &lt;br /&gt;PSVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.0          &lt;br /&gt;PSCompatibleVersions&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {1.0, 2.0}          &lt;br /&gt;BuildVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 6.0.6002.18111          &lt;br /&gt;PSRemotingProtocolVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.1          &lt;br /&gt;WSManStackVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2.0          &lt;br /&gt;CLRVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;u&gt;4.0.30319.1&lt;/u&gt;          &lt;br /&gt;SerializationVersion&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1.1.0.1&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Another key difference is that when you now load additional .NET namespaces using LoadWithPartialName, you will get later version of the dll (the exact version number loaded depends on what you put into the config file. So loading Windows Forms now looks like this:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;PSH [C:\foo]: [system.Reflection.Assembly]::LoadWithPartialName(&amp;quot;System.Windows.Forms&amp;quot;) &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;GAC&amp;#160;&amp;#160;&amp;#160; Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location         &lt;br /&gt;---&amp;#160;&amp;#160;&amp;#160; -------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------          &lt;br /&gt;True&amp;#160;&amp;#160; v4.0.30319&amp;#160;&amp;#160;&amp;#160; C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c…&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;By default, you got this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;PSH [C:\foo]: [system.Reflection.Assembly]::LoadWithPartialName(&amp;quot;system.windows.forms&amp;quot;) &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;GAC&amp;#160;&amp;#160;&amp;#160; Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location         &lt;br /&gt;---&amp;#160;&amp;#160;&amp;#160; -------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------          &lt;br /&gt;True&amp;#160;&amp;#160; v2.0.50727&amp;#160;&amp;#160;&amp;#160;&amp;#160; C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c…&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It’s pretty easy to use later versions of the .NET Framework. These later versions provide new classes you may find useful. &lt;/p&gt;  &lt;p&gt;PSH [C:\foo]: [system.Reflection.Assembly]::LoadWithPartialName(&amp;quot;system.windows.forms&amp;quot;) &lt;/p&gt;  &lt;p&gt;GAC&amp;#160;&amp;#160;&amp;#160; Version&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location   &lt;br /&gt;---&amp;#160;&amp;#160;&amp;#160; -------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --------    &lt;br /&gt;True&amp;#160;&amp;#160; v2.0.50727&amp;#160;&amp;#160;&amp;#160;&amp;#160; C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll&lt;/p&gt;  &lt;p&gt;But beware of doing this in a data centre without testing that your existing scripts are fully compatible with the later versions of the Framework. You shouldn’t have any problems as MS is pretty good about forward compatibility, but it never hurts to be careful.&amp;#160; Just ensure you do thorough testing before rolling this out across the board.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d162b31f-3434-4f63-8a09-84bd4f6dc308" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET+4.0" rel="tag"&gt;.NET 4.0&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-5929959603260856393?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/5929959603260856393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=5929959603260856393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5929959603260856393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/5929959603260856393'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/08/more-on-using-different-versions-of-net.html' title='More on Using Different Versions of the .NET Framework'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1521364827017949406</id><published>2010-08-01T22:49:00.001+01:00</published><updated>2010-08-01T22:49:14.847+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Using Newer Version(s) of .NET with PowerShell</title><content type='html'>&lt;p&gt;I’ve been playing around a bit with the latest version of the .NET Framework. There are some pretty cool new classes and namespaces but one that caught my eye was System.Numerics. This namespace has two neat classes: System.Numerics.BigInteger and Sytem.Numerics.Complex – these represent big integers and complex numbers respectively. To demonstrate the BigIngteger class, I’ve written two small scripts: &lt;a href="http://pshscripts.blogspot.com/2010/08/get-bigintegerpropertiesps1.html"&gt;New-BigInteger.ps1&lt;/a&gt; and &lt;a href="http://pshscripts.blogspot.com/2010/08/get-bigintegerpropertiesps1.html"&gt;Get-BigIntegerProperties.ps1&lt;/a&gt; (with more to come!). You can get these and several hundred more PowerShell scripts from my &lt;a href="http://pshscriptsblog.blogspot.com"&gt;Powershell Scripts blog&lt;/a&gt;. When I first started to develop these scripts, starting first to translate an MSDN sample from C# into&amp;#160; PowerShell, I came across some curious errors. In the end learned how to call updated versions of the .NET Framework.&lt;/p&gt;  &lt;p&gt;By default, PowerShell uses .NET version 2.0. But if you want to use classes implemented in later versions of the Framework (in namespaces that are not loaded by default of course), you first need to load the relevant dll. You can do this as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;Add-Type -Path &amp;quot;C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Numerics.dll&amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But there’s only one problem (by default!) – when you do this you get the following run time error:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;Add-Type : Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Numerics.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.         &lt;br /&gt;At line:1 char:9          &lt;br /&gt;+ Add-Type &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;#160; -Path &amp;quot;C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Numerics.dll&amp;quot;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + CategoryInfo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : NotSpecified: (:) [Add-Type], BadImageFormatException          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + FullyQualifiedErrorId : System.BadImageFormatException,Microsoft.PowerShell.Commands.AddTypeCommand&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The solution is pretty simple – just tell PowerShell to use a later version of the CLR. To do this, you need to create a config file, named PowerShell.Exe.Config, located in the same folder as PowerShell.Exe (and another one for PowerShellISE.Exe, or PowerShellISE.Exe.Config). These config files contain a small bit of XML to tell the system which version of the CLR to use. To access the .NET 4.0 versions, use the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;         &lt;br /&gt;&amp;lt;configuration&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;supportedRuntime version=&amp;quot;v4.0.30319&amp;quot;/&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;supportedRuntime version=&amp;quot;v2.0.50727&amp;quot;/&amp;gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/startup&amp;gt;          &lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;With this XML created, just restart PowerShell and you can add the System.Numerics.Dll and use the classes in that namespace!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e75935ca-b8cd-4ff5-9a9a-e59916f24720" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET+Framework+4" rel="tag"&gt;.NET Framework 4&lt;/a&gt;,&lt;a href="http://technorati.com/tags/config" rel="tag"&gt;config&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1521364827017949406?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1521364827017949406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1521364827017949406' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1521364827017949406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1521364827017949406'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/08/using-newer-versions-of-net-with.html' title='Using Newer Version(s) of .NET with PowerShell'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-506830251301138516</id><published>2010-07-13T10:59:00.003+01:00</published><updated>2010-07-15T14:16:52.668+01:00</updated><title type='text'>A Quiet Word to the Chinese Comment Spammer</title><content type='html'>Hi.&amp;nbsp; Thanks for all your comments, especially all those that contain URLs to adult sites. I appreciate how you follow up nearly every post to this blog with more comment spam. You will notice that none of the comments actually get published – that’s because I review every comment and am rejecting yours. I will continue to reject spam like this, so you might consider not wasting your, and my, time with comments that will never get published (not now and not ever).&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #660000;"&gt;
[later]&lt;/div&gt;
&lt;br /&gt;
Almost as predicted, you (&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type"&gt;&lt;/meta&gt;&lt;meta content="Word.Document" name="ProgId"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 14" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 14" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CUsers%5Ctfl%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CUsers%5Ctfl%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CUsers%5Ctfl%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;
	mso-font-alt:"ＭＳ ゴシック";
	mso-font-charset:128;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
@font-face
	{font-family:"MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;
	mso-font-alt:"ＭＳ ゴシック";
	mso-font-charset:128;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-520092929 1073786111 9 0 415 0;}
@font-face
	{font-family:"\@MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;
	mso-font-charset:128;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
--&gt;
&lt;/style&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;a href="http://www.blogger.com/profile/05922232553139765159"&gt;&lt;span style="font-family: &amp;quot;MS Gothic&amp;quot;;"&gt;婉婷&lt;/span&gt;&lt;/a&gt;) did indeed try to leave a spam comment message. :-(&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-506830251301138516?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/506830251301138516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=506830251301138516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/506830251301138516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/506830251301138516'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/07/quiet-word-to-chinese-comment-spammer.html' title='A Quiet Word to the Chinese Comment Spammer'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7096896648689339617</id><published>2010-07-12T18:26:00.001+01:00</published><updated>2010-07-12T18:26:54.934+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='speak'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Needs a New Approved Verb</title><content type='html'>&lt;p&gt;I’ve been playing around a bit with the System.Speech namespace, in particular the System.Speech.Synthesis.SpeechSynthesizer class. This class allows you go get the Speech Synthesis engine speak for you. On my workstation, I have just one voice, called Anna. If you look over on my &lt;a href="http://pshscripts.blogspot.com/"&gt;PSHScripts blog&lt;/a&gt;, there’s &lt;a href="http://pshscripts.blogspot.com/2010/07/get-installedvoiceps1.html"&gt;a script to get all of the voices installed on your system&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;As you can see from the script, the class is pretty simple, although it’s one that PowerShell loads by default. Once you create a SpeechSynthesizer object, you can then get the installed voices as the script shows. As you can see, on my system, there’s only one loaded voice (Anna).&amp;#160; The Speech Synthesizer has another useful class – Speak (well two, the second being SpeakAsync). These methods enable the SpeechSynthesizer object to speak some text. &lt;/p&gt;  &lt;p&gt;I’ve written a couple of scripts that will demonstrate these APIs, and I’ll publish these shortly. But in doing so, I realised that the &lt;a href="http://blogs.msdn.com/b/powershell/archive/2009/07/15/final-approved-verb-list-for-windows-powershell-2-0.aspx"&gt;PowerShell Approved Verb list&lt;/a&gt; needs a new verb: Speak, which mirrors the Speak method. If you look closely at the approved verb list, there’s no verbs relating to a voice modality, which with the benefit of hindsight, is unfortunate. For Version 3, I think a new verb is needed, which could be Speak (my favourite) or perhaps Say. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1e3df4c0-b3d7-46aa-98c3-dec65be79b4b" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Approved+Verbs" rel="tag"&gt;Approved Verbs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/speak" rel="tag"&gt;speak&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7096896648689339617?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7096896648689339617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7096896648689339617' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7096896648689339617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7096896648689339617'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/07/powershell-needs-new-approved-verb.html' title='PowerShell Needs a New Approved Verb'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-2085412444068195391</id><published>2010-07-02T19:41:00.001+01:00</published><updated>2011-10-31T13:19:41.136Z</updated><title type='text'>PowerShell and XML Element Attributes</title><content type='html'>&lt;p&gt;I’ve been playing a bit this week with XML and PowerShell. As you no doubt know, PowerShell has first class XML support built in. To see more about that, see &lt;a href="http://powershell.com/cs/blogs/ebook/archive/2009/03/30/chapter-14-xml.aspx"&gt;Tobias’s Ebook Chapter on XML and PowerShell&lt;/a&gt;. My task this week was to work with attributes that can appear inside an XML tag. I was using the .NET XML class System.XML.XMLElement and it’s various attribute related method.&lt;/p&gt;  &lt;p&gt;An XML Element, &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.xmlelement.aspx"&gt;as&amp;#160; noted in MSDN&lt;/a&gt;, is a node in a DOM (XML) document. These elements can have attributes which you can associate with the element. For example, consider the following XML element:&lt;/p&gt;  &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;&amp;lt;book genre='novel' ISBN='1-861001-57-5'&amp;gt;        &lt;br /&gt;&amp;lt;title&amp;gt;Pride And Prejudice&amp;lt;/title&amp;gt;         &lt;br /&gt;&amp;lt;/book&amp;gt;&amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Such an element would normally be part of a much larger collection (eg &amp;lt;books&amp;gt;&amp;lt;/books&amp;gt;), but for the purposes of playing with element attributes, you can load it and then treated as an XML document with elements (albeit not many). You can load this document like this (and yes, there are a&amp;#160; bunch more ways!)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;$Doc = New-Object System.Xml.XmlDocument&amp;#160; &lt;br /&gt;$Doc.LoadXml(&amp;quot;&amp;lt;book genre='novel' ISBN='1-861001-57-5'&amp;gt;&amp;quot; +&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;#160;&amp;#160; &amp;lt;title&amp;gt;Pride And Prejudice&amp;lt;/title&amp;gt;&amp;quot; +&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;lt;/book&amp;gt;&amp;quot;&lt;/font&gt;&lt;/strong&gt; )&amp;#160; &lt;/p&gt; &lt;/blockquote&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p&gt;In the XML document, the book element has two attributes, genre and ISBN. Each attribute has the simple format (in the XML) of &amp;lt;attribute name&amp;gt;=&amp;lt;attributevalue&amp;gt;. &lt;/p&gt;  &lt;p&gt;Once you load the document, you can do things like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Check whether an element has a particular named attribute &lt;/li&gt;    &lt;li&gt;Get the value of an attribute &lt;/li&gt;    &lt;li&gt;Remove an attribute &lt;/li&gt;    &lt;li&gt;Set and attribute &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To do this in PowerShell you would do something like this, e.g. to set an attribute:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;$Root = $Doc.DocumentELement          &lt;br /&gt;$Root.SetAttribute(&amp;quot;attributename&amp;quot;,&amp;quot;value&amp;quot;) &lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In richer XML scripts the attributename and the value would be held in a variable (that you in turn might have obtained from another XML document).&lt;/p&gt;  &lt;p&gt;I’ve written several sample scripts over on the PowerShell scripts blog, which re-implement a number of MSDN attribute handling C# samples:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/get-xmlattributeps1.html"&gt;Get-XMLAttribute.ps1&lt;/a&gt; – this script loads the XML then checks to see if the element has an attribute and if so, the code prints out the value of the attribute. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/get-xmlattributeps1.html"&gt;Remove-XMLAttribute&lt;/a&gt; and &lt;a href="http://pshscripts.blogspot.com/2010/06/remove-xmlattributeatps1.html"&gt;Remove-XMLAttributeAt&lt;/a&gt;.ps1 – these scripts load the XML and then remove the attribute, but using different .NET methods (i.e. RemoveAttribute and RemoveAttributeAt). Using the Remove AttributeAt, where you specify the position of the attribute, and not the name, is potentially dangerous. I have the t-shirt on that one!&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/set-xmlattributeps1.html"&gt;Set-XMLAttribute.ps1&lt;/a&gt; – this script as the name might imply, loads the XML and adds an attribute to the element. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Fun stuff!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c236f5b-0273-4dfa-9bf4-e0cf72b32c75" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XML" rel="tag"&gt;XML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MSDN" rel="tag"&gt;MSDN&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-2085412444068195391?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/2085412444068195391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=2085412444068195391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2085412444068195391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/2085412444068195391'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/07/powershell-and-xml-element-attributes_02.html' title='PowerShell and XML Element Attributes'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-1803699486232473783</id><published>2010-07-02T19:41:00.000+01:00</published><updated>2010-07-02T19:41:00.939+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='MS'/><title type='text'>PowerShell and XML Element Attributes</title><content type='html'>&lt;p&gt;I’ve been playing a bit this week with XML and PowerShell. As you no doubt know, PowerShell has first class XML support built in. To see more about that, see &lt;a href="http://powershell.com/cs/blogs/ebook/archive/2009/03/30/chapter-14-xml.aspx"&gt;Tobias’s Ebook Chapter on XML and PowerShell&lt;/a&gt;. My task this week was to work with attributes that can appear inside an XML tag. I was using the .NET XML class System.XML.XMLElement and it’s various attribute related method.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.xmlelement.aspx"&gt;As noted in MSDN&lt;/a&gt;, are a node in a DOM (XML) document. These elements can have attributes which you can associate with the element. For example, consider the following XML element:&lt;/p&gt;  &lt;p&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;strong&gt;&amp;lt;book genre='novel' ISBN='1-861001-57-5'&amp;gt;       &lt;br /&gt;&amp;lt;title&amp;gt;Pride And Prejudice&amp;lt;/title&amp;gt;        &lt;br /&gt;&amp;lt;/book&amp;gt;&amp;quot;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Such an element would normally be part of a much larger collection (et &amp;lt;books&amp;gt;&amp;lt;/books&amp;gt;), but for the purposes of playiing with element attributews, you can load it and then treated as an XML document with elements (albeit not many). You can load this document like this (and yes, there are a&amp;#160; bunch more ways!)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;$Doc = New-Object System.Xml.XmlDocument&amp;#160; &lt;br /&gt;$Doc.LoadXml(&amp;quot;&amp;lt;book genre='novel' ISBN='1-861001-57-5'&amp;gt;&amp;quot; +&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;#160;&amp;#160; &amp;lt;title&amp;gt;Pride And Prejudice&amp;lt;/title&amp;gt;&amp;quot; +&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;lt;/book&amp;gt;&amp;quot;&lt;/font&gt;&lt;/strong&gt; )&amp;#160; &lt;/p&gt; &lt;/blockquote&gt; &lt;strong&gt;&lt;/strong&gt;  &lt;p&gt;In the XML document, the book element has two attributes, genre and ISBN. Each attribute has the simple format (in the XML) of &amp;lt;attribute name&amp;gt;=&amp;lt;attributevalue&amp;gt;. &lt;/p&gt;  &lt;p&gt;Once you load the document, you can do things like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Check whether an element has a particular named attribute&lt;/li&gt;    &lt;li&gt;Get the value of an attribute &lt;/li&gt;    &lt;li&gt;Remove an attribute&lt;/li&gt;    &lt;li&gt;Set and attribute&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To do this in Powershell you would do something like this, eg to set an attribute:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;$Root = $Doc.DocumentELement         &lt;br /&gt;$Root.SetAttribute(&amp;quot;attributename&amp;quot;,&amp;quot;value&amp;quot;) &lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font color="#804040" face="Courier New"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In richer XML scripts the attributename and the value would be held in a variable (that you in turn might have obtained from another XML document).&lt;/p&gt;  &lt;p&gt;I’ve written several sample scripts over on the PowerShell scripts blog, which re-implement a number of MSDN attribute handling C# samples:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/get-xmlattributeps1.html"&gt;Get-XMLAttribute.ps1&lt;/a&gt; – this script loads the XML then checks to see if the element has an attribute and if so, the code prints out the value of the attribute.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/get-xmlattributeps1.html"&gt;Remove-XMLAttribute&lt;/a&gt; and &lt;a href="http://pshscripts.blogspot.com/2010/06/remove-xmlattributeatps1.html"&gt;Remove-XMLAttributeAt&lt;/a&gt;.ps1 – these scripts load the XML and then remove the attribute, but using different .NET methods (i.e. RemoveAttribute and RemoveAttributeAt). Using the Remove AttributeAt, where you specify the position of the attribute, and not the name, is potentially dangerous. I have the t-shirt on that one!&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://pshscripts.blogspot.com/2010/06/set-xmlattributeps1.html"&gt;Set-XMLAttribute.ps1&lt;/a&gt; – this script as the name might imply, loads the XML and adds an attribute to the element.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Fun stuff!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c236f5b-0273-4dfa-9bf4-e0cf72b32c75" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scripts" rel="tag"&gt;Scripts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XML" rel="tag"&gt;XML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MSDN" rel="tag"&gt;MSDN&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-1803699486232473783?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/1803699486232473783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=1803699486232473783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1803699486232473783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/1803699486232473783'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/07/powershell-and-xml-element-attributes.html' title='PowerShell and XML Element Attributes'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-300414943997258777</id><published>2010-06-30T19:07:00.001+01:00</published><updated>2010-06-30T19:10:09.678+01:00</updated><title type='text'>They Called Their Web Site WHAT????</title><content type='html'>&lt;p&gt;Those nice folks at Angel Internet Press sent me a copy of&amp;#160; new book: &lt;em&gt;Slurls – They Called Their Website WHAT?!&lt;/em&gt;” which has been keeping me amused. A slurl is made up term – joining ‘slur’ and ‘url’. A slurl is a web site URL that can be read in ways other than what the owner probably intended. Slurls come about when someone creates a website name based on their company, but where the words can be read in a much more amusing, and often embarrasing, way! Some of the more amusing slurls are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pen Island, a company making custom pens created: &lt;a href="http://www.penisland.net"&gt;www.penisland.net&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Lumberman’s Exchange, a site for lumberjack equipment created: &lt;a href="http://www.lumberbacksexchange.com"&gt;www.lumberbacksexchange.com&lt;/a&gt; (this was later removed)&lt;/li&gt;    &lt;li&gt;Speed of Art, and advertising web site created: &lt;a href="http://www.speedofart.com"&gt;www.speedofart.com&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Old Man’s Haven a site for renting cabins in Ohio, created &lt;a href="http://www.oldmanshaven.com"&gt;www.oldmanshaven.com&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;PowerGen Italia created my favourite: &lt;a href="http://www.powergenitalia.co.it"&gt;www.powergenitalia.co.it&lt;/a&gt;, although this too was later removed and has been obtained by an unrelated individual!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The book lists a number more slurls – most of them quite amusing. I still can’t quite work out just how someone really did create all these web sites and didn’t notice the potential gaff! The author’s website, &lt;a href="http://www.slurls.com"&gt;www.slurls.com&lt;/a&gt; shows the SLUR of the day (today, it’s google.co.ck which still has me chuckling) and has&amp;#160; discussion forums where you can suggest a SLURL and learn of those that have ceased to be. The web site also has screen shots of the site to show it’s not just a made up url, &lt;a href="http://www.slurls.com/forum/mp3shits-com-t16.html"&gt;for example this page&lt;/a&gt; pointing to an MP3 site: &lt;a href="http://www.mp3shits.com"&gt;www.mp3shits.com&lt;/a&gt; (MP3’s Hits). &lt;/p&gt;  &lt;p&gt;A light read, but highly amusing! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-300414943997258777?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/300414943997258777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=300414943997258777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/300414943997258777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/300414943997258777'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/06/they-called-their-web-site-what.html' title='They Called Their Web Site WHAT????'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-3892580712742867136</id><published>2010-06-30T18:21:00.001+01:00</published><updated>2010-06-30T18:21:20.833+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network monitor'/><title type='text'>Network Monitor V3.4 Ships</title><content type='html'>&lt;p&gt;Microsoft has just shipped a new version of Network Monitor, one of my favourite network tools. The new version has a slew of new features. MS has reworked the capturing engine to capture on faster networks without losing frames.&amp;#160; The parser logic has been updated giving you the ability to do deeper/slower parsing or shallower/faster parsing, a great feature for fast networks where shallower parsing is acceptable. The UI is also more customisable, something no doubt of value to those who use tools like every day. For a fuller list of features in the new version – see &lt;a href="http://blogs.technet.com/b/netmon/archive/2010/04/29/network-monitor-3-4-beta-released-on-connect.aspx" target="_blank"&gt;the beta blog announcement here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Microsoft also provides ongoing information via &lt;a href="http://blogs.technet.com/b/netmon/" target="_blank"&gt;the Network Monitor blog: here&lt;/a&gt;. Additionally, there’s a support forum on the&amp;#160; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151800"&gt;Network Monitor forum&lt;/a&gt;. The forums enable you to ask questions about the UI, NMCap, API, parsers and troubleshooting scenarios (and even get answers!). &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:28181f0b-8282-4c90-a333-4ad3bcc3d21f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Network+Monitor" rel="tag"&gt;Network Monitor&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Network+Monitor+3.4" rel="tag"&gt;Network Monitor 3.4&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-3892580712742867136?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/3892580712742867136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=3892580712742867136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3892580712742867136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/3892580712742867136'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/06/network-monitor-v34-ships.html' title='Network Monitor V3.4 Ships'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-4768357310242166935</id><published>2010-06-20T08:24:00.000+01:00</published><updated>2010-06-20T08:24:00.166+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idera'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell Plus'/><title type='text'>PowerShell Plus 3.5 Beta</title><content type='html'>&lt;p&gt;I use PowerShell Plus pretty much all the time for the development of PowerShell scripts. I have it on both my desktop workstation and my laptop, and I regularly demonstrate it in my classroom teaching. Those nice folks at Idera have just released the beta of the next Version, V3.5, of this cool tool which is a free download (although the final product will be commercial and is not free). &lt;/p&gt;  &lt;p&gt;The beta shows off the new features in V3.5:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Remoting Support&lt;/li&gt;    &lt;li&gt;Improved Script Sharing&lt;/li&gt;    &lt;li&gt;Enhancements to the code editor&lt;/li&gt;    &lt;li&gt;Enhancements to the Learning Center.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I have a long boring weekend ahead stuck in a hotel – I will be playing! &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6a0f2738-a02a-4919-bdcb-9659943dbdae" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+Plus" rel="tag"&gt;PowerShell Plus&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Idera" rel="tag"&gt;Idera&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-4768357310242166935?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/4768357310242166935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=4768357310242166935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4768357310242166935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/4768357310242166935'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/06/powershell-plus-35-beta.html' title='PowerShell Plus 3.5 Beta'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-7311264802811213169</id><published>2010-06-19T08:08:00.001+01:00</published><updated>2010-06-19T15:22:56.199+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Another Free PowerShell Book</title><content type='html'>I see the Swiss MS IT Pro Team (i.e. Frank Koch) are at it again, this time with another Free PowerShell Book. The latest book is entitled Administrative Tasks Using Windows PowerShell. And it’s now available in English (along with a copy of the first e-book, Windows PowerShell. Both are great introductions to PowerShell! &lt;br /&gt;
&lt;a href="http://download.microsoft.com/download/4/7/1/47104ec6-410d-4492-890b-2a34900c9df2/Workshops-EN.zip" target="_blank"&gt;You can get the English versions of both books here&lt;/a&gt;. This is a large-ish ZIP file with both PDF and XPS versions of the book, along with a set of sample scripts. For the German speakers, or at least those who can read German, you can get the original versions &lt;a href="http://download.microsoft.com/download/4/7/1/47104ec6-410d-4492-890b-2a34900c9df2/Workshops-DE.zip" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #660000;"&gt;
Later&lt;/div&gt;
&lt;span style="color: #660000;"&gt;I read this second document on the plane to the US, and as the comment below says, this turns out to not be such a new book - but is mainly V1 based. There are aslso a number of errors in translation.&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:704db45b-a632-49e7-83f5-16476d5193b2" style="display: inline; float: none; margin: 0px; padding: 0px;"&gt;
Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+Book" rel="tag"&gt;PowerShell Book&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Frank+Koch" rel="tag"&gt;Frank Koch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Swiss+IT+Pro+Team" rel="tag"&gt;Swiss IT Pro Team &lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-7311264802811213169?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/7311264802811213169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=7311264802811213169' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7311264802811213169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/7311264802811213169'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/06/another-free-powershell-book.html' title='Another Free PowerShell Book'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-8293473180188009389</id><published>2010-06-18T07:42:00.001+01:00</published><updated>2010-06-18T07:42:36.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Codeplex'/><category scheme='http://www.blogger.com/atom/ns#' term='provider'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>PowerShell Script Provider</title><content type='html'>&lt;p&gt;Just when you think we’ve seen all that the (awesome) PowerShell community can do, along comes another cool development. The latest coolness comes from &lt;a href="http://www.nivot.org/" target="_blank"&gt;Oisin Grehan&lt;/a&gt; in the form of a PowerShell Script provider. This is a tool, &lt;a href="http://psprovider.codeplex.com/" target="_blank"&gt;which you can download from Codeplex&lt;/a&gt;, that enables you to write a provider purely in script without the need to do stuff in C#. This is pretty cool!. &lt;/p&gt;  &lt;p&gt;The project is at version 0.1, with at least 4 more versions planned. As it says on Codeplex, this code is alpha – but knowing Oisin those versions will come quickly.&amp;#160; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3da3a999-fa78-46b0-99ef-b26aa91175fe" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell" rel="tag"&gt;PowerShell&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Provider" rel="tag"&gt;Provider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Script" rel="tag"&gt;Script&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Codeplex" rel="tag"&gt;Codeplex&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5384857-8293473180188009389?l=tfl09.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tfl09.blogspot.com/feeds/8293473180188009389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5384857&amp;postID=8293473180188009389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8293473180188009389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5384857/posts/default/8293473180188009389'/><link rel='alternate' type='text/html' href='http://tfl09.blogspot.com/2010/06/powershell-script-provider.html' title='PowerShell Script Provider'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/05591926562143348089</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5384857.post-831704760884541933</id><published>2010-06-17T14:08:00.001+01:00</published><updated>2010-06-18T07:47:25.249+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Set-AuthenticodeSignature'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Signing PowerShell Scripts – A Gotcha with ISE!</title><content type='html'>&lt;p&gt;In some enterprise environments, signing PowerShell scripts and setting an execution policy to only run signed scripts is a useful control mechanism. It can avoid less skilled admins ‘fixing’ a script almost correctly and can avoid untested scripts from running. Of course, the malign admin can still cut/paste the scripts into the command line and do damage – but that same admin can nuke the registry, reformat a volume, etc. Script signing is just another layer of defence.&lt;/p&gt;  &lt;p&gt;The Scripting Guys Team (well actually superstar MVP Ragnar Harper) has written a two part blog post on the subject of how to do script signing. &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2010/06/16/hey-scripting-guy-how-can-i-sign-windows-powershell-scripts-with-an-enterprise-windows-pki-part-1-of-2.aspx" target="_blank"&gt;Part 1 is a useful tutoria&lt;/a&gt;l on how to setup your own PKI using Windows Server’s built in Certificate Service feature (AD CS as MSFT call it). With Part 1, you learn how to get your code signing digital certificate.&amp;#160; &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2010/06/17/hey-scripting-guy-how-can-i-sign-windows-powershell-scripts-with-an-enterprise-windows-pki-part-2-of-2.aspx?wa=wsignin1.0" target="_blank"&gt;Part 2 then talks you through how to use that certificate to generate a signed script&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The demo is good and the instructions work well, however there is one small gotcha. If you use PowerShell 
