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.
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).
***Note*** Make sure to run PowerCLI as administrator after it is installed and run:
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.
The PowerActions interactive install wizard will pop up. Click ‘Next’
Look at the License Agreement, then check the “I accept the terms in the License Agreement”
You can go ahead and use the defaults on this page. Click ‘Next’
On this page you’ll want to add the FQDN of the current machine. In my case, it’s ‘controlcenter.corp.local’.
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
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.
Navigate to the SSO section and type a new SSO administrator password. Click ‘Save Settings’
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’.
Once SSO reinstalls and initializes, navigate back to the Summary section and start the vCenter Server service.
We can now enter our newly created SSO account info into the lookup service screen of the PowerActions installer. Click ‘Next’.
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’.
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??).
running ‘get-vm’ returns everything it would from run PowerCLI on a windows machine.
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.
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).
Name your script, give it a description, and select either Action or Report (is your script DOING something or Reporting)
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.
The final page allows you to review all the information you’ve entered in this wizard. If you are satisfied, click ‘Finish’
We can then navigate to specific objects within the Web Client, right-click the object, hover over PowerCLI, and click ‘Execute Script’
Select the script you want to run, click ‘Ok’.
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.
PowerActions can be downloaded HERE
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.