Get the latest tips and tricks directly from the PowerWF development team. Find out about new releases and upcoming features.
Seamless Automation
From the Desktop to the Data Center
The PowerWF family of products are easy enough for desktop and departmental automation, yet powerful and scalable enough for the Data Center. PowerWF compliments Opalis and other RBA solutions, lets you leverage your workforce and preserves your investment as your automation needs grow.
In conjunction with our recently
announced Silver
Award from Windows IT Magazine we
would like to offer our customers an opportunity to save 20%
off any Devfarm product
purchase through the end of the year. This includes all PowerWF products as
well as Devfarm's new PowerVI product!
Designed for the VMware Administrator, PowerVI eases the automation of vSphere infrastructures. PowerVI includes over 100 PowerShell automation scripts that simplify everyday VMware administration tasks and PowerVI makes it easy to author new scripts.
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.
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:
Under the Stairs 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.
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:
Get-ChildItem –Path C:\Data –Include *.Txt
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.
The simplest way to just get the text files form a single folder would be:
Get-ChildItem –Path C:\Data\*.Txt
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:
Add Splunk 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 previewing a PowerShell module as well.
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.
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?
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.
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.
Still, you will need to use PowerShell “Enable-PSRemoting-force” 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.
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.
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:
error=User with sid has an active VDI Session on Pool . Entitlement cannot be
removed until this session is terminated.
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:
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.
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.
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.
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.
Most of my scripts end up being functions because I will eventually combine them into modules
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.
Devfarm Software, a Windows 8 Launch Partner, today announced the release of version 2.7 of the award winning PowerWF. With this release, PowerWF begins the transition from a popular PowerShell workflow orchestration tool to a complete windows automation platform.
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.
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.
“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.”
“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.”
PowerWF’s new features include:
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.
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.
Improved Toolbox Search - search using command names or keywords.
PowerSE’s new features include:
Easier Breakpoint Management - Breakpoints pane shows all breakpoints set in the scripting environment. Manage breakpoints using the breakpoint cmdlets.
Breakpoints Preserved Across Sessions - Allows continued debugging of PowerShell scripts from one session to the next, even if the file is closed inside PowerSE.
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”.