Archive for the 'UI' Category

Fine-Grained Password Management post from Tyson

Tyson Kopczynski – the author of Windows PowerShell Unleashed (sample chapter available here) has a post on Managing Fine Grained Password Policies.

In which he also complaints that big vendors – Microsoft in this case – are sometimes releasing features – like BitLocker or fine-grained password policies – without fully providing sufficient management tools to actually use them. Needless to say this is very much inline with what I am thinking on the need for do-it-yourself administrative consoles.

Tyson concludes by the following:

My reply to my co-worker was to use either the PasswordSettingsObject cmdlets from Quest or the PowerGUI snap-in which uses those cmdlets –

I’ve also previously blogged about both the cmdlets and the UI:

Tags: , , , , , , , , , , , ,

Changing OpsMgr UI

Right after I blogged yesterday about the value of UI customization I came across this post by Ian Blyth on how Systems Center Operations Manager console only allows you to set the agent proxy one server at a time. Ian writes how painful it is to manage multiple servers and how he has to use workarounds such as command-line or a separate utility by Boris Yanushpolsky (a friend of mine by the way: hello Boris! ;))

In the end of the post Ian mentions that he only hopes OpsMgr SP1 will bring the change.

By the way, thanks to Rob, PowerGUI already has a pack for Operations Manager which provides for bulk operations and is fully extensible so you can have UI for proxy agent management and much more without waiting for Microsoft to provide every possible option you need in some SP.

Will that help you, Ian?

Tags: , , , , , , , , , ,

Ultimate UI flexibility

Gaël has a blog post on PowerGUI showing the way future software products should provide UI providing you with scripts for whatever you do so you can easily automate the tasks you need.

I would also add another aspect to this: full customization of the UI: being able to add a tree node or action by simply searching for functionality or plugging in a script (which you could in turn get from the code you got from previous tasks). This is so much different from the old way on which you basically had to stick to whatever a software vendor shipped, and the only way to have the UI changed was to submit a change request (ever sent emails to and wait for another year or two before the vendor (provided they get another million of similar requests) release an updated version with some kind of implementation of the way they understood you. 😉

In case you don’t speak French, here’s a translation of Gaël’s post.

Tags: , , ,

Automated Software Testing with PowerShell and PowerGUI

PowerShell is great for automated software testing. We all know that and some of us even have some experience doing that. However, wouldn’t it be great to have a UI console to manage and run the individual test scripts?

Now you have one!

UI Console for Automated Software Testing based on PowerShell

This PowerGUI-based console allows you to:

  1. Run selected/all/based on criteria test scripts.
  2. See results, last run time, modification time, error messages.
  3. Filter and sort by any of the aforementioned properties.
  4. Add new test scripts.
  5. Edit test scripts.
  6. Copy test scripts to serve as models for new scripts.
  7. Delete scripts.
  8. Produce reports.
  9. Schedule tests for regular automated runs.

You can watch the automated software testing demo and download (absolutely free) the testing console at

Enjoy and let me know if you have any feedback/feature requests!


Tags: , , , , , , , , , ,

Something missing in Exchange 2007 console? PowerGUI has that!

I came across this great post by David Elfassy: Tasks that CANNOT be performed from the Exchange Management Console (via Frank’s comment on Wolfgang’s post) and thought: Hey, that’s what PowerGUI is for!

So I went through his list and made sure that (almost) everything is available out of the box within PowerGUI Exchange 2007 PowerPack. (The pack on the site is newer than the one which shipped in PowerGUI 1.0.8 so you need to download and import it into PowerGUI manually from here.)

Here’s the screenshot (click to enlarge) and below is the list of things which PowerGUI gives you UI to do when Exchange 2007 Management Console is not there yet.

PowerGUI Exchange 2007 PowerPack screenshot

Quoting from David with my comments inline:

Tasks that CANNOT be performed from the Exchange Management Console

I’ve been getting this question a lot! “What tasks CANNOT be performed from the Exchange Management Console?”

The following is the answer to this question. I’ve done a “best effort” to compile a complete list of these tasks. Feel free to comment here if you feel I should add information to this post or if there is incorrect information.

Tasks that MUST be performed from the Exchange Management Shell

Mailbox, Recipient and Public Folder Settings

· Get a list of all mailboxes, organized by size and number of items – Get-MailboxStatistics

[Dmitry] PowerGUI: Recipients / Mailboxes / Statistics

· Perform bulk management of multiple attributes for mailbox recipients – Get-mailbox | Set-Mailbox

[Dmitry] PowerGUI: Recipients / Mailboxes / Change Properties

· Bypass antispam filtering for a specific recipient(s) Set-Mailbox -AntispamBypassEnabled $true

[Dmitry] PowerGUI: Recipients / Mailboxes / Change Properties

· Get information about public folder sizes – Get-PublicFolderStatisics

[Dmitry] PowerGUI: Public Folders / Statistics

· Give permission to a user’s mailbox (to another user) – Add-MailboxPermission

[Dmitry] PowerGUI: Mailboxes / Add Mailbox Permissions

· Give permission to an entire database, to a user – Add-ADPermission

[Dmitry] PowerGUI: Servers / Mailbox Stores / Add Permissions

· All Public Folder management, for example:

[Dmitry] PowerGUI: Public Folders (then browse the tree)

o Create Public Folders (Can be done from Outlook)

[Dmitry] PowerGUI: Public Folders / New Folder

o Mail Enable Public Folders

[Dmitry] PowerGUI: Public Folders / Mail-Enable

o Enable Public Folder replication

[Dmitry] PowerGUI: Public Folders / Change Properties

o Suspend/Resume Public Folder replication

[Dmitry] PowerGUI: Public Folders / Suspend Replication (Resume Replication)

o Modify Public Folder Replication

[Dmitry] PowerGUI: Public Folders / Change Properties

o Set/Modify Public Folder Quota

[Dmitry] PowerGUI: Public Folders / Change Properties

· Extract specific content from a mailbox and copy it to an alternate location – Export-Mailbox

[Dmitry] PowerGUI: Mailboxes / Export Mailbox

· Configure a resource mailbox to automatically accept all meeting requests – Set-MailboxCalendarSettings

[Dmitry] PowerGUI: Mailboxes / Change Calendar Settings

· Create (and modify) a new Global Address List – New-GlobalAddressList

[Dmitry] PowerGUI: Address Lists / Global Address Lists / New Global Address List

Transport Settings

· Set a maximum message size for incoming or outgoing messages (org) – Set-TransportConfig

[Dmitry] PowerGUI: Transport / Configuration / Change Properties

· Disable Xexch50 for outbound ESMTP connections – Set-TransportConfig

[Dmitry] PowerGUI: Transport / Configuration / Change Properties

· Set a maximum message size for incoming or outgoing messages (conn) – Set-ReceiveConnector

[Dmitry] PowerGUI: Transport / Receive Connectors / Change Properties

· Add the Antispam tab to the Exchange Management Console – Set-TransportServer –AntispamAgentsEnabled $true

[Dmitry] PowerGUI: Transport / Transport Servers / Change Properties

· Set advanced SMTP connection settings such as Tarpit, connection timeouts, inactivity timeouts etc… – Set-ReceiveConnector

[Dmitry] PowerGUI: Transport / Receive Connectors / Change Properties

· Modify the properties of the Content Filtering agent to filter messages originating from authenticated servers INSIDE the organization – Set-ContentFilterConfig (useful if another server relays the message but does not perform filtering)

[Dmitry] PowerGUI: Transport / Content Filtering / Change Properties

· Add an exception to the Content Filtering agent to NOT perform any filtering for a specified SMTP Domain or Sender – Set-ContentFilterConfig –BypassSenderDomains / BypassSenders

[Dmitry] PowerGUI: Transport / Content Filtering / Change Properties

· Modify properties for the transport dumpster (Enable/disable – Max Size) – Set-TransportServer

[Dmitry] PowerGUI: Transport / Transport Servers / Change Properties

· Override AD Site link costs with Exchange Specific costs – Set-ADSiteLink

[Dmitry] PowerGUI: Transport / AD Site Links / Change Properties

· Design Exchange Hub Sites for message routing – Set-ADSite

[Dmitry] PowerGUI: Transport / AD Sites / Change Properties

· Force a manual start to the Edge Synchronization between the HT and the ET servers – Start-EdgeSynchronization

[Dmitry] PowerGUI: Transport / Transport Servers / Force Edge Synchronization

Client Access Settings

· Set connection time-outs for POP3/IMAP4 servers – Set-IMAPSettings / Set-POPSettings

[Dmitry] PowerGUI: Servers / Client Access Servers / Change POP /IMAP Settings

Following settings should be used with a Get-CASMailbox and piped to the Set-CASMailbox to be applied globally.

· Prevent previous versions of Outlook from connecting to Exchange – Set-CASMailbox –MAPIBlockOutlookVersions

[Dmitry] PowerGUI: Mailboxes / Change Client Access Settings

· Enable/disable POP3 or IMAP4 for a user – Set-CASMailbox

[Dmitry] PowerGUI: Mailboxes / Change Client Access Settings

· Disable selected features of OWA (Calendaring, Change Password button etc…) – Set-CASMailbox

[Dmitry] PowerGUI: Mailboxes / Change Client Access Settings


· Specify a message class for Managed Content Settings (For message classes NOT available in the EMC, such as IPM.XYZ) – New-ManagedContentSettings

[Dmitry] PowerGUI: Content Management / Managed Content Settings / New

· Create a customized quota message to mailbox recipients – New-SystemMessage

[Dmitry] PowerGUI: Content Management / Custom System Messages / New Quota Message

· Create a customized Delivery Status Notification message – New-SystemMessage

[Dmitry] PowerGUI: Content Management / Custom System Messages / New DSN Error Message

· Enable/disable, modify the properties of Message Tracking – Set-MailboxServer

[Dmitry] PowerGUI: Servers / Mailbox Servers / Change Properties

· Specify the number of ‘unreplicated logs’ that a CCR node will allow, and still mount a database a failover – Set-MailboxServer –AutoDatabaseMountDial

[Dmitry] PowerGUI: Servers / Mailbox Servers / Change Properties

· Allow a database to be overwritten by a restore operation – Set-MailboxDatabase –AllowFileRestore

[Dmitry] PowerGUI: Servers / Mailbox Stores / Change Properties

· Configure domain controllers that should NOT be used by your Exchange server – Set-ExchangeServer –StaticExcludedDomainControllers

[Dmitry] PowerGUI: Servers / Change Server Properties

There are only 5 features missing at the moment so I will have to update the pack again later on:

· Upgrade address lists and email address policies from LDAP syntax (after a migration from 2003) to OPATH syntax – Set-EmailAddressList

· Reseed a LCR or CCR (Maybe SCR ?) database copy – Update-StorageGroupCopy

· Install or uninstall antispam agents on a Hub Transport server – (un)install-AntispamAgents

· Update the safe senders aggregation list – Update-SafeList

· Modify Public Folder Referrals

Basically they are the ones I could not find how to add right away and didn’t have time to add immediately. Comments/feedback/tips are welcome.

Tags: , , , , , ,

Free UI Console for Fine-Grained Password Policies

I spent most of the day today using the password policy cmdlets and the PowerShell UI we all use and love to create graphical user interface for fine-grained password policies (see overviews in 4sysops and Ulf’s blog) in my Windows 2008 lab. And here’s the result (click to see it full size):

Graphical console to manage fine-grained password policies in Windows 2008 domains

What you see on the screen is the graphical user interface to manage those granular password policies and they are far nicer than ADSIEdit. 😉

I included the following functionality:

  • Create new password policy,
  • See password policy properties (PowerGUI adds sorting, filtering, reporting, copy to clipboard and other goodies),
  • Link a password policy to a user or group,
  • Unlink a password policy,
  • Remove a password policy,
  • See the resultant policy for a selected user.

All these operations also support bulk selection.

You can download the pack from PowerGUI library: Fine-Grained Password Policies – please provide feedback so I can make it better.

And, as usual, should you want to learn the command-line or script the same actions, just click the PowerShell Code tab at the bottom of the PowerGUI window – and copy/paste from there.


Tags: , , , , , , , , , , ,

PowerShell & PowerGUI tutorial in Portuguese

I’ve just found this great PowerShell and PowerGUI step-by-step tutorial by Anderson Patricio and José Rodas: AP407 – Using PowerGUI for Windows PowerShell

The guys are taking you step-by-step (providing screenshots for all of them!) on:

  • Importing PowerPacks from the PowerGUI Library,
  • Connecting to the AD cmdlets library,
  • Using the native functionality to get mailbox statistics,
  • And then extending the UI to manage Exchange queues.

This is very cool and highly recommended!

Here’s the list of other tutorials they have on the site (“Learn Spanish Portuguese with Windows PowerShell!”):

AP400 – Introdução ao Monad

AP401 – Utilizando pipes no Monad

AP402 – Utilizando o registry no Monad

AP403 – Trabalhando com Serviços

AP404 – Trabalhando com o Event Viewer

AP405 – Windows PowerShell: Utilizando Transcript

AP406 – Windows PowerShell: Ordenando dados

AP407 – Usando o PowerGUI for Windows PowerShell

Tags: , , , , , , , ,

UPDATE: Just got a comment from Anderson saying that the demos were actually in Portuguese. I should learn the languages better I guess…

Provision Exchange Mailboxes from CSV

Wouldn’t it be great to pick a few mailboxes, export their properties to Excel, make a few changes, and use that changed file to provision a bunch of new user accounts and mailboxes? PowerGUI comes with commands to do that!

PowerGUI gives you user interface for a lot of actions which used to require scripting. While I am striving to find time at DEC to finish editing my webcast, so I thought I’ll do a few blogcasts (is there such a word already?) now instead.

Here we go:

1. Download and install PowerGUI on a computer which has either Exchange 2007 or its management tools.

2. Click Mailboxes, make sure that the following columns are displayed (right-click the header to add the columns): UserPrincipalName, Name, Database, OrganizationalUnit – these are mandatory for new Exchange mailboxes.

3. Select the mailboxes you want to export and click Report as CSV:

Select sample mailboxes for provisioning

4. Specify the filename for the output (e.g. c:\test.csv) and click OK. The file will open in whatever is your CSV edit. Normally it should be Excel- in my case the machine didn’t have Office so I had to use Notepad:

Change propeties

5. Change the properties as you wish for the new mailboxes (in my case I just did Replace All), add new rows, add a column Password and set passwords for the new accounts (otherwise we’ll just use UPN for that).

6. Save the file.

7. In PowerGUI click Create new from CSV action.

Create from CSV

8. Type in the file path and click OK.

Select CSV file

9. That’s it – the new accounts and mailboxes got provisioned!

New mailboxes are there!

If you want to schedule provisioning to happen on regular basis (e.g. nightly) just go to the PowerShell Code tab and use the code there for your script.

PowerShell and PowerGUI rock! 😉

Tags: , , , , , ,

AD snapin got posted on PowerGUI

PowerShell cmdlets for Active Directory now have a UI!

Andrei from the Active Directory cmdlets team has just published his PowerGUI pack for their AD cmdlets.

It is a neat UI with the AD management functionality you would expect (getting users, groups, computers, modifying properties, getting/changing group membership, browsing OUs, etc.):

Active Directory PowerPack

What’s cool is that as usual with PowerGUI at any time you can switch to the PowerShell Code tab and see all the code behind whatever you do in UI.

Some of the functionality is already pretty unique (e.g. there’s an option to get recursive group membership so you can see all the members of a group even when they actually reside in subgroups.)

I’ll blog about it more when I have time and hopefully will shoot a flash demo similar to the one we have for MOM.

Installing the pack is fairly straight-forward:

1. Get the latest release of PowerGUI from

2. Get the AD cmdlets from Quest’s site (free but requires registration).

3. Go to and download the Active Directory PowerPack from the library. Then follow the pack’s instructions to import it into PowerGUI.

PowerGUI: Managing OpsManager with PowerShell

As you know Operations Manager 2007 provides for significantly improved manageability by exposing a PowerShell API (check out these posts by Ian, Stefan, and myself).

We’ve just published a webcast at (in Documentation section of the site) in which Rob “Deuce” Doucette (one of the stars of the community) demos his pack for managing MOM (Operations Manager 2007) with the pack he created and posted to the community library for everyone to use.

He started off by bulk-managing Alerts based on some criteria. Sorted them, selected a few (too bad he didn’t demo filtering by the way!), resolved and updated selected alerts:

Bulk Alerts management

Then he managed a bulk of security roles (added, removed users):

Bulk MOM roles management

Then went to notification subscriptions:

Managing notification subscriptions

And finished with pending management tasks (which he actually didn’t have any ;))

Best of all, in the end he showed all the PowerShell code behind everything he did:

PowerShell code behind the OpsManager management operations

Checkout the webcast, download and install the pack to give it a try yourself.

P.S. One thing missing from the demo is the actual installation of the pack:

  1. Download the pack from the library (right-click the attached file and click Save As).
  2. In PowerGUI, right-click the root node and click Import on the shortcut menu.
  3. Browse to the OpsMgr2007.snapin file.
  4. Once you open it with PowerGUI, you should have the tool ready to follow Rob’s demo.

My Recent Tweets


The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer - WSO2 or anyone else for that matter. All trademarks acknowledged.

© 2007-2014 Dmitry Sotnikov

June 2022

%d bloggers like this: