<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>PowerWF</title><generator>Tumblr (3.0; @powerwf)</generator><link>http://blog.powerwf.com/</link><item><title>Exporting a Hyper-V virtual machine using PowerShell</title><description>&lt;p&gt;I know I’m a little VMware-centric when it comes to PowerShell and virtualization. This shouldn’t be too surprising with the features of PowerCLI combined with our PowerVI VMware tool.  &lt;/p&gt;
&lt;p&gt;I thought I would venture off that path with a blog post I found by Ben Armstrong that explains how to &lt;a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2012/02/08/powershell-script-for-exporting-a-virtual-machine.aspx" title="PowerShell Script for Exporting a virtual machine"&gt;export a Hyper-V virtual machine using PowerShell&lt;/a&gt; -&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;I need to automate the process of exporting a virtual machine recently – and when I checked around I found that while there are a number of sample scripts out there that show you how to do this (some even on this blog) they are all written in VBScript.  As I am now to the stage where PowerShell is my preferred scripting language – I sat down and wrote up this short script:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(&lt;a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2012/02/08/powershell-script-for-exporting-a-virtual-machine.aspx" title="PowerShell Script for Exporting a virtual machine"&gt;read more and get script&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17768587122</link><guid>http://blog.powerwf.com/post/17768587122</guid><pubDate>Fri, 17 Feb 2012 10:00:05 -0600</pubDate><category>powershell</category><category>powercli</category><category>hyperV</category><category>vmware</category><category>powervi</category><category>powerwf</category><category>PowerSE</category></item><item><title>Domain Groups and PowerShell</title><description>&lt;p&gt;Jason Hofferle has a nice post on &lt;a href="http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/" title="Adding Domain Groups to Local Administrators Group with PowerShell"&gt;Adding Domain Groups to Local Administrators Group with PowerShell&lt;/a&gt;.  Basically Jason ran into a problem adding domain groups with long names using NET.EXE, so he had to come up with a PowerShell solution.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;That’s right, &lt;a href="http://support.microsoft.com/kb/324639" title="NET.EXE /ADD command does not support names longer than 20 characters" target="_blank"&gt;the NET.EXE /ADD command does not support names longer than 20 characters&lt;/a&gt;. If &lt;code&gt;net localgroup /add&lt;/code&gt; is being used in a computer startup script, the groups with long names just won’t be added.&lt;/p&gt;
&lt;p&gt;So the traditional batch file startup script was replaced with a PowerShell startup script,&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.hofferle.com/adding-domain-groups-to-local-administrators-group-with-powershell/" title="Adding Domain Groups to Local Administrators Group with PowerShell"&gt;read more and get script&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17657841304</link><guid>http://blog.powerwf.com/post/17657841304</guid><pubDate>Wed, 15 Feb 2012 09:00:06 -0600</pubDate><category>powershell</category><category>Active Directory</category><category>PowerSE</category><category>PowerWF</category></item><item><title>Deep Dive on what should be a simple cmdlet</title><description>&lt;p&gt;&lt;a href="http://tfl09.blogspot.com/2012/02/get-childitem-and-theinclude-and-filter.html" title="Get-ChildItem and theInclude and Filter parameters"&gt;Under the Stairs&lt;/a&gt; has a rather deep dive into the Get-ChildItem cmdlet.  You would think that a PowerShell cmdlet that is used as often as Get-ChildItem wouldn’t have many secrets or gotcha’s, but Thomas points out several items that are easy to forget.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I saw a good question the other day in the PowerShell.Com Learn PowerShell Forum which related to using –Include when calling Get-ChildItem (or DIR, or LS!). The OP had a bunch of files in a folder (C:\Data) and wanted to get at just the *.txt files as follows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Get-ChildItem –Path C:\Data –Include *.Txt&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But it did not work – it returned no files at all (even though there were some in the folder. The reason is clear if you read the great help text closely: the Include switch is only active if you are also using the –Recurse parameter! Another small to make is that the –include property specifies a globbed string (I.e. a file name specified with Wild cards) and not a regular expression.&lt;/p&gt;
&lt;p&gt;The simplest way to just get the text files form a single folder would be:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Get-ChildItem –Path C:\Data\*.Txt&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Another way to get just the Text files in a given folder would be to use the –Filter parameter. The –Filter parameter  is sent to the provider and is used to qualify the –Path value. You can call it like:&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://tfl09.blogspot.com/2012/02/get-childitem-and-theinclude-and-filter.html" title="Get-ChildItem and the -Include and -Filter parameters"&gt;read more and get more sample code&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17550659519</link><guid>http://blog.powerwf.com/post/17550659519</guid><pubDate>Mon, 13 Feb 2012 08:00:06 -0600</pubDate><category>powershell</category><category>PowerSE</category><category>PowerWF</category></item><item><title>PowerShell Module for Splunk</title><description>&lt;p&gt;Add &lt;a href="http://en.wikipedia.org/wiki/Splunk" title="Splunk"&gt;Splunk&lt;/a&gt; to the list of products that can be managed by PowerShell. Splunk is used to monitor software applications, systems and infrastructures.  According to their blog, they are &lt;a href="http://blogs.splunk.com/2012/02/04/powershell-resource-kit-for-splunk/" title="PowerShell Resource Kit for Splunk"&gt;previewing a PowerShell module as well&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Earlier this week Splunk launched a preview of the PowerShell Resource Kit on Github. It is designed to help Splunk admins who want to automate administration of their Splunk deployments, but also has some pretty cool recipes for integrating Active Directory with Splunk, forwarding alerts and other data to Microsoft’s System Center Operations Manager, and performing a rudimentary topology discovery via an automated Splunk search with PowerShell.&lt;/p&gt;
&lt;p&gt;Many of Splunk’s customers monitor very large Windows environments that have hundreds if not thousands of Universal Forwarders. They also use Active Directory for authentication, policy management and general asset organization. It turns out that they also use PowerShell extensively. So, why not develop a Splunk module for PowerShell?&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://blogs.splunk.com/2012/02/04/powershell-resource-kit-for-splunk/" title="PowerShell Resource Kit for Splunk"&gt;read more and get sample code&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17374100241</link><guid>http://blog.powerwf.com/post/17374100241</guid><pubDate>Fri, 10 Feb 2012 10:00:05 -0600</pubDate><category>PowerShell</category><category>PowerSE</category><category>PowerWF</category></item><item><title>Poll: PowerWF, PowerSE and .NET 4.0</title><description>&lt;p&gt;&lt;script type="text/javascript" charset="utf-8" src="http://static.polldaddy.com/p/5926408.js"&gt;&lt;/script&gt;&lt;/p&gt;&lt;noscript&gt;&lt;a href="http://polldaddy.com/poll/5926408/"&gt;Do you think we should increase the minimum requirement for PowerWF/PowerSE to .NET 4.0?&lt;/a&gt;&lt;/noscript&gt;</description><link>http://blog.powerwf.com/post/17318939573</link><guid>http://blog.powerwf.com/post/17318939573</guid><pubDate>Thu, 09 Feb 2012 08:58:56 -0600</pubDate></item><item><title>Intel has produced a new video that discusses their new Intel®...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/SN-hGSu2Evo?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Intel has produced a new video that discusses their new Intel® vPro™ Technology Module for Microsoft Windows Powershell&lt;/p&gt;</description><link>http://blog.powerwf.com/post/17262108380</link><guid>http://blog.powerwf.com/post/17262108380</guid><pubDate>Wed, 08 Feb 2012 07:00:00 -0600</pubDate><category>PowerShell</category><category>video</category><category>PowerSE</category><category>PowerWF</category></item><item><title>PowerShell to submit SQLServicePack job to multiple Server</title><description>&lt;p&gt;Max Trinidad at The PowerShell Front had an interesting post that I’ve been meaning to link to - “&lt;a href="http://www.maxtblog.com/2012/01/quickblog-use-powershell-to-submit-sqlservicepack-job-to-multiple-server/" title="QuickBlog  Use PowerShell to submit SQLServicePack job to multiple Server"&gt;QuickBlog – Use PowerShell to submit SQLServicePack job to multiple Server&lt;/a&gt;”&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;I just confirmed that’s possible to submit an unattended SQL ServicePack installer as a job using PowerShell Remoting. I’m using my Hyper-V Virtual Domain I ran the script from a Windows 7 VM and submitted one job to two servers. I could see the the jobs processing on the server Task Manager.&lt;/p&gt;
&lt;p&gt;But, it was tedious? If you’re a newbie maybe it’s a little over your head but not impossible. That’s the intention of PowerShell Remoting, to be able to do these things like this, and I’m just scratching the surface. Please, Take advantage of these features in PS V2.0, and more enhancements has been done in PS v3.0 with the inclusion of Workflows.&lt;/p&gt;
&lt;p&gt;Still, you will need to use PowerShell “&lt;span&gt;&lt;strong&gt;Enable-PSRemoting&lt;/strong&gt;&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;em&gt;&lt;strong&gt;-force&lt;/strong&gt;&lt;/em&gt;” in all the servers. I know, this may be an issue but you need to configure it on all the servers in order to take advantage of PowerShell Remoting. Now, I’m creating session on each computer so I can run as jobs, and your credential is Important to be included. All this is done from your desktop, no more running to the server room.&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.maxtblog.com/2012/01/quickblog-use-powershell-to-submit-sqlservicepack-job-to-multiple-server/" title="QuickBlog  Use PowerShell to submit SQLServicePack job to multiple Server"&gt;read more&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17212019794</link><guid>http://blog.powerwf.com/post/17212019794</guid><pubDate>Tue, 07 Feb 2012 10:00:06 -0600</pubDate><category>SQL</category><category>PowerShell</category><category>PowerSE</category><category>PowerWF</category></item><item><title>Multiplying Strings in PowerShell</title><description>&lt;p&gt;One feature of PowerShell has always baffled me; why would anyone ever want to multiply a string?  Of course &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2012/01/29/multiply-powershell-strings-to-customize-text-underlines.aspx" title="Multiply PowerShell Strings to Customize Text Underlines"&gt;Scripting Guy Ed Wilson had a use case for it&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;One of the really cool things that I use the string multiplication trick to do is to create an underline that is exactly the same length as the string it highlights. To do this, I use the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Length&lt;/strong&gt;&lt;em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;property of the string and supply that to the multiplication operator along with the desired line separator to use. In the code that follows, I assign a string to the variable&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;$a&lt;/strong&gt;&lt;span&gt;. Next, I use the&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Length&lt;/strong&gt;&lt;em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;property, which is a property that always exists on&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;System.String&lt;/strong&gt;&lt;em&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/em&gt;&lt;span&gt;objects, to determine the length of the string. I use the length of the string to determine how many times I want to multiply the underscore character (“_”). Next I display the string, and finally, I display the newly created underline. The code is shown here.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(&lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2012/01/29/multiply-powershell-strings-to-customize-text-underlines.aspx" title="Multiply PowerShell Strings to Customize Text Underlines"&gt;read more and view code&lt;/a&gt;)&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/17152823197</link><guid>http://blog.powerwf.com/post/17152823197</guid><pubDate>Mon, 06 Feb 2012 08:00:05 -0600</pubDate><category>PowerShell</category></item><item><title>2012 PowerShell Scripting Games</title><description>&lt;p&gt;Are you playing in the &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2012/01/30/scripting-guys-announce-the-2012-powershell-scripting-games.aspx" title="Scripting Guys Announce the 2012 PowerShell Scripting Games"&gt;2012 PowerShell Scripting Games&lt;/a&gt;?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There will be two categories: Beginner and Advanced. Just like last year, the beginner’s division is really for beginners. If you have been wanting to learn Windows PowerShell, but you did not know how to go about it, you definitely need to sign up for the 2012 Scripting Games to give yourself a bit of added incentive. If you want to take your skills to the next level, you will want to participate in the advanced category.&lt;/p&gt;
&lt;p&gt;In a major departure from previous rules, if you want to compete by using the beta version of Windows PowerShell 3.0, you are welcome to use it. You will be limited to the most recent version that is publically available, and you must specify that when you submit your scripts.&lt;/p&gt;
&lt;p&gt;I will be putting together the finishing touches on the Study Guide for the 2012 Scripting Games to help you in your study and preparation for the games. The Study Guide will be available on February 5, 2012.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="Apple-converted-space"&gt;(&lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2012/01/30/scripting-guys-announce-the-2012-powershell-scripting-games.aspx" title="Scripting Guys Announce the 2012 PowerShell Scripting Games"&gt;read more&lt;/a&gt;)&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The Scripting Games start on April 2nd. Let us know if you play, and be sure to use your favorite PowerShell editor, &lt;a href="http://powerwf.com/products/powerse.aspx" title="PowerSE - Professional PowerShell Editor"&gt;PowerSE&lt;/a&gt; as you join in the fun.&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16977489985</link><guid>http://blog.powerwf.com/post/16977489985</guid><pubDate>Fri, 03 Feb 2012 10:00:05 -0600</pubDate><category>PowerShell</category><category>PowerSE</category><category>v3</category></item><item><title>Disabling a View Pool with PowerCLI</title><description>&lt;p&gt;Rob Daniels at ClearPath Solutions Group has an interesting post on disabling a view pool for VMware.  He points out that there isn’t currently a PowerCLI command to do it, but came up with a PowerShell solution anyway.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Have you ever wanted to disable a VDI pool from the command line, but couldn’t find the right command for the job? As simple as it may seem to do, VMware has yet to equip the PowerCLI Snap-in with a “disable-pool” commandlet. Some may try to accommodate this by simply removing pool entitlements, but you can be faced with the following error:&lt;/p&gt;
&lt;pre&gt;Remove-PoolEntitlement : PowershellService::RemovePoolEntitlement FAILED, &lt;/pre&gt;
&lt;pre&gt;error=User with sid  has an active VDI Session on Pool . Entitlement cannot be &lt;/pre&gt;
&lt;pre&gt;removed until this session is terminated.&lt;br/&gt; &lt;/pre&gt;
&lt;p&gt;This error is the result of an active desktop session attached to the entitlement being removed, or worse, anywhere within the VDI system as this is a global property. What this means is that if a user has an entitlement to more than one pool, this command may fail every time. As a work-around, there is a value within the local ADAM database on the View broker server. It is a Boolean value with the name “pae-Disabled” and can be found in the vdi.vmware.int\Applications\ attribute of the local LDAP. Below is an example of how this value can be toggled from a script:&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://clearpathsg.com/blogs/2012/01/24/disable-vmware-view-pool-using-powershell-powercli" title="Disable VMware View Pool using Powershell PowerCLI"&gt;read more and get script&lt;/a&gt;)&lt;/p&gt;

&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/16863191281</link><guid>http://blog.powerwf.com/post/16863191281</guid><pubDate>Wed, 01 Feb 2012 08:00:05 -0600</pubDate><category>PowerShell</category><category>PowerCLI</category><category>VMware</category><category>vsphere</category><category>PowerWF</category><category>PowerVI</category><category>PowerSE</category></item><item><title>PowerShell Implicit Remoting and VMware</title><description>&lt;p&gt;Jason Hofferle has a nice post that discusses using PowerShell implicit remoting to take advantage VMware’s View cmdlets when you aren’t on the connection server.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One of the differences between the VMware View cmdlets and PowerCLI is that the View cmdlets can only be run on the connection server itself. Despite the lack of a Connect-VIServer equivalent, with PowerShell Implicit Remoting it’s still possible to use these cmdlets from a workstation.&lt;/p&gt;
&lt;p&gt;First, PowerShell Remoting needs to be enabled on the Connection Server. There are several ways to configure remoting, but in a domain environment I like to turn it on with group policy. Enabling the automatic configuration of listeners is usually all the configuration necessary to enable remoting on a domain server, but lots of information is available for different situations.&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.hofferle.com/vmware-view-cmdlets-and-powershell-implicit-remoting/" title="VMware View Cmdlets and PowerShell Implicit Remoting"&gt;read more and get sample code&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/16817716919</link><guid>http://blog.powerwf.com/post/16817716919</guid><pubDate>Tue, 31 Jan 2012 08:00:06 -0600</pubDate><category>PowerSE</category><category>powershell</category><category>vmware</category><category>vsphere</category><category>PowerWF</category></item><item><title>Best Practices for Developing and Presenting SLA Information</title><description>&lt;p&gt;I saw that PowerWF champion Chris Ross is giving a presentation on SLA’s (Service Level Agreements) in System Center on Thursday.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;In this co-hosted webinar, Chris Ross from Catapult Systems will join Rob Reyes from Bay Dynamics.&lt;/span&gt;&lt;strong&gt;Topics will include:&lt;/strong&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What is an SLA .. really&lt;/li&gt;
&lt;li&gt;Best Practices for developing SLAs for your System Center infrastructure&lt;/li&gt;
&lt;li&gt;Leveraging the power of Service Manager&lt;/li&gt;
&lt;li&gt;Presenting SLAs and metrics with IT Analytics’ Key Performance Indicators and dashboards&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Space is limited.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Reserve your Webinar seat now at:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www1.gotomeeting.com/register/574414905"&gt;&lt;a href="https://www1.gotomeeting.com/register/574414905"&gt;https://www1.gotomeeting.com/register/574414905&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Power of IT Analytics Series: &lt;/strong&gt;&lt;strong&gt;Best Practices for Developing and Presenting SLA information&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Date:     Thursday, February 2, 2012&lt;/p&gt;
&lt;p&gt;Time:     10:00 AM – 11:00 AM PST&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://scsm.us/2012/it-analytics-sla-management"&gt;read more&lt;/a&gt;)&lt;/p&gt;

&lt;/blockquote&gt;</description><link>http://blog.powerwf.com/post/16757919227</link><guid>http://blog.powerwf.com/post/16757919227</guid><pubDate>Mon, 30 Jan 2012 07:00:06 -0600</pubDate><category>SCSM</category><category>System Center</category></item><item><title>PowerShell Scheduling</title><description>&lt;p&gt;Jeffery Hicks is working on a &lt;a href="http://jdhitsolutions.com/blog/2012/01/friday-fun-a-powershell-alarm-clock/" title="Friday Fun: A PowerShell Alarm Clock"&gt;PowerShell scheduler&lt;/a&gt; that looks pretty promising.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;Today’s Friday Fun is a continuation of my exploration of ways to use Start-Job. A few weeks ago I wrote about &lt;/span&gt;&lt;a href="http://jdhitsolutions.com/blog/2012/01/using-start-job-as-a-scheduled-task/" target="_blank"&gt;using Start-Job to create “scheduled” tasks&lt;/a&gt;&lt;span&gt;. I realized I could take this further and turn this into a sort of alarm clock. The goal is to execute at command at a given time, but I wanted to make it easy to specify the time. What I have so far is a function called New-Alarm. I have some other ideas and hope to expand this into a module, but for now I thought I’d toss this out to you and get some feedback.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(&lt;a href="http://jdhitsolutions.com/blog/2012/01/friday-fun-a-powershell-alarm-clock/" title="Friday Fun: A PowerShell Alarm Clock"&gt;read more&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;By the way, if you are using PowerWF, it includes an agent that makes it easy to schedule your PowerShell scripts or workflows to run an a specific schedule (Every so many minutes, every Wednesday, etc.)&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16578841136</link><guid>http://blog.powerwf.com/post/16578841136</guid><pubDate>Fri, 27 Jan 2012 09:00:06 -0600</pubDate><category>PowerShell</category><category>PowerSE</category></item><item><title>PowerShell Function Primer</title><description>&lt;p&gt;Richard Siddaway at IT Knowledge Exchange answers a very basic question that many new PowerShell scripters run into - Once I create a function, how do I use it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Most of my scripts end up being functions because I will eventually combine them into modules&lt;/p&gt;
&lt;p&gt;My recent script&lt;/p&gt;
&lt;pre class="brush: ps"&gt;function get-logedonuser {
param (
 [string]$computername = $env:COMPUTERNAME
)
Get-WmiObject -Class Win32_LogonSession -ComputerName $computername |
foreach {
 $data = $_                        

 $id = $data.__RELPATH -replace """", "'"
 $q = "ASSOCIATORS OF {$id} WHERE ResultClass = Win32_Account"
 Get-WmiObject -ComputerName $computername -Query $q |
 select @{N="User";E={$($_.Caption)}},
 @{N="LogonTime";E={$data.ConvertToDateTime($data.StartTime)}}
}
}
&lt;/pre&gt;
&lt;p&gt;Prompted a comment about how could you run this script.&lt;/p&gt;
&lt;p&gt;First off I would save it to a file – get-logedonuser.ps1&lt;/p&gt;
&lt;p&gt;You can then either&lt;/p&gt;
(&lt;a href="http://itknowledgeexchange.techtarget.com/powershell/running-a-function/" title="Running a function"&gt;read more&lt;/a&gt;)&lt;/blockquote&gt;
&lt;p&gt;If you are running PowerWF, it is very easy to leverage a function you find on the internet.  Simply paste the function into a script block in the workflow and then either call it from that script block or from elsewhere in your workflow.&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16465127344</link><guid>http://blog.powerwf.com/post/16465127344</guid><pubDate>Wed, 25 Jan 2012 09:00:06 -0600</pubDate><category>how to</category><category>powershell</category><category>PowerWF</category></item><item><title>PowerWF v2.7 Released</title><description>&lt;p&gt;Devfarm Software, a Windows 8 Launch Partner, today announced the release of version 2.7 of the award winning &lt;a href="http://powerwf.com/" title="PowerWF Studio - Windows Automation and PowerShell Orchestration"&gt;PowerWF&lt;/a&gt;.   With this release, PowerWF begins the transition from a popular  PowerShell workflow orchestration tool to a complete windows automation  platform.&lt;/p&gt;
&lt;p&gt;For the past 3 years PowerWF has seamlessly combined Windows  PowerShell with Workflow technologies to provide users with PowerShell  Orchestration.  PowerWF provides a rich automation platform that lets IT  Administrators harness the strengths and versatility of Windows  PowerShell with a workflow Orchestration layer required to cross  technical disciplines.&lt;/p&gt;
&lt;p&gt;The latest version of PowerWF provides instant return on investment  with one-click automation solutions for many common IT and VMware  administrative tasks.  The solutions can be run as-is, or easily  modified using PowerWF’s visual authoring environment.&lt;/p&gt;
&lt;p&gt;“The focus of this release has been jump starting the automation  process,” said Ben Vierck, CTO of Devfarm Software.  “We want our users  to see the value of automation as soon as they launch the product.”&lt;/p&gt;
&lt;p&gt;“PowerWF has always provided a powerful authoring environment,” added  PowerWF Product Manager Kirk Munro.  “This version ensures that users  gain the benefits of automation even before exploring PowerWF’s  authoring experience.”&lt;/p&gt;
&lt;p&gt;PowerWF’s new features include:&lt;/p&gt;
&lt;ul class="releaseul"&gt;&lt;li&gt;     New Start Page - Immediately run  dozens of automation workflows included with the product and leverage  the power of Workflow and PowerShell without requiring the technical  knowledge behind the automation scripts.&lt;/li&gt;
&lt;li&gt;    Improved Microsoft System Center Service Manager (SCSM) support  - Deploy management packs right from the Start Page.  Management Packs  for SCSM include: automatically close resolved incidents; expire  inactive problem announcements; cancel pending activities for closed  change requests; identify problems from incident trends; notify incident  authors about unresolved incidents; and retrieving SCSM statistics.&lt;/li&gt;
&lt;li&gt;    Improved Toolbox Search - search using command names or keywords.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;PowerSE’s new features include:&lt;/p&gt;
&lt;ul class="releaseul"&gt;&lt;li&gt;    Easier Breakpoint Management -  Breakpoints pane  shows all breakpoints set in the scripting  environment.  Manage breakpoints using the breakpoint cmdlets.&lt;/li&gt;
&lt;li&gt;    Breakpoints Preserved Across Sessions - Allows continued  debugging of PowerShell scripts from one session to the next, even if  the file is closed inside PowerSE.&lt;/li&gt;
&lt;li&gt;    Improved Help Search - search using keywords topic headings.   PowerSE includes a keyword search in command descriptions to allow users  to discover commands using related terms, such as “vMotion”.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;(&lt;a href="http://www.prweb.com/releases/PowerWF-v27/OneClickAutomation/prweb9133533.htm" title="PowerWF v2.7 Simplifies Windows Automation "&gt;view press release&lt;/a&gt;)&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16417370596</link><guid>http://blog.powerwf.com/post/16417370596</guid><pubDate>Tue, 24 Jan 2012 13:17:33 -0600</pubDate><category>press</category><category>PowerWF</category><category>PowerSE</category></item><item><title>Alan Renouf has a new video that shows how to use the new...</title><description>&lt;iframe width="400" height="299" src="http://www.youtube.com/embed/vfbt567_rC8?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Alan Renouf has a new video that shows how to use the new PowerCLI cmdlets for vCloud director.&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16410028296</link><guid>http://blog.powerwf.com/post/16410028296</guid><pubDate>Tue, 24 Jan 2012 10:00:06 -0600</pubDate><category>PowerWF</category><category>PowerCLI</category><category>PowerVI</category></item><item><title>VMware Cluster Capacity Check</title><description>&lt;p&gt;Jonathan Medd has posted another useful PowerShell/PowerCLI script.  This time he is &lt;a href="http://www.jonathanmedd.net/2012/01/basic-cluster-vmware-capacity-check-with-powercli.html" title="Basic VMware Cluster Capacity Check with PowerCLI"&gt;looking at Cluster storage capacity&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;I recently needed to provide a high level capacity overview per VMware cluster looking at some metrics of interest that were being used as a guide to the capacity state of a cluster. Note: these are by no means definitive or the ones you should be using in your environment, but for these purposes they met the requirements. The metrics I looked at per cluster were the ratio of vCPUs to pCPUs, the amount of Effective, Allocated and average Active Memory and the amount of Free Diskspace.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(&lt;a href="http://www.jonathanmedd.net/2012/01/basic-cluster-vmware-capacity-check-with-powercli.html" title="Basic VMware Cluster Capacity Check with PowerCLI"&gt;read more and download script&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As is usually the case, it would be very straight forward to convert this script to a &lt;a href="http://powerwf.com/products/powerwf.aspx"&gt;PowerWF workflow&lt;/a&gt; or a &lt;a href="http://powerwf.com/products/powerscripter.aspx"&gt;PowerVI script&lt;/a&gt; so that you can run it from your vSphere client.&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16346523841</link><guid>http://blog.powerwf.com/post/16346523841</guid><pubDate>Mon, 23 Jan 2012 07:00:06 -0600</pubDate><category>powershell</category><category>powercli</category><category>vsphere</category><category>PowerWF</category><category>powervi</category></item><item><title>Monitor Services with PowerShell</title><description>&lt;div&gt;
&lt;p&gt;Jonathan Medd has a new post that shows how to insure that &lt;a href="http://www.jonathanmedd.net/2012/01/using-powershell-to-check-that-windows-server-services-set-to-automatic-have-started.html" title="Using PowerShell To Check That Windows Server Services Set To Automatic Have Started "&gt;all Windows Services that are set to Automatic, are actually running&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I needed to […] check that all of the Windows Services set to Automatic successfully started after the reboot.&lt;/p&gt;
&lt;p&gt;This should be pretty straightforward since we have a &lt;strong&gt;Get-Service&lt;/strong&gt;cmdlet. Unfortunately however, this cmdlet does not return a StartMode parameter, i.e. it’s not possible to tell whether the Startup Type has been set to Automatic, Manual or Disabled. This is quite a large gap in my opinon – if you agree with me you can vote to get it included in a future release &lt;a href="http://connect.microsoft.com/PowerShell/feedback/details/416680/get-service-needs-to-add-a-startuptype-noteproperty-to-its-output"&gt;here&lt;/a&gt;. Of course with PowerShell there’s usually another way to achieve the same objective and using &lt;strong&gt;Get-WMIObject&lt;/strong&gt; it is possible to find out the Startup Type of the service.&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://www.jonathanmedd.net/2012/01/using-powershell-to-check-that-windows-server-services-set-to-automatic-have-started.html" title="Using PowerShell To Check That Windows Server Services Set To Automatic Have Started "&gt;read more and see examples&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;It would be fairly straight forward to take the output from Jonathan’s script and create a SCOM management pack using &lt;a href="http://powerwf.com/products/operationsmanager.aspx"&gt;PowerWF’s ToSCOM activity&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.powerwf.com/post/16173524745</link><guid>http://blog.powerwf.com/post/16173524745</guid><pubDate>Fri, 20 Jan 2012 10:00:05 -0600</pubDate><category>SCOM</category><category>PowerWF</category><category>System Center</category></item><item><title>PowerShell is key to the Future of Exchange Administration</title><description>&lt;div&gt;
&lt;p&gt;Tony Redmond at WindowsITPro has a new post on the &lt;a href="http://www.windowsitpro.com/blog/tony-redmonds-exchange-unwashed-50/exchange-server-2010/future-exchange-administration-141889" title="The future of Exchange administration"&gt;future on Exchange administration&lt;/a&gt;.  Not surprisingly, PowerShell is at the heart of his discussion.&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;&lt;li&gt;Microsoft is heading towards a world of automated management based on PowerShell in Windows Server 8&lt;/li&gt;
&lt;li&gt;Exchange 2010 is close to where Microsoft wants to go because it already uses web-based consoles and Remote PowerShell&lt;/li&gt;
&lt;li&gt;The trend will continue, but will administrators heed the clarion call?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;(&lt;a href="http://www.windowsitpro.com/blog/tony-redmonds-exchange-unwashed-50/exchange-server-2010/future-exchange-administration-141889" title="The future of Exchange administration"&gt;read more&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
Product Note: If you are not comfortable writing scripts, don’t forget that you can use PowerWF to take full advantage of Exchange PowerShell integration without getting lost in scripts.&lt;/div&gt;</description><link>http://blog.powerwf.com/post/16117946867</link><guid>http://blog.powerwf.com/post/16117946867</guid><pubDate>Thu, 19 Jan 2012 10:00:05 -0600</pubDate><category>exchange</category><category>PowerSE</category><category>PowerWF</category></item><item><title>Count Running Virtual Machines on Datastores</title><description>&lt;p&gt;Found another good candidate for a PowerVI script at &lt;a href="http://vniklas.djungeln.se/2011/12/19/check-number-of-running-vms-on-datastores/" title="Check number of running VMs on datastores"&gt;vNiklas.djungel.se&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running too many VM´s on your datastores in your vSphere  environment you can have some problems, this if your SAN is not VAAI  compliant and can handle SCSI locking etc.&lt;/p&gt;
&lt;p&gt;Alan Renouf has made a &lt;a href="http://www.virtu-al.net/2009/09/23/powercli-how-many-vms-on-your-datastores/" target="_blank"&gt;blog post&lt;/a&gt; about how to get a report about how many VM´s you have on every  datastore, I have extended to only report on running VM´s as these are  the interesting number..&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://vniklas.djungeln.se/2011/12/19/check-number-of-running-vms-on-datastores/" title="Check number of running VMs on datastores"&gt;read more&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I would alter his script slightly for use in PowerVI.&lt;/p&gt;
&lt;pre class="brush: ps"&gt;#--name Virtual Machines Per Datastore
#--multi --hideoutput
#--origin PowerSE

Get-Datastore | 
	Select Name,@{Name="TotalVMs";Expression={@($_ | 
	Get-VM).Count}}, 
	@{Name="PoweredOnVMs";Expression={@($_ | Get-VM | where {$_.PowerState -eq "PoweredOn"}).Count}}, 
	@{Name="PoweredOffVMs";Expression={@($_ | Get-VM | where {$_.PowerState -eq "PoweredOff"}).Count}}, 
	@{Name="SuspendedVMs";Expression={@($_ | Get-VM | where {$_.PowerState -eq "Suspended"}).Count}} | 
	Sort Name | 
	out-GridView
&lt;/pre&gt;</description><link>http://blog.powerwf.com/post/15029175890</link><guid>http://blog.powerwf.com/post/15029175890</guid><pubDate>Fri, 30 Dec 2011 10:00:00 -0600</pubDate><category>powershell</category><category>powercli</category><category>powervi</category></item></channel></rss>

