PowerWF News, Tutorials, and more...

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.


Special - 20% Discount


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!

PowerVI

vSphere Automation fueled by PowerShell


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.
January 30, 2012

Best Practices for Developing and Presenting SLA Information

I saw that PowerWF champion Chris Ross is giving a presentation on SLA’s (Service Level Agreements) in System Center on Thursday.

In this co-hosted webinar, Chris Ross from Catapult Systems will join Rob Reyes from Bay Dynamics.Topics will include:

  • What is an SLA .. really
  • Best Practices for developing SLAs for your System Center infrastructure
  • Leveraging the power of Service Manager
  • Presenting SLAs and metrics with IT Analytics’ Key Performance Indicators and dashboards

Space is limited.

Reserve your Webinar seat now at:

https://www1.gotomeeting.com/register/574414905

Power of IT Analytics Series: Best Practices for Developing and Presenting SLA information

Date:     Thursday, February 2, 2012

Time:     10:00 AM – 11:00 AM PST

(read more)



January 20, 2012

Monitor Services with PowerShell

Jonathan Medd has a new post that shows how to insure that all Windows Services that are set to Automatic, are actually running.

I needed to […] check that all of the Windows Services set to Automatic successfully started after the reboot.

This should be pretty straightforward since we have a Get-Servicecmdlet. 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 here. Of course with PowerShell there’s usually another way to achieve the same objective and using Get-WMIObject it is possible to find out the Startup Type of the service.

(read more and see examples)

It would be fairly straight forward to take the output from Jonathan’s script and create a SCOM management pack using PowerWF’s ToSCOM activity.



December 2, 2011

SCSM User Group Recap - Video of PowerWF In Action

PowerWF for Service Manager (SCSM) was highlighted at the December 2011 SCSM User Group.  Topics discussed include:

  • SCSM 2012 Implementation Briefing from Acceleres
  • Extending Service Manager with PowerWF
  • SCSM 2012 News
  • General Q&A for SCSM 2010/2012
  • 2012 Release Request Activities and SSP Example Demo from Travis Wright

Click over to watch the video.



December 1, 2011

Use PowerShell to Clean SCCM

Trevor Sullivan has a nice PowerShell script that removes expired and superseded updates from System Center Configuration Manager (SCCM).

A common complaint I hear about Microsoft System Center Configuration Manager (SCCM / ConfigMgr) 2007 is the ability to clean up expired and superseded software updates from the objects related to software updates. As software updates are marked as expired or are superseded by newer software updates, Microsoft marks the old updates accordingly. Once an update has been retired, it is desirable for ConfigMgr administrators to remove the updates from deployments and reporting objects. This cleanup effort saves disk space for deployment packages, and can reduce unnecessary information from showing up in reports.

 

The ConfigMgr objects that need to have expired and superseded updates removed from them include:

  • Software Update Lists
  • Software Updates Deployment Management
  • Software Updates Deployment Packages

As with most things, we can manage these objects by using PowerShell to talk to the ConfigMgr WMI provider.

(read more)



October 30, 2011

Using PowerShell to See If Agent Proxy Is Enabled In SCOM

I found a new blog called SCOM Admins that has a post on using PowerShell to see if the Agent Proxy setting is on for Operations Manager Agents.  The Agent Proxy setting allows the agent to discover managed objects on other computers.

if we  installed SCOM Agent on 100 servers or if your organization have more then two administrators and [the] other administrator installed the SCOM Agents and he forget to enable the “Agent Proxy” , then you you found that which Agents are “Proxy Enabled” and which are not.

There are two ways to accomplish it.

Option 1:
Check the Settings of each and Every SCOM Agent
Option 2
Use PowerShell :)
let me show you how

Get-agent | ? { $_.ProxyingEnabled -match $False}  | select Name

(read more)

Skimming SCOM Admins, it looks like PowerShell is a regular feature, so I’ll be adding it to my ever growing list of blogs to follow.



September 5, 2011

Exchange Monitoring with PowerShell

I need to get the exchange server in our lab up so I can test some of the cool PowerShell scripts I’ve been finding for Exchange.  Today I found scripts to do Exchange monitoring that look like they would work very nicely with PowerWF for SCOM.  The article contains 4 PowerShell scripts:

  • CPU Utilization Monitoring
  • Free Memory Monitoring
  • Event Log Monitoring
  • Monitoring specific Exchange Roles, etc.

Check CPU Utilisation

The check_CPU function within the script is designed to connect remotely to the WMI namespace of an Exchange Server and retrieve a sample value (typically the last minute) of current CPU utilisation (this is per CPU or per CPU / Per Core).

functioncheck_CPU(){

       Foreach ($exMacin$ExServers){

              $cpuS=Get-WmiObject-ComputerName$exMacWin32_Processor

              Write-Host“Checking $exMac CPU Load”-ForegroundColorGreen

       foreach ($procin$cpuS){

              Write-Host“Checking CPU: $proc”

              Write-Host$proc.LoadPercentage -ForegroundColorWhite


If($proc.LoadPercentage -gt$CPU_UpperLeverPercentage){

                     $procTot=$proc.LoadPercentage

                     $MessBody=”<b>Exchange Server CPU Load for $proc is over defined threshold of $CPU_UpperLeverPercentage with a value of $procTot for the sample period</b>”

                     SMTPAlertMessage”Exchange CPU is over threshold size”$MessBody      

              }

       }

}

}


Check Memory Utilisation

The check_Mem function within the script is designed to connect remotely to the WMI namespace of an Exchange Server and retrieve a value of the current amount of RAM which is free.

functioncheck_Mem(){

       Foreach ($exMacin$ExServers){

       $AvailMem=Get-WmiObject-ComputerName$exMacWin32_PerfFormattedData_PerfOS_Memory

If($AvailMem.AvailableMBytes -lt$MemoryThreshold){

                     $detMem=$AvailMem.AvailableMBytes

                     $MessBody=”<b>Exchange Server Memory Load is less than defined threshold of $MemoryThreshold with a value of $detMem MBs for the sample period</b>”

                     SMTPAlertMessage”Exchange Available Memory is lower than threshold size”$MessBody

              }

       }

}

Get Error Events Function

The purpose of the Error Events function is to retrieve the last 10 error events which are Exchange related from the Application Event log on the target server.

functionget_ErrorEvents($strServer){

       $Events=Get-EventLog-computer$strServer-LogName”Application”-EntryType”Error” | where {$_.Source -like”*Exchange*”}

       # Count the number of errors

       $Count= 0

       $MessageBody=”<H1>Exchange Related Events</H1><hr><p>There are more than 10 Error events related to Exchange in the Application Event Log - you should review this</p><hr>”

       foreach($evtin$Events){

              $Count++

       }

       if ($Count-gt 10){

              $retEvents=Get-EventLog-computer$strServer-LogName”Application”-EntryType”Error”-Newest 10 | where {$_.Source -like”*Exchange*”}

              foreach($rEvtin$retEvents){

                     $MessageBody=$MessageBody+”<p><h2>”+$rEvt.EntryType +”</h2></p><p><h3>”+$rEvt.Source +”</h3></p><p>”+$rEvt.Message +”</p>”

              }

              SMTPAlertMessage”Exchange Server Event Issues”$MessageBody

       }

}

Check Roles Function

The purpose of the checkRoles function is to detect which Exchange Roles are resident on the Exchange Server which is passed from the ExchangeServers.txt file. When the roles for each server have been determined – the appropriate testing function is called (we will begin to cover these in part 3). The checkRoles function also calls the get_ErrorEvents function.

functioncheckRoles(){

       Foreach($exMacin$ExServers){

              $roleTest=Get-ExchangeServer$exMac

              Write-Host“Checking Events on: $exMac”-ForegroundColorMagenta

              get_ErrorEvents$exMac

              if($roleTest.isMailboxServer -eq$true){

                     Write-Host“Mailbox Role Detected”-ForegroundColorYellow

                     mailBoxRoleTests$exMac# Defined in the next part

              }

              if($roleTest.isHubTransportServer -eq$true){

                     Write-Host“HT Role Detected”-ForegroundColorYellow

                     HTRoleTest$exMac# Defined in the next part

              }

              if($roleTest.isClientAccessServer -eq$true){

                     Write-Host“CAS Role Detected”-ForegroundColorYellow

                     CASRoleTest$exMac# Defined in the next part

              }

       }

}

Read the full article for details on what each PowerShell function does.  I will probably tweak these functions a bit when I bring them into PowerWF to make them report to SCOM using our toSCOM activity as well as using some of our visualization, mashup and/or email features.  I would also take advantage of the PowerWF Agent to handle the scheduling of the scripts.



June 27, 2011

PowerWF & PowerSE 2.5 have been released!

PowerWF - Visual PowerShell is the ultimate PowerShell development tool. PowerWF allows you to create automated IT solutions by leveraging the full strength of PowerShell and Windows Workflow.

WHAT’S NEW in v2.5

  • Added support for IE9
  • Added support for PS Remoting
  • Added support for STA
  • Improved workflow runtime engine
  • Improved ‘Generate PowerShell’ in script editor grid
  • Improved support for Windows XP
  • Improved app start performance


This is the version demonstrated at MS Tech Ed 2011 and the System Center Rally 2011 this summer. Download it today at http://powerwf.com

Every PowerShell cmdlet is at your fingertips for simple drag and drop script creation. Easily switch back and forth between visual and traditional scripts. 

PowerSE - Professional Script Editor

PowerSE’s advanced script editor, interactive console, integrated help and powerful debugger make developing PowerShell scripts easier than ever.

System Center - Service Manager

PowerWF for Service Manager is a MUST-HAVE for anyone using Microsoft System Center - Service Manager. Extend Service Manager’s authoring experience using PowerWF to create custom activities and Management Packs.

System Center - Operations Manager

Effortlessly create custom management packs for cross-vendor, 3rd Party and legacy system monitoring using PowerWF and Microsoft’s Operations Manager.



October 7, 2010

Tutorial: Integration with Service Manager Authoring (SCSM)

Service Manager (SCSM) is a relatively new addition to the System Center suite of products. Service Manager helps automate best practices within an IT organization, especially in cases of incident reporting and problem resolution, change control, and asset lifecycle management. Service Manager is tightly integrated with Operation Manager, Configuration Manager, and Active Directory Domain Services.

Service Manager (SCSM) provides a workflow based authoring tool to handle the logic behind the specific automated actions. PowerWF extends this functionality significantly by allowing users to either create custom toolbox items within the Service Manager authoring tool or to directly create Service Manager management packs. This tutorial discusses how PowerWF can be used to extend the existing Service Manager authoring tool by creating custom toolbox activities.

Topics Discussed

  • Creating a PowerWF Workflow
  • Using the embedded PowerShell Editor
  • Using Auto-Script Creation
  • Creating Input Parameters
  • Creating Service Manager (SCSM) Toolbox Activities
  • Importing and Using Custom Toolbox Activities in Service Manager

See Requirements…

    Procedure

    1. Create a new workflow called “TopCPUProcesses”
      Create new workflow for Service Manager
    2. Type “Process” in the toolbox search window to find the Get-Process activity. As its name suggest, this activity collect information about the processes running on a computer.
      Add an activity to a workflow using search feature
    3. Double-Click the blue PowerShell icon on the getProcess activity to open the PowerShell editor.
    4. Click the Start button to view the output of this activity. The Grid tab shows the complete results in a table format.
      View PowerShell results in editor.
    5. One nice feature of PowerWF is the ability to automatically generate PowerShell script based on user interaction with the Grid pane. Find the CPU column and click the heading to sort the results. Next, while holding down the CTRL key, select a cell in the CPU and Name columns.

      Automatically create PowerShell scripts from user input

      Note: If desired, additional cells can be selected. Be sure to hold down the CTRL key the entire time while selecting columns.

    Read More



     ::: Older Posts :::