PowerGUI® 3.0 Hotfix: Double-clicking on a ps1, psm1, or psd1 file to open the Script Editor shows the Start Page as the active page in the Script Editor

This article describes an issue that was introduced into both PowerGUI and PowerGUI Pro when version 3.0 was released and provides a recommended solution to that issue.


While the PowerGUI Script Editor is closed, double-clicking on a ps1, psm1 or psd1 file or right-clicking on one of those file types and selecting “Open with PowerGUI Script Editor” will open the file you selected in the Script Editor as expected; however the Start Page will appear as the active tab in the Script Editor instead of the file you opened.

Affected Products

  • PowerGUI 3.0 (freeware)
  • PowerGUI Pro 3.0


To resolve this problem, a new version of the Script Editor Essentials Add-on has been released.  This version ( includes a modification to the Script Editor behaviour such that any file you use to open the PowerGUI Script Editor will immediately become the active file.

To install this hotfix, please follow these steps:

If you are connected to the Internet

  1. Open the PowerGUI Script Editor.
  2. Run the following command from the embedded PowerShell console:
    $oldState = $PGSE.Configuration['/CollectAndSendInformation']
    if (-not $oldState) {
        $PGSE.Configuration['/CollectAndSendInformation'] = $true
  3. Select Tools | Find Add-ons Online to show the Find Add-ons Online dialog.
  4. Type “Script Editor Essentials” into the text box at the top of the Find Add-ons Online dialog.
  5. Click on the Search button.
  6. Once the search results are returned, Select the Script Editor Essentials Add-on if it is not already selected.
  7. Click on the Install button to download, install and load the Script Editor Essentials Add-on.
  8. Once the Script Editor Essentials Add-on is installed, run the following command from the embedded PowerShell console:

    if (-not $oldState) {
        $PGSE.Configuration['/CollectAndSendInformation'] = $false
  9. Close the PowerGUI Script Editor.

If you are not connected to the Internet

  1. Open your web browser and browse to http://www.powergui.org/entry.jspa?externalID=2952.
  2. Follow the steps outlined in the “Manual install” section on that page, copying the Add-on.ScriptEditorEssentials.zip between machines as appropriate.
  3. Close the PowerGUI Script Editor.

At this point you should be able to double-click on ps1, psm1 or psd1 files if you file association is set up and have those files open in the PowerGUI Script Editor as the active document.


This solution is being provided based on the feedback of users who notified us about the issue two days ago on the forums.  If you have any questions about this solution, please let us know in the forums or in the comments on this post.


Kirk out.


PowerGUI® Pro 3.0: Mobile Systems Management Using MobileShell

In case you missed the announcement last Friday, PowerGUI Pro 3.0 was released to the web.  With this release we included a new feature that I’m really excited about: Mobile Systems Management Using MobileShell.  We’ve had MobileShell for quite a while, but prior to this release you could only use it to invoke your favorite scripts or commands from modules associated with your user account as well as ad hoc commands you wanted to run.  Here’s a screenshot tour showing you what this interface would look like on a handheld device:

PowerGUI Pro MobileShell - Favorites - 1 of 4   PowerGUI Pro MobileShell - Favorites - 2 of 4   PowerGUI Pro MobileShell - Favorites - 3 of 4   PowerGUI Pro MobileShell - Favorites - 4 of 4

As you can see from this, the capabilities in this version were very cool (what’s not to like about running PowerShell from your smartphone), but they were somewhat limiting as well because you couldn’t really work with a management user interface from your handheld device this way.

PowerGUI Pro 3.0 changes all of that, by including a new management interface for MobileShell that is based on PowerPacks (in case you don’t know already, PowerPacks are extensions for the PowerGUI Administrative Console that provide a management experience much like MMC, but that are driven entirely by Windows PowerShell commands and scripts).  With 3.0 we’ve provided a new mobile interface for MobileShell that allows you to use PowerPacks associated with your AD user account or groups that you are a member of from your mobile device!  Also, we’ve made the management experience even more responsive at the same time, so now you can do more with MobileShell and it will do it more quickly than before!  All you need is a mobile device with a WebKit-enabled web browser (sorry, that means no BlackBerry 5.x or Windows Phone 7 support for now).

Here’s a screenshot tour showing you how this new experience can be used to do something very simple like unlock a user account:

PowerGUI Pro MobileShell ScreenShot Tour - 1 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 2 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 3 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 4 of 12

PowerGUI Pro MobileShell ScreenShot Tour - 5 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 6 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 7 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 8 of 12

PowerGUI Pro MobileShell ScreenShot Tour - 9 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 10 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 11 of 12   PowerGUI Pro MobileShell ScreenShot Tour - 12 of 12

As you can see from this screenshot tour, this user experience is much richer and it gives you a full management console on the go, allowing you to respond to issues you are responsible for no matter where you are or what time it is.  It’s also configurable using role-based access control (RBAC), so you can assign different PowerPacks to different MobileShell users based on their AD user and group membership.  Even better, we make configuration of this functionality even easier by providing you with a MobileShell Administration PowerPack as part of the PowerGUI Pro 3.0 package.

If you’re interested in trying this functionality out, here’s what you need to do:

  1. Make sure you have an IIS server ready where you can install it.
  2. Install MobileShell on the IIS server.  The MobileShell installer is pretty self-explanatory.
  3. If you didn’t add the MobileShell users during the installation, add anyone who you want to be able to access MobileShell to the PowerGUI MobileShell Users group (note: there may be a delay once you add users before they have access, up to 15 minutes).
  4. Install the PowerGUI Pro Admin Console on the IIS Server with the MobileShell Administration PowerPack.
  5. Open the PowerGUI Pro Admin Console.
  6. In the MobileShell Administration PowerPack, select Users and then click on the Add User action to add your user account.  Repeat this for each user account you want to provide access to.
  7. Select the PowerPacks node and then click on the Publish PowerPack action.  Provide the path for the PowerPack you want to expose via MobileShell and then click on OK.  Repeat this for each PowerPack you want to expose via MobileShell.
  8. Go back to the Users node, select the users you want to provide PowerPack access to, and then click on Assign PowerPack to assign one of the PowerPacks you have published to the selected users.

At this point you should be ready to go with your first MobileShell management experience.  Point your WebKit-enabled web browser to https://serverName/MobileShell/Admin, sign-in, and you’re off and running!

Note: PowerPacks don’t support the new MobileShell management experience by default.  We made the decision to make it off by default because we wouldn’t be able to tell which PowerPacks would display UI on the web server (such as a message box) reliably.  Any PowerPack can support this new experience though, they just need to be updated to suppor tit. The core PowerPacks that ship with PowerGUI Pro have been updated to support this new management experience so you’re already enabled with a rich mobile management experience for Active Directory, VMware, Exchange, and Windows management.  I’ll write another post later that describes what is required to turn on mobile management for a PowerPack.

That’s it for this post.  If you have any questions, don’t hesitate to ask.

Kirk out.

PowerGUI® Pro and PowerGUI® 3.0 are now available

Today’s an exciting day because I’ve finished releasing PowerGUI Pro 3.0 and PowerGUI 3.0 to the web!  This release is something we’ve been working on for a long time, and it has a ton of new goodies for you to play with.  You can learn more about the individual features in this release in the highlights below.  When reviewing these features, anything that is only available in PowerGUI Pro will be marked as a Pro feature.

Mobile Systems Management (Pro feature)

Ever wish you could immediately respond to hot issues from wherever you are without having to run to the office or to your home computer?  Now you can!  PowerGUI Pro 3.0 now provides you with a mobile systems management console on your handheld device!  Better yet, the systems management console you use is fully customizable using PowerShell scripts!  You can also configure different management experiences for different users and groups in your organization by using role-based access control (RBAC) to define which PowerPacks are assigned to various AD users and groups.  Since this leverages the PowerPack model, that’s a whole lot of mobile systems management possibilities for you to pick and choose from.

Here’s a screenshot showing what this looks like as you browse through the Active Directory PowerPack using MobileShell and retrieve an AD user you want to modify:

PowerGUI MobileShell - Managing an AD user object

Currently the list of mobile devices that support this new management interface include:

  • iOS devices
  • BlackBerry devices (BlackBerry OS 6.0 and higher)
  • Android devices (Android OS 2.2 and higher)

You can also use this from a desktop or laptop by connecting with the Chrome 11 and higher or Safari 5 and higher web browsers.

    Customizable Start Page (some Pro-only functionality)

    Completely new to this release, we have created a customizable Start Page that appears when you launch the Script Editor or the Admin Console.  The Start Page is designed to allow you to keep aware of what’s going on in the PowerShell community, provide you with a tip of the day, featured videos, and the most recent additions to the library of Add-ons and PowerPacks on PowerGUI.org.  This feature is available in both the free and the Pro versions, however Pro users get an extra bonus here: with PowerGUI Pro you can customize the RSS feeds that are shown on this page to get even more of your favorite PowerShell news or, if you don’t want to use it that often and you’re a PowerGUI Pro customer you can simply indicate that PowerGUI should not show it on start-up.  Personally I’m a Pro user and I use the new Start Page every day to keep up to date on news.

    PowerGUI Pro Script Editor Start Page

    Create Executable from Script (aka Compile Script; Pro-only)

    Another new feature in PowerGUI Pro in this release is the ability to create executables from script.  This feature greatly simplifies having someone else in your organization run some functionality that you’ve built in a PowerShell script.  Instead of sending them a script, worrying about execution policy, providing them with instructions about how to run the script, and wondering if they’ll modify (and break) the script or not, you can simply provide them with an executable program that does whatever your script was designed to do.  You can also be comfortable with the contents of these programs, either encrypting them with a password or leaving them decrypted, in which case the scripts that are packaged in the executable program are obfuscated to keep their contents hidden from prying eyes.

    PowerGUI Pro Script Editor - Create Executable From Script

Go to Function Definition (Pro-only)

Yet another new feature in PowerGUI Pro 3.0 is support for going to the definition of any function from the name of that function in a script file.  This feature is very useful, both when you’re building your own function libraries or modules, and when you are using other function libraries or modules.  With this feature you can right-click on the name of any function in a script file that you’re looking at and select Go to Definition from the menu that appears.  If it’s not a function, nothing happens, but if it’s a function, you’ll be taken to the location where that function is defined, even if you have changed the file, so it’s great when you’re editing scripts.  If it cannot find the function definition in a file, such as when you right-click on a function that is defined by PowerShell itself, you can show the definitions of those functions in a new file, making it easy to override behaviour this way.  This is great functionality whether you are working by yourself or with a team of users (where you may not know the location of functions you are working with).

Improved Version Control Support (Pro-only)

We spent some time in this release sprucing up our version control support.  PowerGUI Pro has always supported integrated version control.  Now that support is better, allowing you to retrieve files from version control that you have never checked in or out without having to go to a separate client.  It also supports version control providers that have their own check-in dialog, allowing you to make sure you only get prompted for comments during check-in once.

Reset Runspace on Demand

Here’s a really useful new feature that’s available in both freeware and Pro.  As you work with PowerShell, you create variables, add functions, and change the state quite a bit.  A best practice worth following is before you publish any scripts, make sure that they pass your tests in a clean environment.  In previous versions of PowerGUI this would require resetting your runspace with each debug (something I don’t recommend anymore), or restarting PowerGUI.  Now you can simply select Debug | Reset Runspace, and your environment will be reset without having to close and re-open the product.

PowerGUI Pro Script Editor - Reset Runspace on Demand

Improved Snippets Support

Snippet support in PowerGUI has always been best-in-class, but in this release they get even better!  We now have a brand new snippets hierarchy that reorganizes our existing snippets and adds a bunch of new ones.  Snippets are a huge timesaver when it comes to writing PowerShell scripts, and we’ve just made it easier to find the snippets you’re looking for by organizing them better into appropriate folders and adding additional snippets where some were missing.  Personally I’m a huge fan of snippets, and would love to know what other snippets you would like to see going forward.

PowerGUI Pro Script Editor - Snippets Hierarchy

Also, I’m going to call out a specific feature in our snippet support that you may be interested in knowing about.  If you create a module with commands and you want those commands to be easy to use, one very natural way to help your users learn your commands is to provide snippets.  In PowerGUI, when you load any module that has a snippets subfolder as a child of the module base folder, those snippets will immediately become available in the PowerGUI Script Editor.  That means as a module author, all you need to do is ship your module with snippets in a snippets subfolder and any PowerGUI user will automatically get access to them when they load the module.  This is a very cool feature, and one that I encourage you to try out and support.

Performance Improvements

During our beta cycle for this release we spent a lot of time looking at performance and were able to make some changes now and plan some changes for later.  With this release, we have dramatically improved our parser performance, which means that files will parse more quickly in the PowerGUI Script Editor.  This in turn means files will open more quickly, which means the Script Editor itself will open more quickly when you’re loading a lot of files.  There are more performance improvements coming, but we’ve already made great progress and I’m sure you’ll be happy with the improvements in this area!

Multi-line Support in the Embedded Console

Rich Beckett, this bud’s for you!  Rich and a bunch of other PowerGUI users pointed out that they didn’t like how our Script Editor would return an error if you pressed enter when it was obvious that the line was not finished yet (for example, when you finish a line with a round curly brace, or a pipeline symbol, or a line continuance character like the backtick).  We’ve fixed this now, so you can enter multi-line commands without having to worry about getting errors and without having to think about pressing Shift+Enter to get a newline in the command pane.

One-click Install for PowerPacks

In our previous release we added support for one-click install for Add-ons in the Script Editor, allowing users to search for Add-ons on PowerGUI.org and install them with a single button click (there are some highly recommended Add-ons available by the way, so check them out if you haven’t already). Now we’re providing the same support for PowerPacks, so you can search online for PowerPacks, select the ones you like from the list of results, and click on a button to download, unblock, install and load those PowerPacks in the Admin Console. We have a large library of PowerPacks available, which you can see by clicking on the Show All button in the Find PowerPacks Online dialog. I strongly recommend you give them a look, because there is a ton of useful PowerShell functionality in those PowerPacks.


Admin Console Authoring Mode

If you’re like me, from time to time in the Admin Console you accidentally move something, or delete the wrong thing, or make some change you didn’t intend to make. Being able to change any PowerPack is great because it allows for rich customization, but when you’re just using the PowerPacks day to day, you may not want to make any changes. It’s also possible that you’re providing the PowerGUI Admin Console to some staff members who need the features but not the customizability. In those cases, you can now launch the Administrative Console in default (non-authoring) mode, and be assured that you can’t accidentally break one of the PowerPacks. When you need to make changes though, you can open the Administrative Console in Authoring mode and create and customize whatever you like!

Improved Action Support

The handling of Admin Console actions was improved a lot in this release.  Now when you select one or more rows in the grid in the Admin Console, only the actions appropriate for those rows will be displayed.  If you select mutliple objects of different types (files and folders, for example), you will only be presented with actions that apply to both types of objects.  Also, only the relevant actions that don’t require any selection will be displayed when you click on a node or action and no data is returned.  All of these changes make using the Admin Console much easier than before.

Improved Shared Script Support

Shared Scripts in the PowerGUI Admin Console allow you to define functions that you want to have access to in more than one location in a shared script file. These script files would only previously be loaded once you clicked on a script node or script action in a module, meaning that you could not create a simple node or simple action from a function in a shared script file. That’s changed now, such that shared scripts are invoked when you click on any node or action in a PowerPack.

VMware PowerCLI 4.1+ Support

We’ve had a beta version of the VMware PowerPack available for a while that provides support for PowerCLI 4.1.  This release of PowerGUI includes that PowerPack in release form, officially catching PowerGUI support up to the latest VMware PowerCLI releases.

Of course there’s more!

There are a ton of other minor changes in this release as well, ranging from usability improvements to bug fixes to changes that make it a little easier to create PowerGUI Add-ons.  We have new automatic variables ($PGHome, $PGUICulture, $PGVersionTable and $PGSE).  We automatically load PowerPack requirements now when a PowerPack is loaded.  I’m sure there are other changes in this release that I’m forgetting, but suffice it to say, we put a ton of energy into this release and it shows (I’m exhausted! Smile).

Great!  How can I get it?

PowerGUI Pro is a fantastic PowerShell-based product with a ton of value for the $199 US price tag, even more with this 3.0 release.  If you like the features in PowerGUI Pro or if you like what we’re doing with PowerGUI in general and feel it’s time you put your money where your mouth is, simply point your browser to http://www.quest.com/GetPowerGUIProNow to go to our eStore and buy yourself a copy (or two or three Winking smile).

If you’re not ready to commit to the Pro version just yet, please give our new PowerGUI Pro 3.0 release a try by browsing to http://www.powerguipro.com and clicking on the Try button on that page to download a trial version.  A license key will be sent to you to allow you to try it out for 30 days.  If all you’ve been using so far is the freeware version, we have put a lot of energy into the Pro release in 3.0 and this is a trend that will continue going forward, so I strongly encourage you to give it a try and see what you think.  Note that PowerGUI Pro and PowerGUI (freeware) install side by side, so you can try it on the same system where you use the free one…just pay attention to the shortcut you use to launch it so that you get the one you’re looking for!

After you’ve tried out PowerGUI Pro, if you’re not able to spend $199 for the product right now, then we do have the freeware version available from www.powergui.org.  You can’t miss the big Download button near the top of that page.

Of course, if you already have either PowerGUI Pro or PowerGUI freeware, both of these will auto-update to the new version automatically when the auto-update system detects the new version is available.  This should happen the next time you start-up the product.

An Important Note About Feedback and Usage Statistics

With all of our releases, feedback is what drives us and motivates us to continue doing what we’re doing, and this release is no exception.  We received a ton of feedback during our beta cycle and were able to fix some serious issues because of it.  I need to shout out a special thanks to Glenn Sizemore, Chris Piper and Thomy Kay for their feedback – it was particularly helpful!  The key point here though is that the feedback system really works.  If you love something, let us know, we’d love to hear how PowerGUI is making your life easier!  If you don’t like something, let us know that as well, we’ll see what we can do to make it better!  Or if you think we’re missing something, well, let us know!  We’ll see what we can do to put that in!  I manage this product and we have developers who develop this product, but ultimately I’m taking most of my direction from you guys, so please keep the feedback coming!

Also, regarding feedback, I would be remiss if I didn’t mention one last feature that we’ve added to this release.  This release introduces anonymous data collection to PowerGUI.  It was important for us to add this for the reasons I just highlighted in the last paragraph – your feedback is that important, and we can learn a lot about where we need to spend our effort by reviewing usage data.  The data gathered does not contain any personal information, nor does it contain any scripts you write or anything like that.  It’s simply data about how you are using the product.  Please opt-in for this usage data collection so that we can make the product even better going forward.  You can always opt out, but feedback is important, so we’d really appreciate it if you would opt-in.

That’s it for this post.  I hope you like this release, and look forward to hearing about how it’s making a difference for you!


Kirk out.

vWorkspace PowerPack: A great example of the power and flexibility you get from PowerShell and PowerGUI®

Last week, the Quest vWorkspace guys showed their prowess once again when they released the first version of the vWorkspace PowerPack for PowerGUI® Pro and PowerGUI®.  I love this PowerPack because it really demonstrates how PowerGUI is so complementary to PowerShell.  To see what I mean, take a look at the following screenshot:

vWorkspace PowerPack - multi-farm management

This screenshot shows two major improvements to the vWorkspace management experience by demonstrating how you can use the vWorkspace PowerPack to perform management tasks across all farms, and by demonstrating how you can use the vWorkspace PowerPack to perform management tasks across all locations in a single farm or across all locations in all farms.  In the native vWorkspace management user interface, you can only work with one farm at a time, and you can only work with one location at a time.

Scaling management tasks out in a product like this can take a long time when you need to build the capabilities into a native management user interface, and these days in many cases PowerShell is provided as the vehicle to satisfy larger scale automation and management needs.  PowerShell is great and it definitely fits the bill for these medium to large enterprise needs, however it does not provide a user interface to facilitate those management scenarios.  This is where the administrative console in PowerGUI Pro and PowerGUI really shines, because it allows you to build out rich PowerPacks with enterprise-ready solutions with very low cost and effort.

I spoke directly with Adam Driscoll (author of PowerGUI VSX, member of the vWorkspace team, and one of two developers who created the vWorkspace PowerPack) about this, and it took them less than one week to put this PowerPack together.  That’s less than one week for two developers to create a rich, functional management user interface that not only provides many of the management capabilities that come with the vWorkspace management console, but that also adds additional enterprise capabilities that the vWorkspace management console does not provide natively.  Aside from the multi-farm management and multi-location management features I mentioned earlier, it also allows administrators to upgrade the vWorkspace VM tools on the VMs you select, and it simplifies how administrators search for provisioning objects like templates, sysprep customizations, parent VHDs, and so on.  And by building these capabilities into a PowerPack, vWorkspace administrators can perform custom filtering and sorting of the data in the grid, generate rich HTML reports for that data, export the data to an external file for use in other programs, and view the PowerShell scripts that are doing all of the work, all because those features come with the PowerGUI administrative console automatically.  That’s an amazing feat for one weeks worth of effort!

The really sweet part of all of this is that it gets even better very soon.  If you’ve been following my blog recently you’ve seen that we have released two betas of PowerGUI Pro 3.0 in the last little while which comes with many great features worth highlighting, however for now I only want to mention one: MobileShell.  In PowerGUI Pro 3.0, you can provide administrators with a custom mobile management solution, defined using PowerPacks and tailored for their needs using role-based access control (RBAC).  That means that once we release PowerGUI Pro 3.0 (which should happen very soon), the vWorkspace guys will be able to publish an update to their PowerPack that enables mobile management support so that vWorkspace administrators can have a mobile management solution for very little cost!  All they will need once the vWorkspace PowerPack is updated to support this mobile management scenario is a license of PowerGUI Pro 3.0 for each administrator who wants to manage their vWorkspace environment from their webkit-enabled mobile device.  Considering that it also allows those administrators to create executable files from PowerShell scripts, work with integrated version control in a best-in-class script editor, manage systems remotely using easy PowerShell remoting capabilities, find functions they are working with using go to definition support for functions, and more, the PowerGUI Pro price of $199/user is a pretty good value.

If you are at all interested in VDI, you should give vWorkspace a look because it’s an awesome solution that keeps getting better all the time.  If you use vWorkspace already I encourage you to take a look at the PowerShell capabilities that this team is providing, particularly in the PowerPack, because a ton of additional value is being provided here that is worth checking out.  You can find the installation instructions for the PowerPack on the vWorkspace PowerPack page on PowerGUI.org.

That’s it for this post.  If you have any questions or feedback, please don’t hesitate to reply in the comments below.


Kirk out.

PowerGUI Pro® 3.0 Beta 2 is now available

Hot on the heels of our first beta cycle for PowerGUI Pro 3.0, today we released beta 2 of PowerGUI Pro 3.0 to the web.  This release includes a lot of fixes and improvements based on the feedback we’ve received from you during our first beta cycle, so thank you for that feedback!

Here are some details about the improvements that have been made in the 2nd beta of PowerGUI Pro 3.0:

Improved snippets hierarchy

Several users indicated that some of our snippets were hard to find.  To resolve this issue, I’ve reorganized our snippets into an improved snippets hierarchy that should make it easier for you to find the snippets you are looking for and learn more about what you can do with PowerShell from our snippet collection.  A special thanks goes out to Denniver Reining, author of the very popular Snippet Manager Add-on.  Denniver was able to provide very useful feedback as I was going through the improvements in this release, which was very helpful.  To browse the new snippet hierarchy, simply press Ctrl+I while editing a document in the Script Editor.  Here’s a screenshot showing the top level representation of the new snippets hierarchy:

PowerGUI Pro 3.0 Snippet Hierarchy

Installer option to open Script Editor

Since the first release of PowerGUI we have provided an option at the end of the installation to open the PowerGUI Admin Console.  This is useful, but myself and many of our users have requested if we could open the Script Editor as well.  With this beta 2 release, you can now open the Script Editor or the Admin Console at the end of the installation.

PowerPack Shared Scripts are now loaded from regular nodes and actions

When you author a PowerPack, you can create a function library inside a shared script for the PowerPack.  This is useful, however until now shared scripts would only load when you clicked on a script node or script action.  This has now been changed so that shared scripts are now loaded from regular nodes and actions, allowing you to keep all of your PowerPack functions in one location and then create regular nodes and actions using those functions.

Performance improvements, usability improvements and lots of bug fixes

In addition to these items, we have improved the performance in some scenarios in MobileShell and in the Script Editor, we have addressed some usability improvements in the Script Editor, the Admin Console and MobileShell, and we have fixed a lot of bugs as well (it is a beta cycle after all, and what good would a beta cycle be if it didn’t include bug fixes?).

Don’t forget all of the new features that were in the first beta!

Besides these changes, if you’re just finding out about the beta of PowerGUI Pro 3.0, make sure you read my other blog post that highlights all of the new features like compiling scripts into executables, or the new MobileShell user interface that allows you to use PowerPacks from your smartphone or tablet – those features and many more were included in the first beta of this release.  If you want to try the awesome new MobileShell capabilities, this blog post will help you get that set up in your test lab: Configuring RBAC for MobileShell in PowerGUI Pro 3.0.

Great, so where can I get beta 2?

Beta 2 is available for download now, in the same location where we posted the first beta.  You can find it on the PowerGUI Pro 3.0 beta page.  When you are installing this beta, you will need to provide a license key.  License keys for the beta are included in the zip file for the beta, right beside the msi and exe installers for the PowerGUI Pro 3.0 components – look for the asc file in the Components folder.

Please share your feedback!

We will be running the second beta for a short period while we work on finishing up this release.  Your feedback is very important during this beta cycle, so please give the beta release a try and share your feedback by posting messages on the PowerGUI forums.  The sooner we get your feedback, the sooner we can respond to it.  I’m really looking forward to hearing what you like, what you don’t like, and what else you would like to see in this and future releases, so please share your thoughts with us.


Kirk out.

Configuring RBAC for MobileShell in PowerGUI Pro 3.0

Yesterday we released the public beta of PowerGUI® Pro 3.0, which comes with all sorts of cool new features for PowerGUI users.  My favorite feature is definitely the new management interface for MobileShell.  With this interface, you can perform systems management from your handheld device very easily.  Here’s what that might look like from your webkit-enabled web browser:
Since this is only a beta release, it doesn’t necessarily have everything fully polished just yet.  One thing that we didn’t get to include in the beta release was a management console allowing you to associate PowerPacks with AD users and groups as well as instructions describing how you set up MobileShell to use this new interface with the beta.  The PowerPack that will be used to do that will come later.  In the meantime, this post will give you the necessary instructions to get started.

Step 1: Install the MobileShell Server

First, you need to find a system with IIS 7 or later installed.  Once you have a system where you will install the MobileShell server, you can run the PowerGUI ProMobileShell installer that was included in the beta package.  During that installation, make sure you indicate you will use https for your web site, because the new MobileShell user experience requires https in order for it to function properly. With the MobileShell server installation complete, you have a few configuration tasks that you need to perform to set up PowerPacks

Step 2: Add MobileShell Users to the PowerGUI MobileShell Users Local Group

Any user who will access MobileShell needs to be a member of the PowerGUI MobileShell Users local group.  The local group is created automatically by the MobileShell Server installer, so all you need to do is make sure you put the appropriate user accounts in to that local group so that they will have access to MobileShell.  Note that it may take several minutes before MobileShell checks the group again to see if there are new users in the group, so you may need to wait before newly added users can log in to MobileShell.

Step 3: Associate PowerPacks with AD Users and Groups

With your MobileShell users configured, you can now associate PowerPacks with different AD users and groups.  When a user logs on to MobileShell, they are presented with any PowerPacks that are associated with their user account or with any groups in which their user account is a member. MobileShell PowerPack configuration is done via a simple xml file.  The file does not exist by default, so you need to create it.  Invoke the following PowerShell script on your MobileShell server to create and open the configuration xml file:

$programDataPath = [Environment]::GetFolderPath('CommonApplicationData')
$powerGUIDataPath = 'Quest Software\PowerGUI Pro'
$folder = Join-Path -Path $programDataPath -ChildPath $powerGUIDataPath
if (-not (Test-Path -LiteralPath $folder)) {
    New-Item -ItemType Directory -Path $folder | Out-Null
$configPath = Join-Path -Path $folder -ChildPath 'MobileShellConfig.xml'
$configuration = @"
<?xml version="1.0" encoding="utf-8"?>
    <User SID="S-1-5-21-123456789-0123456789-0123456789-01234">
        <Module Path="$folder\ActiveDirectory.powerpack" Type="PowerPack" />
        <Module Path="$folder\Export Actions.powerpack" Type="PowerPack" />
        <Module Path="$folder\HTMLReporting.powerpack" Type="PowerPack" />
        <Module Path="$folder\Local.powerpack" Type="PowerPack" />
        <Module Path="$folder\Network.powerpack" Type="PowerPack" />
        <Module Path="$folder\VMware.VIToolkit.powerpack" Type="PowerPack" />
  <!-- <Groups>
    <Group SID="S-1-5-21-123456789-0123456789-0123456789-43210">
        <Module Path="$folder\Network.powerpack" Type="PowerPack" />
        <Module Path="$folder\VMware.VIToolkit.powerpack" Type="PowerPack" />
  </Groups> -->
$configuration | Out-File -FilePath $configPath -Encoding UTF8
notepad $configPath

Once you have the configuration file open, you will see the layout that is used to associate AD user or group SIDs with PowerPacks.  Copy all of the core PowerPacks that you have in the PowerPacks subfolder of your PowerGUI Pro installation folder that you want to use via the MobileShell UI into the same path where this file was created (the value of the $folder variable in the script above contains this path).  Then modify this file to contain only the PowerPacks you copied over, update the first User SID for your user account, and this will finish off the initial configuration of PowerPacks for MobileShell.  If you want to add additional users, you can copy and paste the User node in the XML document and then modify the SID for the users you add.  Retrieving a SID should be an easy task of course: simply use Get-QADUser from the Quest AD cmdlets! Smile

Note: With this beta release there is a bug in the Groups support in this configuration document, so simply associate PowerPacks to users for now.  Thanks!

Step 4: Open the New MobileShell User Interface

The new MobileShell User Interface we have in the beta is accessed by opening your webkit-enabled web browser and pointing it to the following website:


This web address allows you to try out the new systems management features that you can get from the PowerPacks you just associated with your user account.  Once you log in you should be all set to start using your PowerPacks!

A Note About MobileShell Support for PowerPacks

Note that if you try to use this new user interface with a PowerPack other than the ones that currently are included in the beta, by default the nodes and actions in those PowerPacks will not be visible in the MobileShell UI.  This must be explicitly turned on in PowerPacks that you want to access this way.  The reason behind this is because there may be some script that displays a Windows Forms or WPF-based UI on the system where they are run.  When you are remotely managing your environment via your MobileShell Server, you don’t want any UI to be displayed on the server because that would freeze your web client interface.  For this reason, nodes and actions must be explicitly configured to work with the new MobileShell UI.  I will write a separate post later about how you can do that really easily.  In the meantime, please try MobileShell with the core PowerPacks and see what you think! Hopefully this will help get you up and running with the new MobileShell UI in your test environment.  If you have any questions about this process, please let me know.


Kirk out.

Try the PowerGUI Pro® 3.0 Beta today!

Today marks another exciting milestone for PowerGUI, as we release a public beta of PowerGUI Pro 3.0 to the web.  We’ve been working very hard on this release, and it includes a lot of new and improved features.   The highlights of this release are shown below.

MobileShell Now Supports PowerPack Rendering

A lot of our customers have been requesting this feature for a while (myself included!).  With PowerGUI Pro 3.0, you can now expose PowerPacks to MobileShell users!  An xml document is used to provide role-based access control (RBAC) to PowerGUI PowerPacks.  You simply associate PowerPack files with Active Directory users or groups, and when a user logs in they will see the PowerPacks that are configured for them!  Here’s a screenshot showing the top level of MobileShell, where you can see the PowerPacks that have been exposed to this user:


Just like in the Admin Console, you can browse through nodes and see child nodes:


Once you invoke a node that returns data, you can see the records showing up in the MobileShell PowerPack Rendering UI:


Clicking on any of these child nodes allows you to see more object detail if any is available as well as any actions that are available for the object:


This gives you full PowerPack support on your handheld device!  Devices supported include all iOS devices (iPhone, iPad), Android and BlackBerry 6.0 and later devices.  You can also use the Google Chrome or Apple Safari web browsers from your desktop.  If you don’t have a webkit-enabled web browser on your device or laptop, or if you want to invoke an ad-hoc command from your mobile device, you can still use the other MobileShell user experiences that we released in previous versions of PowerGUI Pro – they are still supported in PowerGUI Pro 3.0.

New Interactive Welcome Page in Script Editor and Admin Console

We have updated our Welcome Page that we have had all along in the Admin Console and we’ve made it available in the Script Editor as well.  This page now allows you to keep track of the latest PowerPacks or Add-ons on PowerGUI.org, monitor your favorite RSS feeds, see a featured video from the PowerShell and PowerGUI channel on YouTube, or read the latest tip of the day.


Create Executable Files from Scripts

Many customers have asked us for the ability to create executable files from scripts.  This is very useful, especially if you want to send someone the functionality you design in a script so that they can execute it without any difficulty.  PowerGUI Pro 3.0 includes this functionality, allowing you to build executable files that may be optionally password protected if they contain sensitive information.  You can also include any additional files that a script is dependent on as part of the package.  The only requirements for these executables are for PowerShell 2.0 itself to be installed and for the script requirements to be satisfied (if there are any).


Improved Version Control Integration

PowerGUI Pro has included Version Control support since its first release.  In PowerGUI Pro 3.0, we have improved this integration by providing a new Get Files from Version Control menu item in the Version Control menu to allow you to retrieve files from version control.  We have also simplified the check-in process so that you can disable the display of the check-in description dialog if it is not required by the version control provider.  This allows for a more streamlined check-in experience when working with Team Foundation Server.

Reset Runspace on Demand

As you create and modify scripts in the Script Editor, you are often changing the state of the PowerShell session, loading or unloading modules or snapins, or adding, removing or modifying functions or variables.  When this happens, it is a recommended practice to re-run your script from a clean state to make sure that something isn’t working simply because of the current state of your system.  Getting to a clean state in the PowerGUI Script Editor just got easier in PowerGUI Pro 3.0.  Now all you need to do is select Reset Runspace from the Debug menu and your functions, aliases and variables will be cleaned up and all of your modules and snapins will be unloaded and reloaded.


Go to Definition Support for Functions

As you work with PowerShell, the number of files containing commands you use can grow.  This commonly happens as users create multiple modules they manage or use modules they download from other sources.  In cases where you work with functions from different sources, you may want to go to a definition for a function to see how it is implemented.  In PowerGUI Pro 3.0, you can right-click on a function name in the Script Editor and go to the definition of that function by selecting Go to Definition from the context menu.

Find PowerPacks Online with Click-Once Install

You can now search for PowerPacks on the PowerGUI.org website right from within the PowerGUI Administrative Console.  Searching is done using keyword matches, and if you want to see all PowerPacks simply perform a search without entering any keywords.  Once you have found the PowerPack you want, select it and click on the Install button to download, unblock, install and import the PowerPack automatically.


Authoring Mode for the Administrative Console

If you know PowerShell, you may want all the capabilities that are available in the Administrative Console to be available to you so that you can customize it to meet your needs.  This allows you to create a tailored management experience for yourself or other users in your organization.  If you provide the Administrative Console with PowerPacks to other users in your organization, they may not know PowerShell, in which case you really don’t want them to change the configuration of the PowerPacks you give them.  The PowerGUI Administrative Console now has Authoring Mode for users who want to be able to modify PowerPacks, and basic (read-only) mode for users who shouldn’t be modifying PowerPacks.  Simply set the system up with the appropriate shortcut for the user who uses the Administrative Console and you won’t have to worry about them accidentally changing something anymore.

And that’s not all!

We also have a lot of other improvements in the product as well that were added as part of the PowerGUI Pro 3.0 release.  Here’s a list of a few more notable changes:

  • Improved Action functionality in the Administrative Console;
  • Automatic loading of required modules or snapins when a PowerPack is loaded;
  • Automatic variables for $PGHome, $PGUICulture, $PGVersionTable and $PGSE;
  • Multi-line command support for the embedded PowerShell Console; and
  • For Add-on authors, $PGSE is now defined by default and name lookups of UI elements is now case-insensitive
    There are other fixes as well, but this short list gives you an idea of some of the other things that are included in this release.  Each of these improvements were suggested by various members of our community, so please keep the feedback coming, we’re really listening!

This sounds great!  Where can I get the beta?

You can download the public beta of PowerGUI Pro 3.0 right now by clicking on the Download button on the PowerGUI Pro 3.0 Public Beta page on PowerGUI.org.  That page also describes what the beta package contains as well.  PowerGUI Pro can be installed side-by-side with PowerGUI freeware, so if you are a freeware user and want to try this out, you can install the beta without disrupting anything you do with the freeware product.

Provide your feedback on the PowerGUI forums!

We will be running this beta for a short period while we work on finishing up this release.  Your feedback is very important during this beta cycle, so please give the beta release a try and share your feedback by posting messages on the PowerGUI forums.  The sooner we get your feedback, the sooner we can respond to it.  I’m really looking forward to hearing what you like, what you don’t like, and what else you would like to see in this and future releases, so please share your thoughts with us.

That about wraps it up for this post, so if you made it here, thank you for reading this far and please, give PowerGUI Pro 3.0 Beta a try to see what you think about it!

Happy testing!

Kirk out.