Customization Extensions General vCenter

New VMware Fling: Introducing PowerActions for vSphere Web Client

PowerAction

I am happy to announce a new fling ‘PowerActions for vSphere Web Client’ PowerActions integrates the vSphere Web Client and PowerCLI to provide complex automation solutions from within the standard vSphere management client. In short, we can now run PowerShell/PowerCLI scripts from the Web Client!

How does it work?

PowerActions is a  vSphere Web Client Plugin that allows users to run PowerCLI scripts from the vSphere Web Client interface. These commands are sent to a separate machine running PowerCLI and the PowerActions software. The PowerActions Plugin includes two menu items on the homepage of the Web Client as well as a PowerCLI menubar item when the user right-click’s on objects within the web client (read more below).

What are the Requirements?

The requirements are pretty straightforward and simple:

  • VMware vSphere 5.1 or later (Earlier than 5.1 has not been tested)
  • PowerShell Host Machine
    • Windows 2003 Server or newer (*)/Vista or newer
    • ***.NET framework 4.0*** <— 4.0 IS REQUIRED. Newer versions currently do not work
  • PowerCLI version supporting your current VMware vSphere version
  • Administrative privileges (registering a service with VMware Lookup Service and creating a user for SSO) are required for installation, but not for use of the product.
  • Prior to installation, ensure that the PowerShell Host machine and the machine hosting the VMware Lookup Service are synced via the same time source, otherwise cryptic error messages may appear.

Installation

In my case I went ahead and deployed a new Windows Server 2008r2 Virtual Machine. I let it run all of the Windows Updates (and then had to uninstall .Net Framework 4.5.1.

I then had to install PowerCLI. I went ahead and installed the latest (vSphere PowerCLI 5.8 release 1).

Screenshot 2014-09-16 12.09.35

***Note*** Make sure to run PowerCLI as administrator after it is installed and run:

Set-ExecutionPolicy RemoteSigned

If the execution policy is not changed from it’s default, the PowerCLI Console in the Web Client will not function. /***Note***

Once I had my virtual machine ready (All of my Prerequisites have been satisfied to this point), I’ll go ahead and run the PowerActions executable.

Screenshot 2014-09-16 12.01.10

The PowerActions interactive install wizard will pop up. Click ‘Next’

Screenshot 2014-09-16 11.59.02

Look at the License Agreement, then check the “I accept the terms in the License Agreement”

Screenshot 2014-09-16 11.59.02

You can go ahead and use the defaults on this page. Click ‘Next’

Screenshot 2014-09-16 11.59.08

On this page you’ll want to add the FQDN of the current machine. In my case, it’s ‘controlcenter.corp.local’.

Screenshot 2014-09-16 11.59.08

On this screen, you will need to enter the Lookup Service URL, SSO username, and SSO Password.

The Lookup Service URL will be https://yourvcenter:7444/lookupservice/sdk

Screenshot 2014-09-15 21.14.49

If you are using the vCenter Server Appliance (vCSA) you may not have configured your vCenter’s SSO. If that is the case, login to the vCSA appliance (https://yourvcenter:5480″)

You will need to stop the vCenter Server service to setup SSO.

Screenshot 2014-09-16 12.39.51

Navigate to the SSO section and type a new SSO administrator password. Click ‘Save Settings’

Screenshot 2014-09-16 12.40.10

You will receive a warning (Warning: The embedded SSO Server will be completely reinstalled and any locally created users and groups will be lost.) (This is something you should only do if you have not setup SSO previously) Click ‘Ok’.

Screenshot 2014-09-16 12.40.16

Once SSO reinstalls and initializes, navigate back to the Summary section and start the vCenter Server service.

Screenshot 2014-09-16 12.39.51

We can now enter our newly created SSO account info into the lookup service screen of the PowerActions installer. Click ‘Next’.

Screenshot 2014-09-15 21.14.49

click ‘Install’.

Screenshot 2014-09-16 11.59.22

Once the installation finishes we’ll be ready to roll.

Show me the magic!

Now that we’ve completed the installation we can login to the vSphere Web Client. You will now see two new menu items on the left-hand side of the screen. ‘PowerCLI Console’ and ‘PowerCLI Scripts’.

Screenshot 2014-09-16 12.53.11

Clicking on the PowerCLI Console button will bring up just that, a PowerCLI Console for running commands (did I just hear all Mac and Linux users shout for joy??).

Screenshot 2014-09-16 13.12.03

running ‘get-vm’ returns everything it would from run PowerCLI on a windows machine.

Screenshot 2014-09-16 13.10.43

If we go to the PowerCLI Scripts menu item it brings us to a script repository. This area allows users to save personal scripts as well as setup shared scripts. This is a fantastic capability to have a repository of scripts that can be run by you and/or others without duplicating efforts. You can see I’ve already added in a few scripts.

To add a script click the “create a script” icon below the “MyScripts” dropdown.

Screenshot 2014-09-16 13.17.42

The scripts are organized by object. Decide which object the script will be used for (this is important as when you click on a vSphere object, the scripts that appear to run are only those that are linked to that object type).

Screenshot 2014-09-16 13.17.56

Name your script, give it a description, and select either Action or Report (is your script DOING something or Reporting)

Screenshot 2014-09-16 13.18.57

In this screen, we can add our code for this script. Add it below the param line. The $vParam is where the object that is right-clicked in the Web Client is stored. For example (you’ll see in my screenshots below as well) I right-click a cluster ‘Main-CL’ and run the following script on it. Because I right-clicked ‘Main-CL’ that object is than saved in $vParam. $vParam can then be used later on in your script as well.

Screenshot 2014-09-16 13.20.37

The final page allows you to review all the information you’ve entered in this wizard. If you are satisfied, click ‘Finish’

Screenshot 2014-09-16 13.20.45

We can then navigate to specific objects within the Web Client, right-click the object, hover over PowerCLI, and click ‘Execute Script’

Screenshot 2014-09-16 13.21.32

Select the script you want to run, click ‘Ok’.

Screenshot 2014-09-16 13.21.39

The script will run and the results are returned in a nicely formatted manner. you can click on the “Export Page” button in the bottom-right if you want to save your results.

Screenshot 2014-09-16 13.21.59

Downloads

PowerActions can be downloaded HERE

Conclusion

This article just scratches the surface on the capabilities of PowerActions. I am excited to see where the community takes this and the types of scripts that will start appearing around the web. The ability for Linux and Mac users to now run PowerCLI commands without having to be running on a Windows machine should make many users elated. Give PowerActions a shot and give them your feedback!

For a great video on this new fling check out Alan Renouf’s post on PowerActions HERE

 ***UPDATE 9/30/2014 ***

The fling has now been updated to support PowerShell v2/3 If you wish to uninstall PowerActions from the PowerShell host and from the vSphere Web Client please uninstall from the “Programs and Features” area of the PowerShell Host, select PowerActions and Uninstall.

If you already have PowerActions installed, in order to upgrade, you must first uninstall the current version as per the steps above and then do a fresh install of the new version.

‘My Scripts’ will be preserved for all users. In order to preserve shared scripts, do a backup of the ‘%ProgramData%\VMware\myNGC\Scripts\’ folder.