<December 2010>
Author: Created: Tuesday, September 09, 2008 1:58:59 PM RssIcon
News and updates about
By Stefan Koell on Monday, December 06, 2010 10:38:45 PM

Royal TS Icon LargeFirst of all: don’t panic! We are still working hard on V2 of Royal TS (including all the cool features like nested folders, credential manager, database sync, etc.). Because of some delays with V2 I decided to do spend a couple of weeks to merge back some of the features to the current code base. Monster blog-post starting now…

What’s New?

This release also has some bug fixes and minor features, like:
If a config file is corrupt, it will automatically recreate a new one.
If your remote session lost your keyboard focus, clicking inside the session will restore the keyboard focus.
Grab keyboard input behaves differently now: if checked (default), selecting an active connection will transfer the keyboard focus to the remote session.
Expand all/Collapse all in navigation tree.
Specify the remote keyboard layout.
Option in Pre-Connect task to abort connection if the result code is not ‘0’.
Additional custom display sizes can be added in the RTSApp.exe.config file.
Fully 120dpi – large font mode – compliant.
Many, many more…

Features in Detail


Better Search and Filtering


The double-arrow icon indicates that you can expand or collapse the search and filter panel in the navigation tree as well as in the connection list. Once expanded, you can either search for connection name OR host name (yes, if your text is a match you will see the connection in the tree) or you click on the little light bulbs to filter and only show connected, disconnected or (as by default) all connections in the tree.

The sample shown in the screenshot shows all connected items where the host name or the connection name contains “TFS”. The search is not case sensitive and as long as a filter is active, drag & drop operations are not allowed.

When you collapse the search and filter panel, the filter will be cleared and everything is shown again.

The very same behavior applies to the search and filter panel in the connection list.


Another underestimated feature of the navigation tree is the “Find-As-You-Type” search functionality. When the navigation tree has the keyboard focus, you can just start typing a fragment of your connection name. As soon as you pause for more than 500ms between the keystrokes, the selected node will jump to the first search result.

Attention: by default, the keyboard focus is moved to the active session if the navigation tree selection is an active session.

Hyper-V Support

This is a huge leap forward and if you are using a lot of Hyper-V machines, I’m sure you’ll love it. To start from the beginning, here’s the new config screen for a connection:


This is a standard RDP connection (Default)

Royal TS will handle this connection as a standard RDP connection – exactly the same as in all previous versions and displays the standard dashboard.

This is a Hyper-V host, show VM instances in dashboard

Royal TS will display an additional dashboard panel showing all the VM instances on the machine. When this option is selected you can also change the standard Hyper-V proxy-ing port (default 2179).

To successfully retrieve the list of instances you or the credentials specified need to have the appropriate rights (local admin) and the machine running Royal TS needs to have RPC access to the Hyper-V machine (firewall policies!).

This is a Hyper-V host, connect to a specific instance

The last option lets you specify an instance ID (or browse for one). The connection will show up in the navigation tree as any other connection but instead of connecting to the host machine you will connect directly to the instance.


In Hyper-V mode, most of the display settings will not apply. Since this is handled by the instance, you do not have control over the screen resolution.

Finally, to simulate a CTRL-ALT-DELETE to unlock a remote instance you need to press CTRL-ALT-END.

The Hyper-V Dashboard



Get VM: Updates the VM instance list
Start: The selected instance will be started
Shut Down: The selected instance will shut down
Save: The state of the selected instance will be saved
Pause: The machine will be paused
Create RDP Connection: A standard RDP connection for the selected instance will be created. This shortcut will pre-populate the properties of the new connection. You just need to verify/enter the host name or IP and other settings like credentials.
Create Hyper-V Connection: Clicking on this button will create a new Hyper-V connection, all properties pre-populated based on the selection in the dashboard.

Folder Credentials


This was a very popular feature request. Still, I personally prefer setting my credentials using Bulk-Edit instead of Folder credentials but since this was very popular, I finally implemented it.

File Import

Also very popular request. We are still not there where we want to be but it’s a start. The import lets you open another .rts file and combine both files. Import is only available for licensed users. We are still missing .csv and .rdp file import but we are confident to have those in V2.

In case you desperately need a .csv import, you can still use the PowerShell script provided in the “Toolbox Forums”:



First thing you’ll notice that there are now lots of tooltips. This should help to find out about special fields. Another thing to note is that you can use the default network browser by clicking on the button next to the RDP port to browse for one or more computers in your network. If you select multiple computers, they will appear semi-colon separated in the Computer field. Of course you can enter multiple computers on your own with semi-colons or copy them from somewhere else.

As soon as you specify more than one computer, you cannot change the display name field anymore. This is by design and for bulk-add, the computer name will be set as display name.



The Bulk-Edit dialog was enhanced to support the folder credentials and the Hyper-V settings.


Another important detail about 1.7 is, that it will need a new license key. All of you who are still within the software-upgrade-protection period will get automatically a new license key delivered by email. All of you who bought Royal TS 1.6 more than 12 months ago will get a coupon code for a discount. Let me also take this opportunity to thank all of you who supported Royal TS over the last years. It’s very much appreciated!

Beta Version

There’s a beta version available where the 1.6 key will work – at least until February 2011. To sign up for the beta program (Forums access, download information and beta newsletter delivery) you need to register an account on and click the following link after you have been logged in to our site:


We are also working on a local help file instead of redirecting to the online help. The help file is not ready yet, so the beta will still open the online help for now.


Because of the need for a new license key, we are considering to ship 1.7 with an installer which installs the new version side-by-side to 1.6x versions. We haven’t decided yet and would appreciate any feedback on that matter as well. We think that people may be upset if they install 1.7 and realize upon the first start that they need to upgrade their license. Having both versions installed lets everyone take a sneak peak to the new version without loosing the old one.

By Stefan Koell on Tuesday, November 09, 2010 2:07:47 PM

By now, you should have seen already some blog posts about the new SCOM version (2012 or whatever it will be called in the end). Here are some bits I am particularly excited about:

  • There is NO Root Management Server anymore! I think this one will make a lot of people happy. R.I.P. R.M.S.
  • Agent and Server Pools: I’m really looking forward to this one. Instead of monitoring web pages from a single watcher node you can have a pool of nodes watch an URL. If a node is failing another node from the pool will pick up.
  • Outside In Monitoring: every company offering publicly faced web applications right now has - most likely - already some outside in monitoring service like Gomez in place. SCOM vNext will also have a similar service on board. It’s nice to see some serious competition in that area since gomez isn’t exactly cheap.
  • J2EE Monitoring: The X-Plat area will be covered more and more. Very nice and exciting news!
  • Azure Monitoring: Still trying to figure out how Windows Azure will impact IT business over the next few months/years. Nice to see this one on board as well.

This is just the tip of the iceberg. I’m also very excited about all the UI changes (WPF?), extensibility (also regarding UI?) and stuff for authoring (custom modules?). How the hell should I survive the next 12 months…

By Stefan Koell on Sunday, November 07, 2010 8:53:19 PM

SNAGHTML46b62cRoyal TS 1.6.10 has an issue when you try to open .rts documents created with versions 1.5 or older. Specifically when the document is missing the DocVersion element in the XML (see screenshot). If you open such an old file in 1.6.10, you may see all the connections but you cannot actually edit or connect to a session.

Here’s what you can do to avoid the issue with very old files:

Method 1:
Before you upgrade to 1.6.10, download and install 1.6.9 from here and upgrade then to 1.6.10 using this link.

Method 2:
Open the .rts file and add the 1 line at the bottom of the file (see screenshot).

Method 3:
You can also download the beta version of 1.6.11 which has a fix for that from here. To use the beta you need to install 1.6.10, download the .zip file and replace the RTSApp.exe in the install directory from the .zip file.

Method 4:
If the above doesn’t help you can also do the following:

  • Open the document
  • Select the document in the tree
  • On the right hand side, select all connections
  • Click on Edit to open the bulk-edit dialog
  • Check “Override Credentials” and leave all fields blank to reset all the credentials in your connections
  • After clicking OK you can use the same method to set the credentials to your connections again

It seems the issue is also encryption related. Much older versions of Royal TS are using a slightly different encryption method. This method was replaced since there was a bug with unicode characters in password strings.

There’s one other thing in 1.6.11 beta which might be interesting for you to test. As discussed in this thread, 1.6.11 will evaluate the exit code of the pre-connect task and will cancel the session if the exit code of the pre-connect task is not 0. So if you plan to implement a script to create a VPN connection you can actually prevent Royal TS from connecting to the session if the script is unsuccessful.

By Stefan Koell on Tuesday, October 19, 2010 8:38:48 AM

It’s been a couple of months since we released 1.6.9. According to our experience, user feedback and forum traffic, 1.6.9 has been a rock solid release. We are still working hard on a 2.0 release but there are some things we still needed to do for 1.6.10:

  1. Some minor cosmetic issues in the UI were fixed and improved. For example, the window title will now display the file name first which makes much more sense and can be found in many products. Especially in situations where you have multiple instances of Royal TS running, each has opened a different file, allows you to quickly find the right instance from the task bar.
  2. Performance optimization when you load and save your .rts files. We managed to improve load and save times dramatically, regardless of your document protection. Only caveat is the slightly longer processing time when you change your credentials using bulk-edit on a large number of connections at once.
  3. The installer will create a pre-compiled image of Royal TS during the installation. Royal TS will now start much faster and will also feel a bit snappier than before.

Royal TS 1.6.10 also needs to have .NET Framework 4 installed. Have a look the System Requirements page for more information.

The release notes for 1.6.10 can be found here.

Go to the download page to get 1.6.10 now.

A big ‘thank you’ to all our beta users for testing and feedback!

If you have any questions, suggestions or bug reports, feel free to register an account and post to our forums.

By Stefan Koell on Saturday, October 09, 2010 3:43:00 PM


In this series I will talk about invoking external programs or scripts from within SCOM. This post will be focused on Tasks and shows how to deal with some advanced scenarios. Here’s the list of topics covered in this part:

1. Invoke a command as console task
2. Invoke a script script as console task
3. Invoke a command as agent task
4. Invoke any command as agent task
5. Invoke a PowerShell script script as agent task

All this will be done in the OpsConsole – without the need of the Authoring Console!

By Stefan Koell on Saturday, October 09, 2010 9:12:11 AM

Since the release of CU3 for SCOM 2007 R2, users might be confused about the exact support matrix for running SCOM 2007 R2 databases on SQL Server. Since our database team is, let’s say “very responsive” and tend to install Service Packs very quickly after their release and sometimes even without notifying the service owner, this might get a bit messy with the release of SP2 for SQL 2008.

CU3 for SCOM 2007 R2, as stated here supports the following:

  • New installations of SCOM 2007 R2 with CU3 are supported to run on SQL 2008 R2
  • Existing installations of SCOM 2007 R2 without CU3 are supported to run on SQL 2008 SP1

CU3 for SCOM 2007 R2 does NOT support:

  • Existing installations of SCOM 2007 R2, even with CU3 installed, the upgrade of the SQL backend systems (OperationsManager, OperationsManagerDW and Reporting Services) from SQL 2008 to SQL 2008 R2 are NOT supported
  • It is also NOT supported to install SP2 for SQL 2008 on all the SQL backend systems!

According to MS, the support for the two missing scenarios above will come with CU4.


By Stefan Koell on Friday, August 06, 2010 4:32:07 PM

Operations Manager has some really nice reporting features. Most management packs have several predefined reports on board and even community management packs (especially those from last MP contest) have pretty cool reports on board as well. Still, sometimes there’s just not the right report available. In this case you have a couple of options, here are some popular examples:

  1. Access the data directly in the database:
  2. Creating a Custom Report for SCOM 2007 R2 with SQL 2008 reporting in Microsoft Visual Studio 2008

While those options have many advantages and gives you full control of how your report will look and feel like, it’s very time consuming and there’s also a steep learning curve involved. If you just want to get the data out of your data warehouse and sent to you by email as an excel file, it’s a lot of trouble to go through.

Another option is to use the built-in Report Builder which ships with SQL Reporting Services. I couldn’t find much information on how to use this beast with SCOM, so I decided to play around with it and blog about it.

But before we get started, we need to install the models on the reporting server. Pete posted an excellent blog post over a year ago describing how to install the models which are shipped with SCOM since SP1:

After you installed the models and assigned the right data source to them, we can get started…

The Mission:

For this demo, I show how to create a report listing all computers where the average CPU utilization over the last 7 days is below a certain value. There’s a similar report in the Virtual Machine Manager Management Pack but unfortunately the report is not designed to get scheduled because it only accepts absolute date values. So, our report here should be scheduled to run every week showing the results for the last 7 days.

Get Started:

In the reporting space you should an “Actions” item called “Design a new report” (be sure you have the Actions pane visible!):

Clicking on the above item will open the Report Builder of SQL Reporting Services. When you successfully installed the models as explained in Pete’s post, you should see the two models in the Getting Started pane:


Select the Performance model, Table layout and click on OK. On the left hand side you should now see the “Explorer” pane showing you all the entities from the model and the corresponding fields below.

Basic Report Design:

Our report should contain a column showing the computer name, one showing the average value, one for the minimum value and another one for the maximum value of the CPU utilization. In the Entities explorer select “Object” and in the fields box, drag the “Name” field to the column fields on the design surface.


After doing that, click on the “Performance Data Dailies” entry in the Entities explorer. Expand the fields “# Average Value”, “# Min Value” and “# Max Value”, like this:


Drag the child elements: “Avg Average Value”, “Min Min Value” and “Max Max Value” to the column fields area on the design surface, next to the name field. Right-click on each of the columns and uncheck the “Show Subtotal” item to get rid of the subtotal line. You can also double-click on the column headers to provide some meaningful name for each column. Your designer should look like this now:


Fine Tuning the Report Design:

Right-click on the field below the computer name column header (on the “xxxxxx” text)and select “Edit Formula…”. Let’s use the formula dialog to ensure every computer name is written in upper case:


For the average, min and max values we want to round the numbers to display only 2 digits. Open the formula dialog as before for these columns and use the ROUND function:



Click on the “Sort and Group” tool bar button to specify which column is sorted by default:


You may also check out the Report Properties available using the Report menu:



Now it’s time to pick the right data from our model. First thing to do is to limit our results to the class “Windows Computer”. To do that, select Class as entity and drag the “Class Default Name” to the right panel and select Windows Computer from the Filter List:


After that we need from the “Performance Data Daily\Performance Rule Instance\Performance Rule” entity the fields “Performance Object Name” (equals Processor) and “Performance Counter Name” (equals % Processor Time).

From “Performance Data Daily\Performance Rule Instance” entity the field “Instance Name” (equals _Total).

Then select “Performance Data Daily” from the entity box and drag the Date Time field to the right and configure it “after 7 days ago”.

Lastly, expand the # Average Value field and drag the Avg Average Value to the right, and configure it “less than or equal to 1”. Right click on the last condition and select “Prompt” from the context menu to make this value configurable. The filter should then look like this:



Now you can test and run the report from the report builder or save it directly to the reporting services instance. Use the web access to the reporting services reports to create a new folder if you wish and save your freshly compiled report to that folder. After a refresh in the Operations Console, the folder and the report will appear and is ready to run and more important: ready to schedule!


You can always re-open your reports with the Report Builder using the File – Open menu. I hope I could show you how to use the models and the reporting builder to create your own reports. If you have any feedback or improvement suggestions, let me know.

Have fun!

Stefan Koell 
Operations Manager MVP

By Stefan Koell on Sunday, July 11, 2010 8:02:17 PM

Still working hard on V2. This time I will blog about controlling Royal TS settings using Group Policies:



An ADMX file will be supplied with some predefined policies to set. So far all policies can be set on computer level and on user level. Policies configured on computer level are stronger than on the user level.

Here’s an example how to configure data base logging using group policy objects:


Royal TS will pick up the policy change and will apply them immediately:


Notice the label at the bottom indicating some settings cannot be changed because they are applied using group policies.

Here are some more settings we plan to integrate:




As always, if you have any feedback, let us know…

By Stefan Koell on Friday, July 02, 2010 10:34:22 AM

image001Yesterday I received word that I had been awarded an MVP for System Center Operations Manager.

My thanks to Microsoft and to the community for this award. I have been very active at the SystemCenterCentral forums, created a series of blog posts about creating PowerShell modules and offer a freeware tool called LogSmith which enables you to easily slice and dice collected events from OpsMgr.

I’m very excited about the next version of OpsMgr and I will try to keep up with my community work. You can soon expect a brand new version of LogSmith and I hope I can do some more step-by-step guides on my blog. So if you have any suggestions, let me know.

By Stefan Koell on Wednesday, June 16, 2010 9:59:23 AM

Very interesting article on different methods to implement a singleton pre-.NET 4 and a new way to do it with C#: