&lt;?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Articles from December 2012 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2012/12/</link><description>Recent content in Articles from December 2012 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2012/12/index.xml" rel="self" type="application/rss+xml"/><item><title>Writing 10961: First Module in For Review</title><link>https://powershell.org/articles/2012-12-24-writing-10961-first-module-in-for-review/</link><guid>https://powershell.org/articles/2012-12-24-writing-10961-first-module-in-for-review/</guid><pubDate>Mon, 24 Dec 2012 15:28:20 +0000</pubDate><description>&lt;p&gt;Microsoft course 10961, which will be a 5-day course on PowerShell 3.0, is officially in development! We received signoff on the outline this week, and I&amp;rsquo;ve submitted a first module for review. A big part of that review is making sure I&amp;rsquo;m using the template properly, as the authoring tool is fairly complex. It does, however, offer (more-or-less) one-touch publishing of the student manual, instructor slide deck, OneNote trainer pack, Lab Answer Key, and other documents, so it&amp;rsquo;s worth a bit of complexity.&lt;br&gt;
The outline process, along with the actual details of the writing, has been challenging. I pored through the feedback for 10325A, and the only consistent thing I took away was a general feeling that students and instructors worldwide are &lt;em&gt;really, really&lt;/em&gt; different!&lt;br&gt;
Some European instructors cautioned against running class longer than 3 or 4pm. US instructors pointed out that a short day ending at 3pm often left students feeling shortchanged. Er. To try and accommodate both crowds, most days in 10961A will end in a significant lab, letting folks kind of free-form the end of the day however they want.&lt;br&gt;
Many folks pointed out that they liked to get into variables early in the course, not so much for scripting purposes but to simplify command-line stuff. Other instructors suggested I avoid variables too early, since they created the impression of a programming course, which scared off some students. Again&amp;hellip; er. So I&amp;rsquo;m officially waffling on that one: I don&amp;rsquo;t &lt;em&gt;formally&lt;/em&gt; cover variables until fairly late in the course (well, midway), but I &lt;em&gt;introduce&lt;/em&gt; them quite early. It means students can potentially see and use variables on day 1, although I don&amp;rsquo;t get into all the details about how they work, naming rules, and so on. The way I&amp;rsquo;m writing them in, instructors also have the option to just gloss over them or skip them entirely if their students aren&amp;rsquo;t ready.&lt;br&gt;
I asked a few MCTs to look over some of my draft material and give me a delivery time estimate. I had pacing ranging from 2 minutes per slide to almost 8. Er. So I&amp;rsquo;m going with fairly simple slides that have minimal bullets (always, in most folks&amp;rsquo; opinion, the right thing to do). Instructors can then decide how deeply they&amp;rsquo;ll cover the material based on their class&amp;rsquo; needs. It does mean the instructor will need to be familiar with the material in advance - this will be a tough course to just pick up and teach ad-hoc. As, I believe, it should be.&lt;br&gt;
If there&amp;rsquo;s a theme here, it&amp;rsquo;s that &lt;em&gt;you need a good instructor&lt;/em&gt; teaching you. As a courseware author, all I can really do is provide raw material, and an instructional design that leads &lt;em&gt;most&lt;/em&gt; students through a sensible learning progression. But the instructor&amp;rsquo;s value-add is to be able to switch things up to meet the specific needs of their class. Every time an instructor tells me, &amp;ldquo;oh, I always move Module 11 to the second day of class,&amp;rdquo; I don&amp;rsquo;t take it as a sign of bad instructional design - I take it as the sign of a good instructor who hopefully is making the change to benefit his class. But classes vary widely, and I kind of have to write for the worst-case scenario. That can sometimes make a course seem overly timid - but that&amp;rsquo;s why the instructor is there, to add their own value, experience, examples, and demonstrations to further instruct and clarify.&lt;br&gt;
So the one thing I&amp;rsquo;m keeping in mind as I write 10961 is to &lt;em&gt;leave room for the instructor to shine.&lt;/em&gt; Don&amp;rsquo;t fill the course so full of information that the instructor has no wiggle room. Give the instructor the ability to go slowly and less deep for classes that need it, and to go faster and deeper for classes that need &lt;em&gt;that.&lt;/em&gt; Provide instructors with notes on what can be skipped if necessary, and what&amp;rsquo;s absolutely critical, so that they can triage. I&amp;rsquo;ll be doing a prep video to help provide even more context to instructors in that regard, and to let them know that customizing the delivery is absolutely okay, provided they&amp;rsquo;re doing so with an understanding of the original instructional design.&lt;br&gt;
Fingers crossed.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Microsoft course 10961, which will be a 5-day course on PowerShell 3.0, is officially in development! We received signoff on the outline this week, and I&rsquo;ve submitted a first module for review. A big part of that review is making sure I&rsquo;m using the template properly, as the authoring tool is fairly complex. It does, however, offer (more-or-less) one-touch publishing of the student manual, instructor slide deck, OneNote trainer pack, Lab Answer Key, and other documents, so it&rsquo;s worth a bit of complexity.<br>
The outline process, along with the actual details of the writing, has been challenging. I pored through the feedback for 10325A, and the only consistent thing I took away was a general feeling that students and instructors worldwide are<em>really, really</em> different!<br>
Some European instructors cautioned against running class longer than 3 or 4pm. US instructors pointed out that a short day ending at 3pm often left students feeling shortchanged. Er. To try and accommodate both crowds, most days in 10961A will end in a significant lab, letting folks kind of free-form the end of the day however they want.<br>
Many folks pointed out that they liked to get into variables early in the course, not so much for scripting purposes but to simplify command-line stuff. Other instructors suggested I avoid variables too early, since they created the impression of a programming course, which scared off some students. Again&hellip; er. So I&rsquo;m officially waffling on that one: I don&rsquo;t<em>formally</em> cover variables until fairly late in the course (well, midway), but I<em>introduce</em> them quite early. It means students can potentially see and use variables on day 1, although I don&rsquo;t get into all the details about how they work, naming rules, and so on. The way I&rsquo;m writing them in, instructors also have the option to just gloss over them or skip them entirely if their students aren&rsquo;t ready.<br>
I asked a few MCTs to look over some of my draft material and give me a delivery time estimate. I had pacing ranging from 2 minutes per slide to almost 8. Er. So I&rsquo;m going with fairly simple slides that have minimal bullets (always, in most folks&rsquo; opinion, the right thing to do). Instructors can then decide how deeply they&rsquo;ll cover the material based on their class&rsquo; needs. It does mean the instructor will need to be familiar with the material in advance - this will be a tough course to just pick up and teach ad-hoc. As, I believe, it should be.<br>
If there&rsquo;s a theme here, it&rsquo;s that<em>you need a good instructor</em> teaching you. As a courseware author, all I can really do is provide raw material, and an instructional design that leads<em>most</em> students through a sensible learning progression. But the instructor&rsquo;s value-add is to be able to switch things up to meet the specific needs of their class. Every time an instructor tells me, &ldquo;oh, I always move Module 11 to the second day of class,&rdquo; I don&rsquo;t take it as a sign of bad instructional design - I take it as the sign of a good instructor who hopefully is making the change to benefit his class. But classes vary widely, and I kind of have to write for the worst-case scenario. That can sometimes make a course seem overly timid - but that&rsquo;s why the instructor is there, to add their own value, experience, examples, and demonstrations to further instruct and clarify.<br>
So the one thing I&rsquo;m keeping in mind as I write 10961 is to<em>leave room for the instructor to shine.</em> Don&rsquo;t fill the course so full of information that the instructor has no wiggle room. Give the instructor the ability to go slowly and less deep for classes that need it, and to go faster and deeper for classes that need<em>that.</em> Provide instructors with notes on what can be skipped if necessary, and what&rsquo;s absolutely critical, so that they can triage. I&rsquo;ll be doing a prep video to help provide even more context to instructors in that regard, and to let them know that customizing the delivery is absolutely okay, provided they&rsquo;re doing so with an understanding of the original instructional design.<br>
Fingers crossed.</p>
]]></content:encoded></item><item><title>PowerShell.org: Our First Year in Review</title><link>https://powershell.org/articles/2012-12-21-powershell-org-our-first-year-in-review/</link><guid>https://powershell.org/articles/2012-12-21-powershell-org-our-first-year-in-review/</guid><pubDate>Fri, 21 Dec 2012 17:28:34 +0000</pubDate><description>&lt;p&gt;In September 2012, we incorporated PowerShell.org, Inc., and founded PowerShell.org. Our goal was to provide a solid Q&amp;amp;A forum, and to act as a portal to the rest of the PowerShell community.&lt;br&gt;
By any measure, we&amp;rsquo;ve had a great first showing.&lt;br&gt;
We have more than a dozen shareholders in PowerShell.org, Inc., making this the first community-owned PowerShell organization ever. We&amp;rsquo;ve signed on three Platinum sponsors - &lt;a href="http://cbtnuggets.com"&gt;CBT Nuggets&lt;/a&gt;, &lt;a href="http://sapien.com" title="Writing 10961: Remoting"&gt;SAPIEN Technologies&lt;/a&gt;, and &lt;a href="http://interfacett.com"&gt;Interface Technical Training&lt;/a&gt;. We&amp;rsquo;re now funded for 2-3 years of operation, including providing (upon request), gift cards to help local user groups pay for pizza and other monthly meeting expenses.&lt;br&gt;
PowerShell.org is now taking an average of 18,000 visits per month from more than 12,000 unique visitors, with a total of almost 57,000 monthly page views. Our forums have helped more than 760 people answer more than 850 questions.&lt;br&gt;
Microsoft&amp;rsquo;s Scripting Guy, Ed Wilson, has handed off the Scripting Games for 2013, and we&amp;rsquo;re preparing for a small-scale &amp;ldquo;Winter Scripting Camp&amp;rdquo; trial run that will include a purpose-built platform for reviewing events, submitting entries, and judging. And by the looks of things, that platform will run on PowerShell itself.&lt;br&gt;
We&amp;rsquo;ve announced our first &lt;a href="https://powershell.org/summit/"&gt;PowerShell Summit North America&lt;/a&gt;, and have completely sold out. We&amp;rsquo;re already doing initial planning for 2014, aiming for a larger venue and hoping to accommodate twice as many attendees, and to fully cover speaker travel expenses.&lt;br&gt;
We&amp;rsquo;ve launched PowerShell People, accessible via PowerShell.net, where you can write a PowerShell script to create and post your own profile and &amp;ldquo;brag&amp;rdquo; page about your PowerShell activities and accomplishments.&lt;br&gt;
We&amp;rsquo;ve launched three free PowerShell.org-branded &lt;a href="http://powershellbooks.com"&gt;ebooks&lt;/a&gt;, and are preparing to launch our PowerShell.org TechLetter &lt;em&gt;monthly&lt;/em&gt; (!!!) e-mail newsletter complete with feature articles, news updates, and more. That&amp;rsquo;s by (free) subscription only, so sign up if you haven&amp;rsquo;t done so already! We&amp;rsquo;ve also had help from &lt;a href="http://twitter.com/jhofferle"&gt;Jason Hofferle&lt;/a&gt; on our new Books page, rounding up all the free and commercial PowerShell books out there.&lt;br&gt;
It&amp;rsquo;s been a whirlwind year, and it&amp;rsquo;s all thanks to you for supporting it. By asking questions in the forums, offering answers, creating your People page, registering for the Summit, signing up for the Newsletter - all of these little activities spur us all on to new heights, and we appreciate all the feedback you&amp;rsquo;ve offered. There will be more to come - follow the &lt;a href="http://twitter.com/powershellorg"&gt;community on Twitter&lt;/a&gt; (and the &lt;a href="https://twitter.com/PSHSummit"&gt;Summit&lt;/a&gt; too, while you&amp;rsquo;re at it) for the latest announcements.If you&amp;rsquo;d like to contribute, just drop a note in the Suggestion Box &lt;a href="https://forums.powershell.org"&gt;forum&lt;/a&gt; - whether you want to help monitor a discussion forum, write book reviews, or whatever, there&amp;rsquo;s always room to contribute.&lt;br&gt;
There have been some setbacks. &lt;a href="http://twitter.com/pen_test"&gt;Will Steele&lt;/a&gt;, who had volunteered to populate our Events page, has had to step down due to health problems. Will has been a great contributor to the site and to the overall community, and we miss him. Our thoughts are with him and his family this holiday season.&lt;br&gt;
As we all wind down and look forward to the New Year, I wanted to personally express my gratitude to everyone who&amp;rsquo;s helped make all of this happen. Happy Holidays, Happy New Year, and I&amp;rsquo;ll see you again in 2013!&lt;br&gt;
Don Jones&lt;br&gt;
President and CEO, PowerShell.org, Inc.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>In September 2012, we incorporated PowerShell.org, Inc., and founded PowerShell.org. Our goal was to provide a solid Q&amp;A forum, and to act as a portal to the rest of the PowerShell community.<br>
By any measure, we&rsquo;ve had a great first showing.<br>
We have more than a dozen shareholders in PowerShell.org, Inc., making this the first community-owned PowerShell organization ever. We&rsquo;ve signed on three Platinum sponsors -<a href="http://cbtnuggets.com">CBT Nuggets</a>,<a href="http://sapien.com" title="Writing 10961: Remoting">SAPIEN Technologies</a>, and<a href="http://interfacett.com">Interface Technical Training</a>. We&rsquo;re now funded for 2-3 years of operation, including providing (upon request), gift cards to help local user groups pay for pizza and other monthly meeting expenses.<br>
PowerShell.org is now taking an average of 18,000 visits per month from more than 12,000 unique visitors, with a total of almost 57,000 monthly page views. Our forums have helped more than 760 people answer more than 850 questions.<br>
Microsoft&rsquo;s Scripting Guy, Ed Wilson, has handed off the Scripting Games for 2013, and we&rsquo;re preparing for a small-scale &ldquo;Winter Scripting Camp&rdquo; trial run that will include a purpose-built platform for reviewing events, submitting entries, and judging. And by the looks of things, that platform will run on PowerShell itself.<br>
We&rsquo;ve announced our first<a href="/summit/">PowerShell Summit North America</a>, and have completely sold out. We&rsquo;re already doing initial planning for 2014, aiming for a larger venue and hoping to accommodate twice as many attendees, and to fully cover speaker travel expenses.<br>
We&rsquo;ve launched PowerShell People, accessible via PowerShell.net, where you can write a PowerShell script to create and post your own profile and &ldquo;brag&rdquo; page about your PowerShell activities and accomplishments.<br>
We&rsquo;ve launched three free PowerShell.org-branded<a href="http://powershellbooks.com">ebooks</a>, and are preparing to launch our PowerShell.org TechLetter<em>monthly</em> (!!!) e-mail newsletter complete with feature articles, news updates, and more. That&rsquo;s by (free) subscription only, so sign up if you haven&rsquo;t done so already! We&rsquo;ve also had help from<a href="http://twitter.com/jhofferle">Jason Hofferle</a> on our new Books page, rounding up all the free and commercial PowerShell books out there.<br>
It&rsquo;s been a whirlwind year, and it&rsquo;s all thanks to you for supporting it. By asking questions in the forums, offering answers, creating your People page, registering for the Summit, signing up for the Newsletter - all of these little activities spur us all on to new heights, and we appreciate all the feedback you&rsquo;ve offered. There will be more to come - follow the<a href="http://twitter.com/powershellorg">community on Twitter</a> (and the<a href="https://twitter.com/PSHSummit">Summit</a> too, while you&rsquo;re at it) for the latest announcements.If you&rsquo;d like to contribute, just drop a note in the Suggestion Box<a href="https://forums.powershell.org">forum</a> - whether you want to help monitor a discussion forum, write book reviews, or whatever, there&rsquo;s always room to contribute.<br>
There have been some setbacks.<a href="http://twitter.com/pen_test">Will Steele</a>, who had volunteered to populate our Events page, has had to step down due to health problems. Will has been a great contributor to the site and to the overall community, and we miss him. Our thoughts are with him and his family this holiday season.<br>
As we all wind down and look forward to the New Year, I wanted to personally express my gratitude to everyone who&rsquo;s helped make all of this happen. Happy Holidays, Happy New Year, and I&rsquo;ll see you again in 2013!<br>
Don Jones<br>
President and CEO, PowerShell.org, Inc.</p>
]]></content:encoded></item><item><title>Writing 10961: Remoting</title><link>https://powershell.org/articles/2012-12-21-writing-10961-remoting/</link><guid>https://powershell.org/articles/2012-12-21-writing-10961-remoting/</guid><pubDate>Fri, 21 Dec 2012 15:26:43 +0000</pubDate><description>&lt;p&gt;As I write this, we&amp;rsquo;re close to sign-off on the outline of 10961A, which is a new 5-day Microsoft course on PowerShell v3. I sat down yesterday and starting doing some detailed-level design work on the proposed Module 9, which will cover PowerShell Remoting.&lt;br&gt;
I &lt;em&gt;love&lt;/em&gt; Remoting (and yes, I capitalize the &amp;ldquo;R&amp;rdquo; when referring to the specific feature, much as I would for Workflow). And although I&amp;rsquo;ve taught Remoting over and over and over since it was introduced in v2, although with this course I&amp;rsquo;m trying something a bit new.&lt;br&gt;
I&amp;rsquo;m going to start by covering the basics: What Remoting is, what WS-MAN is (and yes, I know it&amp;rsquo;s formally called WS-Management, but you never see it referred to that way in-product), what WinRM is, and so on. I cover Invoke-Command and Enter-PSSession. Then I get into some advanced stuff, primarily covering how to pass arguments to Invoke-Command via its -ArgumentList parameter and an in-scriptblock Param() block. Surprisingly, &lt;em&gt;this isn&amp;rsquo;t covered in the examples of Invoke-Command in the help.&lt;/em&gt; I was shocked to discover that. I need to use that technique in Module 10, so I&amp;rsquo;m covering it in 9.&lt;br&gt;
Then I get into sessions, and I also cover disconnected sessions. Then the cool begins.&lt;br&gt;
I cover both implicit remoting (which is tons easier to do in v3) and delegated administration via custom session configurations (also vastly easier in v3). In the penultimate lab for the module, students will create a Remoting endpoint that contains a single command (Set-ADAccountPassword), have that command run under Domain Admin credentials, and restrict the endpoint to members of a HelpDesk domain user group. Voila, delegated administration! We don&amp;rsquo;t go so far as to build a GUI tool atop it all, but that would be out of scope for this course. As-is, the lab covers an &lt;em&gt;extremely&lt;/em&gt; real-world use of PowerShell and Remoting, and does it in a very practical and production-ready way. I think it&amp;rsquo;s gonna be awesome.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>As I write this, we&rsquo;re close to sign-off on the outline of 10961A, which is a new 5-day Microsoft course on PowerShell v3. I sat down yesterday and starting doing some detailed-level design work on the proposed Module 9, which will cover PowerShell Remoting.<br>
I<em>love</em> Remoting (and yes, I capitalize the &ldquo;R&rdquo; when referring to the specific feature, much as I would for Workflow). And although I&rsquo;ve taught Remoting over and over and over since it was introduced in v2, although with this course I&rsquo;m trying something a bit new.<br>
I&rsquo;m going to start by covering the basics: What Remoting is, what WS-MAN is (and yes, I know it&rsquo;s formally called WS-Management, but you never see it referred to that way in-product), what WinRM is, and so on. I cover Invoke-Command and Enter-PSSession. Then I get into some advanced stuff, primarily covering how to pass arguments to Invoke-Command via its -ArgumentList parameter and an in-scriptblock Param() block. Surprisingly,<em>this isn&rsquo;t covered in the examples of Invoke-Command in the help.</em> I was shocked to discover that. I need to use that technique in Module 10, so I&rsquo;m covering it in 9.<br>
Then I get into sessions, and I also cover disconnected sessions. Then the cool begins.<br>
I cover both implicit remoting (which is tons easier to do in v3) and delegated administration via custom session configurations (also vastly easier in v3). In the penultimate lab for the module, students will create a Remoting endpoint that contains a single command (Set-ADAccountPassword), have that command run under Domain Admin credentials, and restrict the endpoint to members of a HelpDesk domain user group. Voila, delegated administration! We don&rsquo;t go so far as to build a GUI tool atop it all, but that would be out of scope for this course. As-is, the lab covers an<em>extremely</em> real-world use of PowerShell and Remoting, and does it in a very practical and production-ready way. I think it&rsquo;s gonna be awesome.</p>
]]></content:encoded></item><item><title>UK PowerShell Group sessions for 2013</title><link>https://powershell.org/articles/2012-12-20-uk-powershell-group-sessions-for-2013/</link><guid>https://powershell.org/articles/2012-12-20-uk-powershell-group-sessions-for-2013/</guid><pubDate>Thu, 20 Dec 2012 17:17:23 +0000</pubDate><description>&lt;p&gt;This is the list of proposed sessions for 2013. It is subject to change depending on circumstances.&lt;/p&gt;
&lt;p&gt;All sessions are delivered by Live Meeting on Tuesdays at 7:30 UK time&lt;/p&gt;
&lt;p&gt;29 January – PowerShell and Active Directory&lt;br&gt;
26 February – PowerShell Advanced Functions&lt;br&gt;
26 March – PowerShell cmdlets for Hyper-V&lt;br&gt;
30 April – Notes from the PowerShell summit (may be changed)&lt;br&gt;
21 May – Powershell Web Access&lt;br&gt;
25 June – guest speaker PowerShell MVP Max Trinidad&lt;br&gt;
30 July – Lessons from the Scripting Games&lt;br&gt;
27 August – PowerShell eventing engine&lt;br&gt;
24 September – CIM – cmdlets and sessions&lt;br&gt;
29 October – PowerShell and XML&lt;br&gt;
26 November – PowerShell type system – formatting and types files&lt;br&gt;
17 December – PowerShell error handling&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>This is the list of proposed sessions for 2013. It is subject to change depending on circumstances.</p><p>All sessions are delivered by Live Meeting on Tuesdays at 7:30 UK time</p><p>29 January – PowerShell and Active Directory<br>
26 February – PowerShell Advanced Functions<br>
26 March – PowerShell cmdlets for Hyper-V<br>
30 April – Notes from the PowerShell summit (may be changed)<br>
21 May – Powershell Web Access<br>
25 June – guest speaker PowerShell MVP Max Trinidad<br>
30 July – Lessons from the Scripting Games<br>
27 August – PowerShell eventing engine<br>
24 September – CIM – cmdlets and sessions<br>
29 October – PowerShell and XML<br>
26 November – PowerShell type system – formatting and types files<br>
17 December – PowerShell error handling</p><p><a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2777/"><img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2777/" alt=""/><img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;blog=16267735&amp;%23038;post=2777&amp;%23038;subd=richardspowershellblog&amp;%23038;ref=&amp;%23038;feed=1" alt=""/>
]]></content:encoded></item><item><title>WMF compatibility</title><link>https://powershell.org/articles/2012-12-20-wmf-compatibility/</link><guid>https://powershell.org/articles/2012-12-20-wmf-compatibility/</guid><pubDate>Thu, 20 Dec 2012 16:18:43 +0000</pubDate><description>&lt;p&gt;The Windows Management Framework 3.0 has been released as a Windows update.&lt;/p&gt;
&lt;p&gt;However there are some compatibility issues as documented on the PowerShell team blog. if you haven&amp;quot;™t see the post it here&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx" title="http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx"&gt;http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2775/"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2775/" alt=""&gt;&lt;/a&gt;&lt;img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;amp;blog=16267735&amp;amp;%23038;post=2775&amp;amp;%23038;subd=richardspowershellblog&amp;amp;%23038;ref=&amp;amp;%23038;feed=1" alt=""&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>The Windows Management Framework 3.0 has been released as a Windows update.</p><p>However there are some compatibility issues as documented on the PowerShell team blog. if you haven"™t see the post it here</p><p><a href="http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx" title="http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx">http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx</a></p><p><a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2775/"><img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2775/" alt=""/><img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;blog=16267735&amp;%23038;post=2775&amp;%23038;subd=richardspowershellblog&amp;%23038;ref=&amp;%23038;feed=1" alt=""/>
]]></content:encoded></item><item><title>Renaming a user</title><link>https://powershell.org/articles/2012-12-19-renaming-a-user/</link><guid>https://powershell.org/articles/2012-12-19-renaming-a-user/</guid><pubDate>Wed, 19 Dec 2012 15:45:34 +0000</pubDate><description>&lt;p&gt;I was asked about searching a user name for a string and replacing it so that the object is renamed.&lt;/p&gt;
&lt;p&gt;This is a three stage activity. First get the user. Two modify the name. Three rename the object. In active directory the name attribute has the LDAP name of cn but the Microsoft AD cmdlets treta it as name. So we end up with this code:&lt;/p&gt;
&lt;p&gt;`$user&lt;/p&gt;
&lt;p&gt;=&lt;/p&gt;
&lt;p&gt;Get-ADUser&lt;/p&gt;
&lt;p&gt;-Filter&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;cn&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I was asked about searching a user name for a string and replacing it so that the object is renamed.</p><p>This is a three stage activity. First get the user. Two modify the name. Three rename the object. In active directory the name attribute has the LDAP name of cn but the Microsoft AD cmdlets treta it as name. So we end up with this code:</p><p>`$user</p><p>=</p><p>Get-ADUser</p><p>-Filter</p><p>{</p><p>cn</p><p>-eq</p><p>&lsquo;GREYIEN Bill&rsquo;</p><p>}</p><p>$newname</p><p>=</p><p>$user</p><p>.</p><p>Name</p><p>.</p><p>Replace</p><p>(</p><p>&ldquo;YI&rdquo;</p><p>,</p><p>&ldquo;A&rdquo;</p><p>)</p><p>Rename-ADObject</p><p>-Identity</p><p>$user</p><p>-NewName</p><p>$newname</p><p>-PassThru</p><p>`The trick is in the middle line because the name is a string so you can use the standard string methods to perform the search and replacement. Using &ldquo;“Passthru displays the object so you can see the change has taken place.</p><p><a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2773/"><img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2773/" alt=""/><img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;blog=16267735&amp;%23038;post=2773&amp;%23038;subd=richardspowershellblog&amp;%23038;ref=&amp;%23038;feed=1" alt=""/>
]]></content:encoded></item><item><title>Writing 10961: The Ultimate Lab</title><link>https://powershell.org/articles/2012-12-18-writing-10961-the-ultimate-lab/</link><guid>https://powershell.org/articles/2012-12-18-writing-10961-the-ultimate-lab/</guid><pubDate>Tue, 18 Dec 2012 20:50:30 +0000</pubDate><description>&lt;p&gt;My company has been contracted by Microsoft to design and author Microsoft Official Curriculum (MOC) course 10961A, Automating Administration with Windows PowerShell v3. While there is no announced release date I can share, I did want to share some of the experience.&lt;br&gt;
As I write this, 10961A&amp;rsquo;s proposed outline is going through several review cycles. In the meantime, I wanted to sit down and start doing some detail-level design on some of the more complex labs in the course - the most complex of which is a proposed Module 10, consisting of little more than a big, 2-hour lab where you write a script to provision a newly installed Server Core computer.&lt;br&gt;
This, for me, is the ultimate lab. It&amp;rsquo;s practical, meaning it focuses on a scenario that&amp;rsquo;s extremely real-world. It&amp;rsquo;s also not &amp;ldquo;perfect,&amp;rdquo; meaning it doesn&amp;rsquo;t throw you into an everything-just-works environment and hand-hold you though a few self-guided demos. Initiating communications between a domain client and a non-domain machine is tricky in PowerShell, and automating that is not entirely straightforward.&lt;br&gt;
The approach I&amp;rsquo;m planning to take will break down all the major sub-tasks, and then walk students through some of the considerations for each. What commands will you need? What information will you need up front in order to run them? Where will you get that information - and how? I think it&amp;rsquo;ll be a very nice &amp;ldquo;putting it all together&amp;rdquo; module (although there are two modules after it, so it isn&amp;rsquo;t exactly the end of the course). It should occupy the entire afternoon of the course&amp;rsquo;s fourth day (Thursday), which makes for a nice open-ended wrap to that day (meaning faster students can finish and leave early, while leaving time for slower students to work through everything without feeling rushed).&lt;br&gt;
In the lab, you&amp;rsquo;ll write a parameterized script that saves off your old Remoting TrustedHosts list, queries DHCP for the new server&amp;rsquo;s IP address, and saves that IP address into your TrustedHosts. You&amp;rsquo;ll make a Remoting connection to the new machine and have it join itself to the domain while renaming itself, wait for it to reboot, and then add a role (IIS) to it. You wrap by putting TrustedHosts back to where it came from.&lt;br&gt;
This is actually a trimmed-down, more methodical version of a workshop I just did last week at Live! 360 in Orlando. That workshop took four hours, which I don&amp;rsquo;t have in the class&amp;rsquo; time budget, so I trimmed out a few things that were cool, but not entirely necessary, such as testing to see if a DHCP reservation already exists before creating one (without testing, you can potentially get an error, but it&amp;rsquo;s non-tragic).&lt;br&gt;
I&amp;rsquo;m looking forward to getting into the actual writing of the module once the outline is approved; I think this&amp;rsquo;ll really be the highlight of the course. It replaces a module in the older 10325A course (which I also wrote) where you break down a script &lt;em&gt;someone else wrote,&lt;/em&gt; customizing it to run in your environment. While I think that&amp;rsquo;s a useful skill, the feedback I got was that it wasn&amp;rsquo;t the most interesting lab possible, and that the script I provided (written by Jeffery Hicks, actually) was pretty complex given the time allotted. This new lab provides the same beginning-to-end scripting opportunity, but hopefully folks will find it to be a lot more practical and useful, both educationally and when they get back to the office.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>My company has been contracted by Microsoft to design and author Microsoft Official Curriculum (MOC) course 10961A, Automating Administration with Windows PowerShell v3. While there is no announced release date I can share, I did want to share some of the experience.<br>
As I write this, 10961A&rsquo;s proposed outline is going through several review cycles. In the meantime, I wanted to sit down and start doing some detail-level design on some of the more complex labs in the course - the most complex of which is a proposed Module 10, consisting of little more than a big, 2-hour lab where you write a script to provision a newly installed Server Core computer.<br>
This, for me, is the ultimate lab. It&rsquo;s practical, meaning it focuses on a scenario that&rsquo;s extremely real-world. It&rsquo;s also not &ldquo;perfect,&rdquo; meaning it doesn&rsquo;t throw you into an everything-just-works environment and hand-hold you though a few self-guided demos. Initiating communications between a domain client and a non-domain machine is tricky in PowerShell, and automating that is not entirely straightforward.<br>
The approach I&rsquo;m planning to take will break down all the major sub-tasks, and then walk students through some of the considerations for each. What commands will you need? What information will you need up front in order to run them? Where will you get that information - and how? I think it&rsquo;ll be a very nice &ldquo;putting it all together&rdquo; module (although there are two modules after it, so it isn&rsquo;t exactly the end of the course). It should occupy the entire afternoon of the course&rsquo;s fourth day (Thursday), which makes for a nice open-ended wrap to that day (meaning faster students can finish and leave early, while leaving time for slower students to work through everything without feeling rushed).<br>
In the lab, you&rsquo;ll write a parameterized script that saves off your old Remoting TrustedHosts list, queries DHCP for the new server&rsquo;s IP address, and saves that IP address into your TrustedHosts. You&rsquo;ll make a Remoting connection to the new machine and have it join itself to the domain while renaming itself, wait for it to reboot, and then add a role (IIS) to it. You wrap by putting TrustedHosts back to where it came from.<br>
This is actually a trimmed-down, more methodical version of a workshop I just did last week at Live! 360 in Orlando. That workshop took four hours, which I don&rsquo;t have in the class&rsquo; time budget, so I trimmed out a few things that were cool, but not entirely necessary, such as testing to see if a DHCP reservation already exists before creating one (without testing, you can potentially get an error, but it&rsquo;s non-tragic).<br>
I&rsquo;m looking forward to getting into the actual writing of the module once the outline is approved; I think this&rsquo;ll really be the highlight of the course. It replaces a module in the older 10325A course (which I also wrote) where you break down a script<em>someone else wrote,</em> customizing it to run in your environment. While I think that&rsquo;s a useful skill, the feedback I got was that it wasn&rsquo;t the most interesting lab possible, and that the script I provided (written by Jeffery Hicks, actually) was pretty complex given the time allotted. This new lab provides the same beginning-to-end scripting opportunity, but hopefully folks will find it to be a lot more practical and useful, both educationally and when they get back to the office.</p>
]]></content:encoded></item><item><title>PowerShell Deep Dives</title><link>https://powershell.org/articles/2012-12-18-powershell-deep-dives/</link><guid>https://powershell.org/articles/2012-12-18-powershell-deep-dives/</guid><pubDate>Tue, 18 Dec 2012 19:23:45 +0000</pubDate><description>&lt;p&gt;PowerShell Deep Dives is a book put together by the PowerShell community. I&amp;quot;™m editing one of the sections and have contributed some of the chapters. Manning have just started releasing it on their MEAP program. The full book will hopefully be ready in the spring.&lt;/p&gt;
&lt;p&gt;Best of all the royalties are being donated to worthwhile cause.&lt;/p&gt;
&lt;p&gt;Check it out – &lt;a href="http://manning.com/hicks/" title="http://manning.com/hicks/"&gt;http://manning.com/hicks/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2772/"&gt;&lt;img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2772/" alt=""&gt;&lt;/a&gt;&lt;img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;amp;blog=16267735&amp;amp;%23038;post=2772&amp;amp;%23038;subd=richardspowershellblog&amp;amp;%23038;ref=&amp;amp;%23038;feed=1" alt=""&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>PowerShell Deep Dives is a book put together by the PowerShell community. I"™m editing one of the sections and have contributed some of the chapters. Manning have just started releasing it on their MEAP program. The full book will hopefully be ready in the spring.</p><p>Best of all the royalties are being donated to worthwhile cause.</p><p>Check it out –<a href="http://manning.com/hicks/" title="http://manning.com/hicks/">http://manning.com/hicks/</a></p><p><a href="http://feeds.wordpress.com/1.0/gocomments/richardspowershellblog.wordpress.com/2772/"><img src="http://feeds.wordpress.com/1.0/comments/richardspowershellblog.wordpress.com/2772/" alt=""/><img src="http://stats.wordpress.com/b.gif?host=richardspowershellblog.wordpress.com&amp;blog=16267735&amp;%23038;post=2772&amp;%23038;subd=richardspowershellblog&amp;%23038;ref=&amp;%23038;feed=1" alt=""/>
]]></content:encoded></item><item><title>PhillyPoSH 12/06/2012 meeting summary and presentation materials</title><link>https://powershell.org/articles/2012-12-10-phillyposh-12062012-meeting-summary-and-presentation-materials/</link><guid>https://powershell.org/articles/2012-12-10-phillyposh-12062012-meeting-summary-and-presentation-materials/</guid><pubDate>Mon, 10 Dec 2012 16:52:55 +0000</pubDate><description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://mellositmusings.com/"&gt;John Mello&lt;/a&gt; gave a presentation entitled &amp;ldquo;Intro to PowerShell&amp;rsquo;s Pipeline, Part 1&amp;rdquo;. A copy of his slide deck and code examples are available &lt;a href="https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_Presentations.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Script Club :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;John R. Nahrgang and [Lido Paglia](http://paglia.org/) presented a work in progress script that returns all the members of the Local Administrators Group on a filtered list of Active Directory PCs. A copy of the script is available [here](https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_ScriptClub.zip).
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Various other information worth mentioning.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;In response to [last month's script club](https://powershell.org/2012/11/08/phillyposh-11012012-meeting-summary-and-presentation-materials/), Carl Larson submitted a script that splits an Active Directory users' *distinguishedName* into an array and then put's it back together so that you can get the Parent OU. This script is meant as a jumping off point for [John Mello's](http://mellositmusings.com/) expressed difficulty trying to pull a user name from a full Active Directory path. A copy of the script is available [here](https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_Extras.zip).
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><content:encoded>&lt;![CDATA[<ul><li><p><a href="http://mellositmusings.com/">John Mello</a> gave a presentation entitled &ldquo;Intro to PowerShell&rsquo;s Pipeline, Part 1&rdquo;. A copy of his slide deck and code examples are available <a href="https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_Presentations.zip">here</a>.</p><ul><li><p>Script Club :</p><pre><code>John R. Nahrgang and [Lido Paglia](http://paglia.org/) presented a work in progress script that returns all the members of the Local Administrators Group on a filtered list of Active Directory PCs. A copy of the script is available [here](https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_ScriptClub.zip).</code></pre></li><li><p>Various other information worth mentioning.</p><pre><code>In response to [last month's script club](https://powershell.org/2012/11/08/phillyposh-11012012-meeting-summary-and-presentation-materials/), Carl Larson submitted a script that splits an Active Directory users' *distinguishedName* into an array and then put's it back together so that you can get the Parent OU. This script is meant as a jumping off point for [John Mello's](http://mellositmusings.com/) expressed difficulty trying to pull a user name from a full Active Directory path. A copy of the script is available [here](https://powershell.org/wp-content/uploads/2012/12/PhillyPosh_2012-12-05_Extras.zip).</code></pre></li></ul></li></ul>
]]></content:encoded></item></channel></rss>