&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 July 2013 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2013/07/</link><description>Recent content in Articles from July 2013 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2013/07/index.xml" rel="self" type="application/rss+xml"/><item><title>PowerShell Great Debate: The Purity Laws</title><link>https://powershell.org/articles/2013-07-30-powershell-great-debate-the-purity-laws/</link><guid>https://powershell.org/articles/2013-07-30-powershell-great-debate-the-purity-laws/</guid><pubDate>Tue, 30 Jul 2013 17:50:21 +0000</pubDate><description>&lt;p&gt;This should be interesting.&lt;br&gt;
During The Scripting Games, I observed (and in some cases made) a great many comments that I&amp;rsquo;m lumping under the name &amp;ldquo;Purity Laws.&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You shouldn&amp;rsquo;t use a command-line utility like Robocopy in a PowerShell script.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You shouldn&amp;rsquo;t use .NET classes in a PowerShell script.&lt;/li&gt;
&lt;li&gt;You should map a drive using New-PSDrive, not &lt;strong&gt;net use&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And so on. You see where I&amp;rsquo;m going: there are folks out there who feel as if the only thing that goes into a PowerShell script is Pure PowerShell. Which is odd, because it isn&amp;rsquo;t an approach the product team actually gave much value. They spent &lt;em&gt;extra time&lt;/em&gt; making sure the shell could use .NET, and could run external utilities - why not use them, if they work and get the job done?&lt;br&gt;
A counterargument involves maintenance and readability. External commands, for example, are harder to read, may not be well-documented, and don&amp;rsquo;t work consistently with the rest of PowerShell. .NET classes are hard to discover, and force you into a very &amp;ldquo;programmer-y&amp;rdquo; approach. Some environments might not want the extra overhead - even if it means giving up functionality.&lt;br&gt;
So where do you come down on this debate? I&amp;rsquo;d really love some _detailed recommendations. _What&amp;rsquo;s right for &lt;em&gt;your&lt;/em&gt; environment, and most importantly _why? _Are there any facts or situations that would sway you to the other side of the argument?&lt;br&gt;
Go.&lt;br&gt;
[boilerplate greatdebate]&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>This should be interesting.<br>
During The Scripting Games, I observed (and in some cases made) a great many comments that I&rsquo;m lumping under the name &ldquo;Purity Laws.&rdquo;</p><ul><li/></ul><p>You shouldn&rsquo;t use a command-line utility like Robocopy in a PowerShell script.</p><ul><li>You shouldn&rsquo;t use .NET classes in a PowerShell script.</li><li>You should map a drive using New-PSDrive, not <strong>net use</strong>.</li></ul><p>And so on. You see where I&rsquo;m going: there are folks out there who feel as if the only thing that goes into a PowerShell script is Pure PowerShell. Which is odd, because it isn&rsquo;t an approach the product team actually gave much value. They spent <em>extra time</em> making sure the shell could use .NET, and could run external utilities - why not use them, if they work and get the job done?<br>
A counterargument involves maintenance and readability. External commands, for example, are harder to read, may not be well-documented, and don&rsquo;t work consistently with the rest of PowerShell. .NET classes are hard to discover, and force you into a very &ldquo;programmer-y&rdquo; approach. Some environments might not want the extra overhead - even if it means giving up functionality.<br>
So where do you come down on this debate? I&rsquo;d really love some _detailed recommendations. _What&rsquo;s right for <em>your</em> environment, and most importantly _why? _Are there any facts or situations that would sway you to the other side of the argument?<br>
Go.<br>
[boilerplate greatdebate]</p>
]]></content:encoded></item><item><title>Calling all PowerShell Teachers/Trainers</title><link>https://powershell.org/articles/2013-07-29-calling-all-powershell-teacherstrainers/</link><guid>https://powershell.org/articles/2013-07-29-calling-all-powershell-teacherstrainers/</guid><pubDate>Mon, 29 Jul 2013 15:02:56 +0000</pubDate><description>&lt;p&gt;I&amp;rsquo;m in the process of building a referral list for teachers and trainers who work with Windows PowerShell. My goal is to build a &amp;ldquo;find a trainer&amp;rdquo; page here on PowerShell.org, with the ability for prospective clients to send an inquiry via email. This would be for customers seeking private classes, not for individual students seeking a class.&lt;br&gt;
If you&amp;rsquo;d like to be on the list, please send me an email, or use the &amp;ldquo;Contact&amp;rdquo; page under the &amp;ldquo;Site Info&amp;rdquo; menu here on PowerShell.org. Please provide an email address that referrals can be sent to; you&amp;rsquo;d receive the potential client&amp;rsquo;s contact information directly and would work with them directly - I&amp;rsquo;m not looking to act s middleman or agent, and there are no referral fees. We won&amp;rsquo;t be providing pricing information or anything other than a means of connecting clients and trainers.&lt;br&gt;
You can also provide a link to your Web site, if you have one, preferably a page that describes your PowerShell training offering(s).&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I&rsquo;m in the process of building a referral list for teachers and trainers who work with Windows PowerShell. My goal is to build a &ldquo;find a trainer&rdquo; page here on PowerShell.org, with the ability for prospective clients to send an inquiry via email. This would be for customers seeking private classes, not for individual students seeking a class.<br>
If you&rsquo;d like to be on the list, please send me an email, or use the &ldquo;Contact&rdquo; page under the &ldquo;Site Info&rdquo; menu here on PowerShell.org. Please provide an email address that referrals can be sent to; you&rsquo;d receive the potential client&rsquo;s contact information directly and would work with them directly - I&rsquo;m not looking to act s middleman or agent, and there are no referral fees. We won&rsquo;t be providing pricing information or anything other than a means of connecting clients and trainers.<br>
You can also provide a link to your Web site, if you have one, preferably a page that describes your PowerShell training offering(s).</p>
]]></content:encoded></item><item><title>PowerShell Great Debate: Credentials</title><link>https://powershell.org/articles/2013-07-23-powershell-great-debate-credentials/</link><guid>https://powershell.org/articles/2013-07-23-powershell-great-debate-credentials/</guid><pubDate>Tue, 23 Jul 2013 17:47:45 +0000</pubDate><description>&lt;p&gt;Credentials suck.&lt;br&gt;
You obviously don&amp;rsquo;t want to hardcode domain credentials into a script - and PowerShell actually makes it a bit difficult to do so, for good reason. On the other hand, you sometimes &lt;em&gt;need&lt;/em&gt; a script to do something using alternate credentials, and you don&amp;rsquo;t necessarily want the runner of the script to know those credentials.&lt;br&gt;
So how do you deal with it?&lt;br&gt;
Let&amp;rsquo;s be clear: This is &lt;em&gt;not&lt;/em&gt; a wish list. Comments like, &amp;ldquo;I wish PowerShell could do ____&amp;rdquo; aren&amp;rsquo;t valid. What &lt;em&gt;do you do using the technology as it exists today&lt;/em&gt;? Do you prompt for a credential and assume the script user will have it? Do you try to hardcode it? Do you set up a constrained endpoint? What?&lt;br&gt;
[boilerplate greatdebate]&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Credentials suck.<br>
You obviously don&rsquo;t want to hardcode domain credentials into a script - and PowerShell actually makes it a bit difficult to do so, for good reason. On the other hand, you sometimes <em>need</em> a script to do something using alternate credentials, and you don&rsquo;t necessarily want the runner of the script to know those credentials.<br>
So how do you deal with it?<br>
Let&rsquo;s be clear: This is <em>not</em> a wish list. Comments like, &ldquo;I wish PowerShell could do ____&rdquo; aren&rsquo;t valid. What <em>do you do using the technology as it exists today</em>? Do you prompt for a credential and assume the script user will have it? Do you try to hardcode it? Do you set up a constrained endpoint? What?<br>
[boilerplate greatdebate]</p>
]]></content:encoded></item><item><title>TechSessions: Free PowerShell Webinars</title><link>https://powershell.org/articles/2013-07-23-techsessions-free-powershell-webinars/</link><guid>https://powershell.org/articles/2013-07-23-techsessions-free-powershell-webinars/</guid><pubDate>Tue, 23 Jul 2013 16:05:08 +0000</pubDate><description>&lt;p&gt;PowerShell.org is going to be launching TechSessions this Fall. These will be ~1 hour online webinars, which you&amp;rsquo;re welcome to attend live. We&amp;rsquo;ll also record them and make the recordings available.&lt;br&gt;
In most cases you will need to &lt;em&gt;register&lt;/em&gt; for each one, so that we can send the appropriate invite information. Our sponsors are working with us on these, so each one might be in a different webinar platform (Lync, Webex, etc) depending on who is providing the infrastructure that month.&lt;br&gt;
In all cases, we&amp;rsquo;ll announce the TechSession in our TechLetter Newsletter, via banners on this site, and in a blog post. You&amp;rsquo;ll notice a new &amp;ldquo;TechSessions&amp;rdquo; post category for those announcements.&lt;br&gt;
I&amp;rsquo;ll be soliciting presenters, and the goal is just to provide you with varied technical content around PowerShell. If you&amp;rsquo;d like to BE a presenter, hit the Contact link in the Site Info menu (above) and let me know! Attending live will obviously give you a Q&amp;amp;A opportunity as well.&lt;br&gt;
Be on the lookout! I&amp;rsquo;m hoping to kick off in September or October. If there are specific topics you&amp;rsquo;d like to see, drop a comment below and let me know. I&amp;rsquo;m sure potential presenters would love some suggestions, and I know I would.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>PowerShell.org is going to be launching TechSessions this Fall. These will be ~1 hour online webinars, which you&rsquo;re welcome to attend live. We&rsquo;ll also record them and make the recordings available.<br>
In most cases you will need to <em>register</em> for each one, so that we can send the appropriate invite information. Our sponsors are working with us on these, so each one might be in a different webinar platform (Lync, Webex, etc) depending on who is providing the infrastructure that month.<br>
In all cases, we&rsquo;ll announce the TechSession in our TechLetter Newsletter, via banners on this site, and in a blog post. You&rsquo;ll notice a new &ldquo;TechSessions&rdquo; post category for those announcements.<br>
I&rsquo;ll be soliciting presenters, and the goal is just to provide you with varied technical content around PowerShell. If you&rsquo;d like to BE a presenter, hit the Contact link in the Site Info menu (above) and let me know! Attending live will obviously give you a Q&amp;A opportunity as well.<br>
Be on the lookout! I&rsquo;m hoping to kick off in September or October. If there are specific topics you&rsquo;d like to see, drop a comment below and let me know. I&rsquo;m sure potential presenters would love some suggestions, and I know I would.</p>
]]></content:encoded></item><item><title>PowerShell Summit City Selection Criteria</title><link>https://powershell.org/articles/2013-07-16-powershell-summit-city-selection-criteria/</link><guid>https://powershell.org/articles/2013-07-16-powershell-summit-city-selection-criteria/</guid><pubDate>Tue, 16 Jul 2013 17:40:13 +0000</pubDate><description>&lt;p&gt;As you may know, we&amp;rsquo;re in the process of putting together a PowerShell Summit Europe for Fall 2014. It&amp;rsquo;s a big task, with a lot of financial risks, so we try to get it right. Folks have been helpful on Twitter in offering city selection ideas&amp;hellip; but there&amp;rsquo;s a bit more involved than just tossing out a city name. With that, here is the selection criteria!&lt;br&gt;
Given the information below&amp;hellip; AND the fact that Germany/UK/Netherlands (in that order) have been getting the overwhelming majority of &amp;ldquo;in what cities would you attend the Summit&amp;rdquo; votes&amp;hellip; what cities would YOU recommend we consider?&lt;br&gt;
(BTW, this is TOTALLY a chance to &amp;ldquo;sell&amp;rdquo; your suggestion - so do so! The criteria below are what&amp;rsquo;s really important to us, so help us understand how a given city helps meet all of that criteria! And, if you&amp;rsquo;re willing to help be our local &amp;lsquo;person on the scene&amp;rsquo; to help organize, mention that also!)&lt;br&gt;
-&amp;ndash;&lt;br&gt;
City Selection Criteria for PowerShell Summits&lt;br&gt;
This guide is intended to provide a framework for selecting an appropriate city and venue for a PowerShell Summit.&lt;br&gt;
Understand that a PowerShell Summit is meant to be a continent-level event, meaning the attendance of international speakers and attendees is a given. A PowerShell Summit is conducted primarily, if not entirely, in English, that being the &amp;ldquo;de facto&amp;rdquo; language of the technology industry, and the most-common language spoken by expert presenters in the field. A PowerShell Summit is open to everyone, and is not intended to fill the need for regional, culture- or language-specific events of any size. PowerShell.org recognizes the need for, and value of, those more-regional events, but the PowerShell Summit does not seek to full that need or provide that exact same value.&lt;br&gt;
Throughout this guide, note that &amp;ldquo;venue&amp;rdquo; does not refer to a city. While in casual discussions we may refer to a city name or metropolitan area name - like London or Munich - our venue may not in fact be within the legal limits of such a city or area. &amp;ldquo;Venue&amp;rdquo; refers to a specific facility, which may be a hotel or a conference center or other specific location.&lt;br&gt;
Our expectation is that most attendees will arrive at the event via common carrier - typically, train or airplane. Some may drive, but our focus is on providing good access for those who do not have their own personal transportation during the event.&lt;br&gt;
Criterion 1: Airport Access&lt;br&gt;
The first criterion is easy access to a major international airport. This is intended to accommodate the wide variety of attendees expected. In general, the venue should be either within a 15-20 minute drive from an airport by private car (including taxis and shuttle busses), or within a 30-minute ride via mass transit rail (specifically excluding public bus service, but including all levels of rail access).&lt;br&gt;
Exception: The airport service area may be widened in instances where a venue offers significant other advantages in other criteria, or where the venue offers specialized access to expert presenters - e.g., using Bellevue for its convenient access to the PowerShell team, despite the fact that it is a ~30 minute ride by private car from SEA-TAC airport and lacks public rail access to the airport.&lt;br&gt;
Criterion 2: Local Transit&lt;br&gt;
The venue must be well-connected to the local area by mass transit rail (tram, train, metro, etc.). Alternately, the area must offer a variety of amenities within walking distance. Our goal is to minimize the need for rental cars to travel to the event venue from local hotels, restaurants, and other amenities. A 15-minute walking radius is a good &amp;ldquo;maximum&amp;rdquo; guideline. Due to this criterion, local parking fees are explicitly not considered during venue selection, although the organization recognizes than some local attendees may be impacted by parking fees.&lt;br&gt;
Criterion 3: Evening Amenities&lt;br&gt;
The selected venue must be accessible (via local rail transit or short walks) to evening amenities, including hotels, restaurants, and so forth. While the PowerShell Summit will often include evening events, attendees must have independent access to these kinds of amenities.&lt;br&gt;
Criterion 4: Price, Quantity, and Quality of Lodging&lt;br&gt;
The selected venue must be accessible (via local rail transit or short walks) to hotels of at least 3-star quality (as listed on travel Web sites such as Expedia or Orbitz), with as reasonable a price as possible given the choices of venues under consideration. When possible, the organization will reserve a room block for at least 1/3 of the expected attendance number (with the understanding that room blocks carry significant financial risk, and the organization has a primary goal of mitigating such risk). Additional hotel capacity meeting this criterion must be available, but may not necessarily be reserved, for the event.&lt;br&gt;
Criterion 5: Language&lt;br&gt;
The selected venue must be in an area where English is commonly spoken, at least by hospitality workers. English need not be the dominant language in the area, but as it is the &amp;ldquo;common language&amp;rdquo; of PowerShell, English must at least be commonly understood as a &amp;ldquo;lingua franca&amp;rdquo; in order for a maximum number of attendees to be able to navigate the area. Venues that do not meet this criterion may still be viable locations for a regional, cultural-specific event, but might not be qualified for a PowerShell Summit.&lt;br&gt;
Criterion 6: Centrality&lt;br&gt;
Given all of the other criteria previously listed, it is desirable to have a venue that provides equitable travel access from the majority of the target area. However, the organization recognizes that central location is often the most difficult to achieve in combination with the other criteria listed.&lt;br&gt;
Criterion 7: Accessibility&lt;br&gt;
The venue must conform with a general international standard of access for disabled persons, and must provide at least basic ability to meet common dietary restrictions, such as vegetarianism. The organization accepts that extremely specific dietary needs, such as cultural or religious needs or allergy concerns, might incur extra costs that would be passed along to the concerned attendee(s).&lt;br&gt;
Criterion 8: Appropriateness&lt;br&gt;
The venue must provide appropriate meeting facilities. This means the venue must be able to accommodate the expected number of attendees in a comfortable and safe surrounding, and attendees must be able to access the venue without undue overhead (e.g., extensive security checks in an office building, etc.). In multi-track events, meeting rooms should be able to accommodate a 15-20% offset (e.g., in a 300-person event with 300 attendees, each room must be able to handle 120 attendees, to deal with the fact that some sessions will be more popular than others).&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>As you may know, we&rsquo;re in the process of putting together a PowerShell Summit Europe for Fall 2014. It&rsquo;s a big task, with a lot of financial risks, so we try to get it right. Folks have been helpful on Twitter in offering city selection ideas&hellip; but there&rsquo;s a bit more involved than just tossing out a city name. With that, here is the selection criteria!<br>
Given the information below&hellip; AND the fact that Germany/UK/Netherlands (in that order) have been getting the overwhelming majority of &ldquo;in what cities would you attend the Summit&rdquo; votes&hellip; what cities would YOU recommend we consider?<br>
(BTW, this is TOTALLY a chance to &ldquo;sell&rdquo; your suggestion - so do so! The criteria below are what&rsquo;s really important to us, so help us understand how a given city helps meet all of that criteria! And, if you&rsquo;re willing to help be our local &lsquo;person on the scene&rsquo; to help organize, mention that also!)<br>
-&ndash;<br>
City Selection Criteria for PowerShell Summits<br>
This guide is intended to provide a framework for selecting an appropriate city and venue for a PowerShell Summit.<br>
Understand that a PowerShell Summit is meant to be a continent-level event, meaning the attendance of international speakers and attendees is a given. A PowerShell Summit is conducted primarily, if not entirely, in English, that being the &ldquo;de facto&rdquo; language of the technology industry, and the most-common language spoken by expert presenters in the field. A PowerShell Summit is open to everyone, and is not intended to fill the need for regional, culture- or language-specific events of any size. PowerShell.org recognizes the need for, and value of, those more-regional events, but the PowerShell Summit does not seek to full that need or provide that exact same value.<br>
Throughout this guide, note that &ldquo;venue&rdquo; does not refer to a city. While in casual discussions we may refer to a city name or metropolitan area name - like London or Munich - our venue may not in fact be within the legal limits of such a city or area. &ldquo;Venue&rdquo; refers to a specific facility, which may be a hotel or a conference center or other specific location.<br>
Our expectation is that most attendees will arrive at the event via common carrier - typically, train or airplane. Some may drive, but our focus is on providing good access for those who do not have their own personal transportation during the event.<br>
Criterion 1: Airport Access<br>
The first criterion is easy access to a major international airport. This is intended to accommodate the wide variety of attendees expected. In general, the venue should be either within a 15-20 minute drive from an airport by private car (including taxis and shuttle busses), or within a 30-minute ride via mass transit rail (specifically excluding public bus service, but including all levels of rail access).<br>
Exception: The airport service area may be widened in instances where a venue offers significant other advantages in other criteria, or where the venue offers specialized access to expert presenters - e.g., using Bellevue for its convenient access to the PowerShell team, despite the fact that it is a ~30 minute ride by private car from SEA-TAC airport and lacks public rail access to the airport.<br>
Criterion 2: Local Transit<br>
The venue must be well-connected to the local area by mass transit rail (tram, train, metro, etc.). Alternately, the area must offer a variety of amenities within walking distance. Our goal is to minimize the need for rental cars to travel to the event venue from local hotels, restaurants, and other amenities. A 15-minute walking radius is a good &ldquo;maximum&rdquo; guideline. Due to this criterion, local parking fees are explicitly not considered during venue selection, although the organization recognizes than some local attendees may be impacted by parking fees.<br>
Criterion 3: Evening Amenities<br>
The selected venue must be accessible (via local rail transit or short walks) to evening amenities, including hotels, restaurants, and so forth. While the PowerShell Summit will often include evening events, attendees must have independent access to these kinds of amenities.<br>
Criterion 4: Price, Quantity, and Quality of Lodging<br>
The selected venue must be accessible (via local rail transit or short walks) to hotels of at least 3-star quality (as listed on travel Web sites such as Expedia or Orbitz), with as reasonable a price as possible given the choices of venues under consideration. When possible, the organization will reserve a room block for at least 1/3 of the expected attendance number (with the understanding that room blocks carry significant financial risk, and the organization has a primary goal of mitigating such risk). Additional hotel capacity meeting this criterion must be available, but may not necessarily be reserved, for the event.<br>
Criterion 5: Language<br>
The selected venue must be in an area where English is commonly spoken, at least by hospitality workers. English need not be the dominant language in the area, but as it is the &ldquo;common language&rdquo; of PowerShell, English must at least be commonly understood as a &ldquo;lingua franca&rdquo; in order for a maximum number of attendees to be able to navigate the area. Venues that do not meet this criterion may still be viable locations for a regional, cultural-specific event, but might not be qualified for a PowerShell Summit.<br>
Criterion 6: Centrality<br>
Given all of the other criteria previously listed, it is desirable to have a venue that provides equitable travel access from the majority of the target area. However, the organization recognizes that central location is often the most difficult to achieve in combination with the other criteria listed.<br>
Criterion 7: Accessibility<br>
The venue must conform with a general international standard of access for disabled persons, and must provide at least basic ability to meet common dietary restrictions, such as vegetarianism. The organization accepts that extremely specific dietary needs, such as cultural or religious needs or allergy concerns, might incur extra costs that would be passed along to the concerned attendee(s).<br>
Criterion 8: Appropriateness<br>
The venue must provide appropriate meeting facilities. This means the venue must be able to accommodate the expected number of attendees in a comfortable and safe surrounding, and attendees must be able to access the venue without undue overhead (e.g., extensive security checks in an office building, etc.). In multi-track events, meeting rooms should be able to accommodate a 15-20% offset (e.g., in a 300-person event with 300 attendees, each room must be able to handle 120 attendees, to deal with the fact that some sessions will be more popular than others).</p>
]]></content:encoded></item><item><title>PowerShell Great Debate: Piping in a Script</title><link>https://powershell.org/articles/2013-07-16-powershell-great-debate-piping-in-a-script/</link><guid>https://powershell.org/articles/2013-07-16-powershell-great-debate-piping-in-a-script/</guid><pubDate>Tue, 16 Jul 2013 17:40:09 +0000</pubDate><description>&lt;p&gt;Take a look at this:&lt;/p&gt;
&lt;p&gt;`# version 1
Get-Content computers.txt |
ForEach-Object {
$os = Get-WmiObject Win32_OperatingSystem -comp $_
$bios = Get-WmiObject Win32_BIOS -comp $_
$props = @{computername=$_;
osversion=$os.version;
biosserial=$bios.serialnumber}
New-Object PSObject -Prop $props
}&lt;/p&gt;
&lt;h1 id="version-2" class="ps-heading"&gt;version 2&lt;a class="ps-heading-anchor" href="#version-2" aria-label="Link to this section" title="Link to this section"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;$computers = Get-Content computers.txt
foreach ($computer in $computers) {
$os = Get-WmiObject Win32_OperatingSystem -comp $computer
$bios = Get-WmiObject Win32_BIOS -comp $computer
$props = @{computername=$computer;
osversion=$os.version;
biosserial=$bios.serialnumber}
New-Object PSObject -Prop $props
}
`These two snippets do the same thing. The first uses a more &amp;ldquo;pipeline&amp;rdquo; style approach, and I&amp;rsquo;ve personally never felt the urge to do that in a script. Probably habit - I come from the VBScript world, so a construct like foreach($x in $y) is natural for me. I&amp;rsquo;ve seen folks get into that &amp;ldquo;pipeline&amp;rdquo; approach inside a script and get into trouble, and if I&amp;rsquo;m scripting I often prefer to use the more formal, structured approach of the version 2 snippet.&lt;br&gt;
What&amp;rsquo;re your thoughts? For me, version 1 has some downsides - forcing yourself into that pipeline structure can be limiting, and I find the approach in version 2 to be more readable and a bit easier to follow. Frankly, I&amp;rsquo;m never a fan of having to mentally track what&amp;rsquo;s in $&lt;em&gt;.&lt;br&gt;
(Which brings up a sidebar: I tend to evaluate a script&amp;rsquo;s goodness based on how well I can understand what it does &lt;em&gt;without running it&lt;/em&gt;. That&amp;rsquo;s a common criteria, in fact, and one I personally think helps aid in debugging as well as maintaining scripts.)&lt;/em&gt;&lt;br&gt;
_&lt;br&gt;
Anyway&amp;hellip; discuss!&lt;br&gt;
[boilerplate greatdebate]&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Take a look at this:</p><p>`# version 1
Get-Content computers.txt |
ForEach-Object {
$os = Get-WmiObject Win32_OperatingSystem -comp $_
$bios = Get-WmiObject Win32_BIOS -comp $_
$props = @{computername=$_;
osversion=$os.version;
biosserial=$bios.serialnumber}
New-Object PSObject -Prop $props
}</p><h1 id="version-2" class="ps-heading">version 2<a class="ps-heading-anchor" href="#version-2" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>$computers = Get-Content computers.txt
foreach ($computer in $computers) {
$os = Get-WmiObject Win32_OperatingSystem -comp $computer
$bios = Get-WmiObject Win32_BIOS -comp $computer
$props = @{computername=$computer;
osversion=$os.version;
biosserial=$bios.serialnumber}
New-Object PSObject -Prop $props
}
`These two snippets do the same thing. The first uses a more &ldquo;pipeline&rdquo; style approach, and I&rsquo;ve personally never felt the urge to do that in a script. Probably habit - I come from the VBScript world, so a construct like foreach($x in $y) is natural for me. I&rsquo;ve seen folks get into that &ldquo;pipeline&rdquo; approach inside a script and get into trouble, and if I&rsquo;m scripting I often prefer to use the more formal, structured approach of the version 2 snippet.<br>
What&rsquo;re your thoughts? For me, version 1 has some downsides - forcing yourself into that pipeline structure can be limiting, and I find the approach in version 2 to be more readable and a bit easier to follow. Frankly, I&rsquo;m never a fan of having to mentally track what&rsquo;s in $<em>.<br>
(Which brings up a sidebar: I tend to evaluate a script&rsquo;s goodness based on how well I can understand what it does <em>without running it</em>. That&rsquo;s a common criteria, in fact, and one I personally think helps aid in debugging as well as maintaining scripts.)</em><br>
_<br>
Anyway&hellip; discuss!<br>
[boilerplate greatdebate]</p>
]]></content:encoded></item><item><title>PhillyPoSH 07/11/2013 meeting summary and presentation materials</title><link>https://powershell.org/articles/2013-07-15-phillyposh-07112013-meeting-summary-and-presentation-materials/</link><guid>https://powershell.org/articles/2013-07-15-phillyposh-07112013-meeting-summary-and-presentation-materials/</guid><pubDate>Tue, 16 Jul 2013 02:00:04 +0000</pubDate><description>&lt;ol&gt;
&lt;li&gt;Active Directory SDK team member and former Senior Programing writer for the Windows PowerShell team, &lt;a href="https://twitter.com/juneb_get_help"&gt;Jun Blender&lt;/a&gt; gave a presentation on The Hidden Charms of Windows PowerShell 3.0 via Lync. You can get a copy of &lt;a href="https://powershell.org/wp-content/uploads/2013/07/PhillyPosh_2013-07-11_June_Blender.pptx"&gt;her presentation here&lt;/a&gt; and see a &lt;a href="https://www.youtube.com/watch?v=rY-kkuTwWUs"&gt;recording of the Lync meeting&lt;/a&gt; on our &lt;a href="https://www.youtube.com/channel/UCAc_ow5FIJtRpvew__9Iqzg"&gt;YouTube channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Microsoft Technology Evangelist &lt;a href="http://blogs.technet.com/b/yungchou/"&gt;Yung Chou&lt;/a&gt; gave demonstration on how to use the &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj152841.aspx"&gt;PowerShell Azure cmdlets&lt;/a&gt; to automate data center deployments
&lt;ol&gt;
&lt;li&gt;You can try doing the same and test server 2012 R2 out with a free &lt;a href="http://aka.ms/200"&gt;1-month trial of Windows Azure&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;General Announcements
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.microsoftvirtualacademy.com"&gt;The Microsoft Virtual Academy&lt;/a&gt; is hosting 2 separate day long PowerShell learning sessions that will be taught by the lead Architect of PowerShell &lt;a href="https://powershell.org/wp-admin/@jsnover"&gt;Jeffery Snover&lt;/a&gt; and &lt;a href="https://powershell.org/wp-admin/PowerShell.org"&gt;PowerShell.org&lt;/a&gt; board member &lt;a href="https://powershell.org/wp-admin/@theJasonHelmick"&gt;Jason Helmick.&lt;/a&gt; Link to the sessions are as follows:
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.microsoftvirtualacademy.com/liveevents/PowerShell-JumpStart"&gt;Getting Started with PowerShell 3.0 : 7/18/2013 9AM-5PM PDT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoftvirtualacademy.com/liveevents/Adv-PowerShell-Jump-Start"&gt;Advanced Tools &amp;amp; Scripting with PowerShell 3.0: 8/1/2013 9AM-5PM PDT&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://powerscripting.wordpress.com/2013/07/08/we-want-your-powershell-show-ideas/"&gt;PowerScript Podcast&lt;/a&gt; is looking for show ideas&lt;/li&gt;
&lt;li&gt;In the wake of the 2013 scripting games there are many entries in the &lt;a href="https://powershell.org/category/great-debates/"&gt;&amp;ldquo;Great Debates&amp;rdquo;&lt;/a&gt; series, in which the
community discusses the differing techniques that the community used during the games
&lt;ol&gt;
&lt;li&gt;Speaking of the scripting games, the winners were on the &lt;a href="http://powerscripting.wordpress.com/2013/07/10/up-next-winners-from-the-2013-scripting-games/"&gt;PowerScritping Podcast&lt;/a&gt; this week&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mikefrobbins.com/"&gt;Mike Robbins&lt;/a&gt;, the winner of the advanced category, will be presenting for us in September!
&lt;ol&gt;
&lt;li&gt;Mike also runs the virtual &lt;a href="http://mspsug.com/"&gt;Mississippi PowerShell User Group&lt;/a&gt; and makes his meetings available to everyone.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Last month&amp;quot;™s speaker, &lt;a href="http://rohnspowershellblog.wordpress.com/"&gt;Rohn Edwards&lt;/a&gt;, has recently &lt;a href="http://rohnspowershellblog.wordpress.com/tag/powershellaccesscontrol/"&gt;blogged&lt;/a&gt; about how to use some of the functions included in his &lt;a href="http://gallery.technet.microsoft.com/scriptcenter/PowerShellAccessControl-d3be7b83"&gt;PowerShellAccessControl Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Check out &lt;a href="http://chocolatey.org/"&gt;Chocolatey&lt;/a&gt; which is a Machine Package Manager, somewhat like apt-get, but built with Windows and PowerShell in mind.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;</description><content:encoded>&lt;![CDATA[<ol><li>Active Directory SDK team member and former Senior Programing writer for the Windows PowerShell team,<a href="https://twitter.com/juneb_get_help">Jun Blender</a> gave a presentation on The Hidden Charms of Windows PowerShell 3.0 via Lync. You can get a copy of<a href="https://powershell.org/wp-content/uploads/2013/07/PhillyPosh_2013-07-11_June_Blender.pptx">her presentation here</a> and see a<a href="https://www.youtube.com/watch?v=rY-kkuTwWUs">recording of the Lync meeting</a> on our<a href="https://www.youtube.com/channel/UCAc_ow5FIJtRpvew__9Iqzg">YouTube channel</a></li><li>Microsoft Technology Evangelist<a href="http://blogs.technet.com/b/yungchou/">Yung Chou</a> gave demonstration on how to use the <a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj152841.aspx">PowerShell Azure cmdlets</a> to automate data center deployments<ol><li>You can try doing the same and test server 2012 R2 out with a free<a href="http://aka.ms/200">1-month trial of Windows Azure</a></li></ol></li><li>General Announcements<ol><li><a href="http://www.microsoftvirtualacademy.com">The Microsoft Virtual Academy</a> is hosting 2 separate day long PowerShell learning sessions that will be taught by the lead Architect of PowerShell<a href="https://powershell.org/wp-admin/@jsnover">Jeffery Snover</a> and<a href="https://powershell.org/wp-admin/PowerShell.org">PowerShell.org</a> board member<a href="https://powershell.org/wp-admin/@theJasonHelmick">Jason Helmick.</a> Link to the sessions are as follows:<ol><li><a href="http://www.microsoftvirtualacademy.com/liveevents/PowerShell-JumpStart">Getting Started with PowerShell 3.0 : 7/18/2013 9AM-5PM PDT</a></li><li><a href="http://www.microsoftvirtualacademy.com/liveevents/Adv-PowerShell-Jump-Start">Advanced Tools &amp; Scripting with PowerShell 3.0: 8/1/2013 9AM-5PM PDT</a></li></ol></li><li>The<a href="http://powerscripting.wordpress.com/2013/07/08/we-want-your-powershell-show-ideas/">PowerScript Podcast</a> is looking for show ideas</li><li>In the wake of the 2013 scripting games there are many entries in the<a href="https://powershell.org/category/great-debates/">&ldquo;Great Debates&rdquo;</a> series, in which the
community discusses the differing techniques that the community used during the games<ol><li>Speaking of the scripting games, the winners were on the<a href="http://powerscripting.wordpress.com/2013/07/10/up-next-winners-from-the-2013-scripting-games/">PowerScritping Podcast</a> this week</li><li><a href="http://mikefrobbins.com/">Mike Robbins</a>, the winner of the advanced category, will be presenting for us in September!<ol><li>Mike also runs the virtual<a href="http://mspsug.com/">Mississippi PowerShell User Group</a> and makes his meetings available to everyone.</li></ol></li></ol></li><li>Last month"™s speaker,<a href="http://rohnspowershellblog.wordpress.com/">Rohn Edwards</a>, has recently<a href="http://rohnspowershellblog.wordpress.com/tag/powershellaccesscontrol/">blogged</a> about how to use some of the functions included in his<a href="http://gallery.technet.microsoft.com/scriptcenter/PowerShellAccessControl-d3be7b83">PowerShellAccessControl Module</a></li><li>Check out<a href="http://chocolatey.org/">Chocolatey</a> which is a Machine Package Manager, somewhat like apt-get, but built with Windows and PowerShell in mind.</li></ol></li></ol>
]]></content:encoded></item><item><title>Working with the WSUS API and the SUSDB Database using PowerShell</title><link>https://powershell.org/articles/2013-07-11-working-with-the-wsus-api-and-the-susdb-database-using-powershell/</link><guid>https://powershell.org/articles/2013-07-11-working-with-the-wsus-api-and-the-susdb-database-using-powershell/</guid><pubDate>Fri, 12 Jul 2013 02:38:43 +0000</pubDate><description>&lt;p&gt;Tthe WSUS API can be used to perform a multitude of WSUS tasks from approving patches, removing clients to creating automatic approval rules to many other things. By diving deeper into the API reveals that we can also find out the name of the SQL server (if using a remote SQL database server) that the SUSDB database is residing on. Beyond that, we can actually perform queries to the database (using TSQL) or perform tasks against the database itself.&lt;br&gt;
I&amp;rsquo;ve written a couple of articles hat focus on making the database connection via the WSUS API and preform a simple query and then following up on that by performing some database maintenance by re-indexing and updating the statistics on the database tables.&lt;br&gt;
&lt;a href="http://learn-powershell.net/2013/07/07/use-the-wsus-api-and-powershell-to-query-the-susdb-database/"&gt;Use the WSUS API and PowerShell to query the SUSDB Database&lt;/a&gt;&lt;br&gt;
&lt;a href="http://learn-powershell.net/2013/07/07/using-the-wsus-api-and-powershell-to-perform-maintenance-on-the-susdb-database/"&gt;Using the WSUS API and PowerShell to Perform Maintenance on the SUSDB Database&lt;/a&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Tthe WSUS API can be used to perform a multitude of WSUS tasks from approving patches, removing clients to creating automatic approval rules to many other things. By diving deeper into the API reveals that we can also find out the name of the SQL server (if using a remote SQL database server) that the SUSDB database is residing on. Beyond that, we can actually perform queries to the database (using TSQL) or perform tasks against the database itself.<br>
I&rsquo;ve written a couple of articles hat focus on making the database connection via the WSUS API and preform a simple query and then following up on that by performing some database maintenance by re-indexing and updating the statistics on the database tables.<br><a href="http://learn-powershell.net/2013/07/07/use-the-wsus-api-and-powershell-to-query-the-susdb-database/">Use the WSUS API and PowerShell to query the SUSDB Database</a><br><a href="http://learn-powershell.net/2013/07/07/using-the-wsus-api-and-powershell-to-perform-maintenance-on-the-susdb-database/">Using the WSUS API and PowerShell to Perform Maintenance on the SUSDB Database</a></p>
]]></content:encoded></item><item><title>PowerShell Summit… EUROPE?!?!?</title><link>https://powershell.org/articles/2013-07-11-powershell-summit-europe/</link><guid>https://powershell.org/articles/2013-07-11-powershell-summit-europe/</guid><pubDate>Thu, 11 Jul 2013 18:47:05 +0000</pubDate><description>&lt;p&gt;I have received a lot of interest in a PowerShell Summit Europe, and we are starting to look at doing one in 2014. I know that&amp;rsquo;s a long way off, but it takes time to put these together when everyone&amp;rsquo;s volunteering that time!&lt;br&gt;
I have put together a very short survey to see if there is any consensus on where such an event might be held. The survey is &lt;a href="http://67004.polldaddy.com/s/powershell-summit-europe"&gt;online now and ready for your opinions&lt;/a&gt;. Please forward this to your colleagues and co-workers, as well - we would really like a variety of opinions. If you want to tweet about it, Facebook it, or anything else to help us get a broad perspective, it would be much appreciated.&lt;br&gt;
I must note that this event will be in English, as it is meant to be a pan-European event that involves as many different folks as possible. We are not attempting to hold a more regional, culture-specific event - some of those already exist (I&amp;rsquo;m aware of one in Germany, for example), and they do a better job serving their local market (which can be quite large) than we could ever do. We are trying to fill a different need, which is more along the lines of a very miniature TechEd Europe, which brings as many different folks together as possible. Hopefully we will achieve that goal.&lt;br&gt;
Thank you for your time and input!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I have received a lot of interest in a PowerShell Summit Europe, and we are starting to look at doing one in 2014. I know that&rsquo;s a long way off, but it takes time to put these together when everyone&rsquo;s volunteering that time!<br>
I have put together a very short survey to see if there is any consensus on where such an event might be held. The survey is<a href="http://67004.polldaddy.com/s/powershell-summit-europe">online now and ready for your opinions</a>. Please forward this to your colleagues and co-workers, as well - we would really like a variety of opinions. If you want to tweet about it, Facebook it, or anything else to help us get a broad perspective, it would be much appreciated.<br>
I must note that this event will be in English, as it is meant to be a pan-European event that involves as many different folks as possible. We are not attempting to hold a more regional, culture-specific event - some of those already exist (I&rsquo;m aware of one in Germany, for example), and they do a better job serving their local market (which can be quite large) than we could ever do. We are trying to fill a different need, which is more along the lines of a very miniature TechEd Europe, which brings as many different folks together as possible. Hopefully we will achieve that goal.<br>
Thank you for your time and input!</p>
]]></content:encoded></item><item><title>PowerShell Great Debate: Backticks</title><link>https://powershell.org/articles/2013-07-10-powershell-great-debate-backticks/</link><guid>https://powershell.org/articles/2013-07-10-powershell-great-debate-backticks/</guid><pubDate>Wed, 10 Jul 2013 21:26:50 +0000</pubDate><description>&lt;p&gt;Here&amp;rsquo;s an age-old debate that we can finally, perhaps, put an end to: The backtick character for line continuation.&lt;br&gt;
The basic concept looks like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Get-WmiObject -Class Win32_BIOS &lt;/code&gt;
-ComputerName whatever &lt;code&gt;-Filter &amp;quot;something='else'&amp;quot;&lt;/code&gt;This trick relies on the fact that the backtick (grave accent) is PowerShell&amp;rsquo;s escape character. In this case, it&amp;rsquo;s escaping the carriage return, turning it from a logical end-of-line marker into a literal carriage return. It makes commands with a lot of parameters easier to read, since you can line up the parameters as I&amp;rsquo;ve done.&lt;br&gt;
My personal beefs with this:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Here&rsquo;s an age-old debate that we can finally, perhaps, put an end to: The backtick character for line continuation.<br>
The basic concept looks like this:</p><p><code>Get-WmiObject -Class Win32_BIOS</code>
-ComputerName whatever<code>-Filter "something='else'"</code>This trick relies on the fact that the backtick (grave accent) is PowerShell&rsquo;s escape character. In this case, it&rsquo;s escaping the carriage return, turning it from a logical end-of-line marker into a literal carriage return. It makes commands with a lot of parameters easier to read, since you can line up the parameters as I&rsquo;ve done.<br>
My personal beefs with this:</p><ul><li/></ul><p>The character is visually hard to distinguish. On-screen, it&rsquo;s just a couple of pixels; in a book, it looks like stray ink or toner.</p><ul><li>If you put any whitespace after the backtick, it escapes <em>that</em> character instead of the carriage return, and everything breaks.</li><li>On some non-US keyboards, it&rsquo;s a difficult character to get to.</li></ul><p>In  many cases, you can achieve nice formatting without the back tick.</p><p><code>Do-Something -Parameter this | Get-Something -Parameter those -Parm these | Something-Else -This that -Foo bar</code>This is because a carriage return after a pipe, semicolon, or comma is always interpreted as a visual thing, and not as a logical end of line. Of course, some argue that you can make that command prettier by using the back tick:</p><p><code>Do-Something -Param this</code>
| Something-Else -this that -foo bar<code>| Invoke-Those -these those</code>Here, the pipes line up on the front, making the command into a kind of visual block - but you have to rely on the backticks. You could then argue that a combination of splatting and careful formatting could be nicer, without the backticks:</p><p><code>$do_something = @{parameter = $this; foo = $bar} $invoke_something = @{param = $these; param = $those} Do-Something @do_something | Invoke-Something @invoke_something | Something-Else</code>Visually blocked-out, but no back ticks.<br>
And the debate rages on. Your thoughts? Pros? Cons? <em>Why?</em></p><p>[boilerplate greatdebate]</p>
]]></content:encoded></item><item><title>Would you contribute enterprise software reviews? [OFFTOPIC]</title><link>https://powershell.org/articles/2013-07-09-would-you-contribute-enterprise-software-reviews-offtopic/</link><guid>https://powershell.org/articles/2013-07-09-would-you-contribute-enterprise-software-reviews-offtopic/</guid><pubDate>Tue, 09 Jul 2013 18:03:55 +0000</pubDate><description>&lt;p&gt;I&amp;rsquo;ve been working with a couple of folks lately who&amp;rsquo;ve been trying to review and pilot Active Directory auditing solutions. Both bemoaned the fact that, unlike consumer products of nearly any kind, IT products (specifically, enterprise software in this instance), don&amp;rsquo;t really get reviews from the admins who use those products.&lt;br&gt;
So, I&amp;rsquo;m curious. If you could (a) anonymously, and (b) without giving your organization&amp;rsquo;s name, would you (c) leave reviews of enterprise software for other admins? You&amp;rsquo;d need to leave some obvious details, like the approximate size of your organization (number of users), what you expected the software to do, what it really did, what you liked, what you didn&amp;rsquo;t like, and so on.&lt;br&gt;
Such a site would be a lot better (I think) than magazine or &amp;ldquo;professional&amp;rdquo; reviews, since you&amp;rsquo;d be reading the experiences of people who actually use the stuff every day. Yeah, as with any publicly-contributed content, review quality will vary - but you already know how to read between the lines, right? 😉&lt;br&gt;
Drop a comment, or even send a tweet to &lt;a href="http://twitter.com/concentrateddon"&gt;@concentrateddon&lt;/a&gt; with &amp;ldquo;Reviews: YES!&amp;rdquo; or &amp;ldquo;Reviews: NO!&amp;rdquo; comment. Or if you prefer Facebook, leave that comment &lt;a href="http://facebook.com/concentrateddon"&gt;on my FB page&lt;/a&gt;. It sure seems like we IT professionals could use something like this - it&amp;rsquo;d be a good place to start researching solutions to particular problems, and a good place to share some real-world intel on how different solutions really work. Even if you don&amp;rsquo;t like &lt;em&gt;writing&lt;/em&gt; reviews, would you use such a site as part of your research process?&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I&rsquo;ve been working with a couple of folks lately who&rsquo;ve been trying to review and pilot Active Directory auditing solutions. Both bemoaned the fact that, unlike consumer products of nearly any kind, IT products (specifically, enterprise software in this instance), don&rsquo;t really get reviews from the admins who use those products.<br>
So, I&rsquo;m curious. If you could (a) anonymously, and (b) without giving your organization&rsquo;s name, would you (c) leave reviews of enterprise software for other admins? You&rsquo;d need to leave some obvious details, like the approximate size of your organization (number of users), what you expected the software to do, what it really did, what you liked, what you didn&rsquo;t like, and so on.<br>
Such a site would be a lot better (I think) than magazine or &ldquo;professional&rdquo; reviews, since you&rsquo;d be reading the experiences of people who actually use the stuff every day. Yeah, as with any publicly-contributed content, review quality will vary - but you already know how to read between the lines, right? 😉<br>
Drop a comment, or even send a tweet to<a href="http://twitter.com/concentrateddon">@concentrateddon</a> with &ldquo;Reviews: YES!&rdquo; or &ldquo;Reviews: NO!&rdquo; comment. Or if you prefer Facebook, leave that comment<a href="http://facebook.com/concentrateddon">on my FB page</a>. It sure seems like we IT professionals could use something like this - it&rsquo;d be a good place to start researching solutions to particular problems, and a good place to share some real-world intel on how different solutions really work. Even if you don&rsquo;t like <em>writing</em> reviews, would you use such a site as part of your research process?</p>
]]></content:encoded></item><item><title>New Blog Posting on Desired State Configuration</title><link>https://powershell.org/articles/2013-07-09-new-blog-posting-on-desired-state-configuration/</link><guid>https://powershell.org/articles/2013-07-09-new-blog-posting-on-desired-state-configuration/</guid><pubDate>Tue, 09 Jul 2013 14:29:29 +0000</pubDate><description>&lt;p&gt;Just an FYI that I posted a walkthrough on my blog, of DSC, including my experiences as it relates to Group Policy:&lt;br&gt;
&lt;a href="http://bit.ly/1868BYS"&gt;http://bit.ly/1868BYS&lt;/a&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Just an FYI that I posted a walkthrough on my blog, of DSC, including my experiences as it relates to Group Policy:<br><a href="http://bit.ly/1868BYS">http://bit.ly/1868BYS</a></p>
]]></content:encoded></item><item><title>How Cloud-First Design Affects You</title><link>https://powershell.org/articles/2013-07-03-how-cloud-first-design-affects-you/</link><guid>https://powershell.org/articles/2013-07-03-how-cloud-first-design-affects-you/</guid><pubDate>Wed, 03 Jul 2013 17:29:36 +0000</pubDate><description>&lt;p&gt;Today, Brad Anderson (Corporate VP in the Windows Server/System Center unit) posted &lt;a href="http://blogs.technet.com/b/in_the_cloud/archive/2013/07/03/what-s-new-in-2012-r2-beginning-and-ending-with-customer-specific-scenarios.aspx"&gt;the first in what should be a series of &amp;ldquo;What&amp;rsquo;s New in 2012 R2&amp;rdquo; articles&lt;/a&gt;. In it, Anderson focuses on how Microsoft squeezed so many features into the 2012R2 release in such a short period of time. The short answer, which has been stated by Jeffrey Snover before, is &amp;ldquo;we build for the cloud first.&amp;rdquo; That means features we&amp;rsquo;re getting in 2012R2 have, for the most part, already been developed, deployed, and in use in some of Microsoft&amp;rsquo;s own cloud services. This is a huge deal. It means their cloud services (think Azure, O365, and the like) get stuff first, where &lt;em&gt;Microsoft&lt;/em&gt; can make sure it&amp;rsquo;s stable. They then package those and hand them off to us.&lt;br&gt;
It means we get better stability, but it also means we get better manageability. Look, you don&amp;rsquo;t get excited when you have to deploy a new server, right? You want to automate that stuff. Well, Azure gets &lt;em&gt;really&lt;/em&gt; ticked off if they can&amp;rsquo;t automate it, because they do it &lt;em&gt;thousands times more than you.&lt;/em&gt; So forcing themselves to run a ginormous datacenter also forces the company to make better management tools - which they then hand down to us in an OS release.&lt;br&gt;
If, that is, you&amp;rsquo;re managing your datacenter as if it was your own little&amp;hellip; dare I say it, &lt;em&gt;private cloud.&lt;/em&gt; In other words, if you think of your datacenter as a wee little cloud, and you manage it like one, then you&amp;rsquo;ll get the tech you need, because Microsoft has to develop that tech for themselves. If you want to keep managing it the old-fashioned way&amp;hellip; well, you&amp;rsquo;ll get less love.&lt;br&gt;
This whole approach, for me, is the ultimate expression of the Microsoft phrase, &amp;ldquo;eat the dogfood.&amp;rdquo; Meaning, &lt;em&gt;use our own products just as our customers would.&lt;/em&gt; You just have to make sure you&amp;rsquo;re eating the same flavor dogfood. Not that MS expects everyone to have their own in-house Azure. No, that&amp;rsquo;s not the point. The point is that they&amp;rsquo;re developing for a world where admins do nothing but create units of automation, and business processes (perhaps outside IT) initiate those processes. You&amp;rsquo;re going to see more and more tools and technologies (um, PowerShell) to facilitate that model of IT operations; you&amp;rsquo;ll see less and less tech that facilitates the old way (meaning, fewer and less robust GUI tools, I&amp;rsquo;m guessing).&lt;br&gt;
Desired State Configuration (DSC) is probably an ideal example of this new approach. In the past, when you wanted to configure a few hundred machines to look and behave a certain way, you went clicky-click a few hundred times in a GUI. That&amp;rsquo;s &lt;em&gt;imperative&lt;/em&gt; configuration; you tell each machine &lt;em&gt;what to do.&lt;/em&gt; That doesn&amp;rsquo;t scale to cloud-sized proportions, and so now we&amp;rsquo;re getting DSC. DSC is &lt;em&gt;declarative&lt;/em&gt; configuration, meaning you tell a group of machines &lt;em&gt;what to be.&lt;/em&gt; The OS itself figures out how to achieve that state of being. So admins have to shift from thinking &amp;ldquo;what do I make the machine do&amp;rdquo; and &amp;ldquo;how do I tell it what to be.&amp;rdquo; It&amp;rsquo;s not unlike Group Policy, actually, which is also declarative, except that DSC will eventually dwarf Group Policy in terms of reach and capability.&lt;br&gt;
Point being, if you&amp;rsquo;re in the old world of, &amp;ldquo;I just run through the Wizard and set the machine up,&amp;rdquo; you&amp;rsquo;re not aligned with the new world order. Expect fewer wizards, as product teams shift their investment to building things like DSC resources instead. With 12-18 month product cycles, time is in short supply for each new release. One-at-a-time approaches don&amp;rsquo;t scale to the cloud, so those are likely to get less of that limited amount of time.&lt;br&gt;
Anderson&amp;rsquo;s post is worth a read. It&amp;rsquo;s a little high-level - the man &lt;em&gt;is&lt;/em&gt; a Corporate VP, after all - but it shows where Microsoft is pointing their collective brain. It uses the word &amp;ldquo;delight.&amp;rdquo; It describes in great detail how Microsoft is trying harder to put the customer in the front of every conversation - but, more subtly, it also shows how Microsoft is moving the conversation past &amp;ldquo;what do customers tell us they want&amp;rdquo; and more toward &amp;ldquo;here&amp;rsquo;s what we see customers &lt;em&gt;needing.&lt;/em&gt;&amp;rdquo; Henry Ford would be proud.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Today, Brad Anderson (Corporate VP in the Windows Server/System Center unit) posted<a href="http://blogs.technet.com/b/in_the_cloud/archive/2013/07/03/what-s-new-in-2012-r2-beginning-and-ending-with-customer-specific-scenarios.aspx">the first in what should be a series of &ldquo;What&rsquo;s New in 2012 R2&rdquo; articles</a>. In it, Anderson focuses on how Microsoft squeezed so many features into the 2012R2 release in such a short period of time. The short answer, which has been stated by Jeffrey Snover before, is &ldquo;we build for the cloud first.&rdquo; That means features we&rsquo;re getting in 2012R2 have, for the most part, already been developed, deployed, and in use in some of Microsoft&rsquo;s own cloud services. This is a huge deal. It means their cloud services (think Azure, O365, and the like) get stuff first, where<em>Microsoft</em> can make sure it&rsquo;s stable. They then package those and hand them off to us.<br>
It means we get better stability, but it also means we get better manageability. Look, you don&rsquo;t get excited when you have to deploy a new server, right? You want to automate that stuff. Well, Azure gets<em>really</em> ticked off if they can&rsquo;t automate it, because they do it<em>thousands times more than you.</em> So forcing themselves to run a ginormous datacenter also forces the company to make better management tools - which they then hand down to us in an OS release.<br>
If, that is, you&rsquo;re managing your datacenter as if it was your own little&hellip; dare I say it,<em>private cloud.</em> In other words, if you think of your datacenter as a wee little cloud, and you manage it like one, then you&rsquo;ll get the tech you need, because Microsoft has to develop that tech for themselves. If you want to keep managing it the old-fashioned way&hellip; well, you&rsquo;ll get less love.<br>
This whole approach, for me, is the ultimate expression of the Microsoft phrase, &ldquo;eat the dogfood.&rdquo; Meaning,<em>use our own products just as our customers would.</em> You just have to make sure you&rsquo;re eating the same flavor dogfood. Not that MS expects everyone to have their own in-house Azure. No, that&rsquo;s not the point. The point is that they&rsquo;re developing for a world where admins do nothing but create units of automation, and business processes (perhaps outside IT) initiate those processes. You&rsquo;re going to see more and more tools and technologies (um, PowerShell) to facilitate that model of IT operations; you&rsquo;ll see less and less tech that facilitates the old way (meaning, fewer and less robust GUI tools, I&rsquo;m guessing).<br>
Desired State Configuration (DSC) is probably an ideal example of this new approach. In the past, when you wanted to configure a few hundred machines to look and behave a certain way, you went clicky-click a few hundred times in a GUI. That&rsquo;s<em>imperative</em> configuration; you tell each machine<em>what to do.</em> That doesn&rsquo;t scale to cloud-sized proportions, and so now we&rsquo;re getting DSC. DSC is<em>declarative</em> configuration, meaning you tell a group of machines<em>what to be.</em> The OS itself figures out how to achieve that state of being. So admins have to shift from thinking &ldquo;what do I make the machine do&rdquo; and &ldquo;how do I tell it what to be.&rdquo; It&rsquo;s not unlike Group Policy, actually, which is also declarative, except that DSC will eventually dwarf Group Policy in terms of reach and capability.<br>
Point being, if you&rsquo;re in the old world of, &ldquo;I just run through the Wizard and set the machine up,&rdquo; you&rsquo;re not aligned with the new world order. Expect fewer wizards, as product teams shift their investment to building things like DSC resources instead. With 12-18 month product cycles, time is in short supply for each new release. One-at-a-time approaches don&rsquo;t scale to the cloud, so those are likely to get less of that limited amount of time.<br>
Anderson&rsquo;s post is worth a read. It&rsquo;s a little high-level - the man<em>is</em> a Corporate VP, after all - but it shows where Microsoft is pointing their collective brain. It uses the word &ldquo;delight.&rdquo; It describes in great detail how Microsoft is trying harder to put the customer in the front of every conversation - but, more subtly, it also shows how Microsoft is moving the conversation past &ldquo;what do customers tell us they want&rdquo; and more toward &ldquo;here&rsquo;s what we see customers<em>needing.</em>&rdquo; Henry Ford would be proud.</p>
]]></content:encoded></item><item><title>It's Safe to Run Update-Help – and you should!</title><link>https://powershell.org/articles/2013-07-02-its-safe-to-run-update-help-and-you-should/</link><guid>https://powershell.org/articles/2013-07-02-its-safe-to-run-update-help-and-you-should/</guid><pubDate>Tue, 02 Jul 2013 17:23:30 +0000</pubDate><description>&lt;p&gt;I&amp;rsquo;m informed that sometime today Microsoft will be posting fixed core cmdlet help files for your downloading pleasure - so it&amp;rsquo;s safe to run Update-Help again, and you should definitely do so. There are likely a lot of fixes and improvements to the help text, and you won&amp;rsquo;t be &amp;ldquo;losing&amp;rdquo; the parameter value type information from the SYNTAX section.&lt;br&gt;
Maybe schedule an Update-Help for tomorrow morning?&lt;br&gt;
BTW - kudos to the team at Microsoft for getting this issue fixed so quickly. It&amp;rsquo;s a shame this one snuck past them, but once notified of the problem they really did jump on it. The fact that the problem was (from the public perspective) just with the downloadable help files means it&amp;rsquo;s an easy fix that doesn&amp;rsquo;t involve pushing code out through Windows Update (thank goodness).&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I&rsquo;m informed that sometime today Microsoft will be posting fixed core cmdlet help files for your downloading pleasure - so it&rsquo;s safe to run Update-Help again, and you should definitely do so. There are likely a lot of fixes and improvements to the help text, and you won&rsquo;t be &ldquo;losing&rdquo; the parameter value type information from the SYNTAX section.<br>
Maybe schedule an Update-Help for tomorrow morning?<br>
BTW - kudos to the team at Microsoft for getting this issue fixed so quickly. It&rsquo;s a shame this one snuck past them, but once notified of the problem they really did jump on it. The fact that the problem was (from the public perspective) just with the downloadable help files means it&rsquo;s an easy fix that doesn&rsquo;t involve pushing code out through Windows Update (thank goodness).</p>
]]></content:encoded></item><item><title>PowerShell Great Debate: Formatting Constructs</title><link>https://powershell.org/articles/2013-07-02-powershell-great-debate-formatting-constructs/</link><guid>https://powershell.org/articles/2013-07-02-powershell-great-debate-formatting-constructs/</guid><pubDate>Tue, 02 Jul 2013 15:23:43 +0000</pubDate><description>&lt;p&gt;Here&amp;rsquo;s an easy, low-stakes debate: How do you like to format your scripting constructs? And, more importantly, &lt;em&gt;why&lt;/em&gt; do you like your method?&lt;br&gt;
For example, I tend to do this:&lt;/p&gt;
&lt;p&gt;`If ($this -eq $that) {&lt;/p&gt;
&lt;h1 id="do-this" class="ps-heading"&gt;do this&lt;a class="ps-heading-anchor" href="#do-this" aria-label="Link to this section" title="Link to this section"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;} else {&lt;/p&gt;
&lt;h1 id="do-this-1" class="ps-heading"&gt;do this&lt;a class="ps-heading-anchor" href="#do-this-1" aria-label="Link to this section" title="Link to this section"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;}
`I do so out of long habit with C-like syntax, and because when I&amp;rsquo;m teaching this helps me keep more information on the screen. However, some folks prefer this:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Here&rsquo;s an easy, low-stakes debate: How do you like to format your scripting constructs? And, more importantly, <em>why</em> do you like your method?<br>
For example, I tend to do this:</p><p>`If ($this -eq $that) {</p><h1 id="do-this" class="ps-heading">do this<a class="ps-heading-anchor" href="#do-this" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>} else {</p><h1 id="do-this-1" class="ps-heading">do this<a class="ps-heading-anchor" href="#do-this-1" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>}
`I do so out of long habit with C-like syntax, and because when I&rsquo;m teaching this helps me keep more information on the screen. However, some folks prefer this:</p><p>`if ($this -eq $that)
{</p><h1 id="do-this-2" class="ps-heading">do this<a class="ps-heading-anchor" href="#do-this-2" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>}
else
{</p><h1 id="do-this-3" class="ps-heading">do this<a class="ps-heading-anchor" href="#do-this-3" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>}
`Because of my own long habits, I find that hard to read, but it does make it easier to see if your squigglies are lining up properly. It takes up a ton of room, though, and I personally don&rsquo;t follow this as easily as the previous example.<br>
But what&rsquo;s your preference? _Why? _<br>
[boilerplate greatdebate]</p>
]]></content:encoded></item><item><title>Come to PowerShell Summer School!</title><link>https://powershell.org/articles/2013-07-01-come-to-powershell-summer-school/</link><guid>https://powershell.org/articles/2013-07-01-come-to-powershell-summer-school/</guid><pubDate>Mon, 01 Jul 2013 22:11:31 +0000</pubDate><description>&lt;p&gt;Through my company Concentrated Tech, I&amp;rsquo;ve decided to run a set of three &lt;a href="http://itpro.concentratedtech.com/training/summerschool.php"&gt;PowerShell Summer School&lt;/a&gt; classes (click that link for descriptions). These will be a combo of self-study and weekly online sessions, designed to teach Toolmaking, Practical applications of PowerShell, or how to teach PowerShell in a lunch &amp;rsquo;n&amp;rsquo; learn style format. Registration is open from now until August 1st, and you&amp;rsquo;ll also get a discount on some great SAPIEN products to use during class, if you like.&lt;br&gt;
The Toolmaking class will also prepare you for PowerShell VERIFIED EFFECTIVEâ„¢ certification, if you&amp;rsquo;ve been considering that.&lt;br&gt;
Two of the classes will incorporate group code reviews of student assignments, to help improve your style; the third will include mock delivery sessions to help polish your delivery skills. All will include a private Q&amp;amp;A forum where you can ask questions both of me and of your fellow students while you&amp;rsquo;re in the self-stufy phase. Classes will meet online, on Wednesdays, for six weeks through August and September.&lt;br&gt;
Planning a vacation in the middle of summer school? It&amp;rsquo;s fine - we can schedule a make-up online session when you get home. I&amp;rsquo;m also willing to try and make other accommodations to help make this an effective learning experience for everyone.&lt;br&gt;
All of these classes assume a basic level of PowerShell knowledge, although you&amp;rsquo;ll get plenty of review material to help you catch up, or dredge up old memories from when you &lt;em&gt;last&lt;/em&gt; tried to learn the shell.&lt;br&gt;
Tell a friend, tell a colleague - I don&amp;rsquo;t do these kinds of offerings all that often; my travel schedule usually precludes it. But a fortuitous schedule has made it possible, so consider taking advantage!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Through my company Concentrated Tech, I&rsquo;ve decided to run a set of three<a href="http://itpro.concentratedtech.com/training/summerschool.php">PowerShell Summer School</a> classes (click that link for descriptions). These will be a combo of self-study and weekly online sessions, designed to teach Toolmaking, Practical applications of PowerShell, or how to teach PowerShell in a lunch &rsquo;n&rsquo; learn style format. Registration is open from now until August 1st, and you&rsquo;ll also get a discount on some great SAPIEN products to use during class, if you like.<br>
The Toolmaking class will also prepare you for PowerShell VERIFIED EFFECTIVEâ„¢ certification, if you&rsquo;ve been considering that.<br>
Two of the classes will incorporate group code reviews of student assignments, to help improve your style; the third will include mock delivery sessions to help polish your delivery skills. All will include a private Q&amp;A forum where you can ask questions both of me and of your fellow students while you&rsquo;re in the self-stufy phase. Classes will meet online, on Wednesdays, for six weeks through August and September.<br>
Planning a vacation in the middle of summer school? It&rsquo;s fine - we can schedule a make-up online session when you get home. I&rsquo;m also willing to try and make other accommodations to help make this an effective learning experience for everyone.<br>
All of these classes assume a basic level of PowerShell knowledge, although you&rsquo;ll get plenty of review material to help you catch up, or dredge up old memories from when you <em>last</em> tried to learn the shell.<br>
Tell a friend, tell a colleague - I don&rsquo;t do these kinds of offerings all that often; my travel schedule usually precludes it. But a fortuitous schedule has made it possible, so consider taking advantage!</p>
]]></content:encoded></item><item><title>Seeking Editor for PowerShell.org TechLetter</title><link>https://powershell.org/articles/2013-07-01-seeking-editor-for-powershell-org-techletter/</link><guid>https://powershell.org/articles/2013-07-01-seeking-editor-for-powershell-org-techletter/</guid><pubDate>Mon, 01 Jul 2013 18:30:37 +0000</pubDate><description>&lt;p&gt;The PowerShell.org TechLetter goes out once a month, and we&amp;rsquo;re looking for an editor to take over the task of building each monthly issue.&lt;br&gt;
You&amp;rsquo;ll need some basic HTML knowledge, and ideally will have a decent HTML editor. Not FrontPage. You&amp;rsquo;ll be given articles in both HTML and Word format, and will need to insert those into a master HTML document and (especially in the case of Word), fix the formatting. You&amp;rsquo;ll have plenty of examples from past issues to work with. Eventually, you&amp;rsquo;ll also schedule the mid-month mailing.&lt;br&gt;
It all takes a few hours once you have the monthly materials in hand, and you&amp;rsquo;ll usually have at least a week to do assembly and mailing. You&amp;rsquo;ll be helping us deliver technical content to a growing audience of more than 3,500 IT professionals and PowerShell enthusiasts!&lt;br&gt;
If you&amp;rsquo;re interested, &lt;a href="https://powershell.org/contact-us/" title="Contact Us"&gt;contact me&lt;/a&gt;. Your pay will be &lt;em&gt;double&lt;/em&gt; what I&amp;rsquo;m currently paid to do this. Which is, sadly, nothing.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>The PowerShell.org TechLetter goes out once a month, and we&rsquo;re looking for an editor to take over the task of building each monthly issue.<br>
You&rsquo;ll need some basic HTML knowledge, and ideally will have a decent HTML editor. Not FrontPage. You&rsquo;ll be given articles in both HTML and Word format, and will need to insert those into a master HTML document and (especially in the case of Word), fix the formatting. You&rsquo;ll have plenty of examples from past issues to work with. Eventually, you&rsquo;ll also schedule the mid-month mailing.<br>
It all takes a few hours once you have the monthly materials in hand, and you&rsquo;ll usually have at least a week to do assembly and mailing. You&rsquo;ll be helping us deliver technical content to a growing audience of more than 3,500 IT professionals and PowerShell enthusiasts!<br>
If you&rsquo;re interested,<a href="https://powershell.org/contact-us/" title="Contact Us">contact me</a>. Your pay will be <em>double</em> what I&rsquo;m currently paid to do this. Which is, sadly, nothing.</p>
]]></content:encoded></item></channel></rss>