Blog
Archive
<April 2010>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
Monthly
Go
Search
  |  
Author: Created: Tuesday, September 09, 2008 1:58:59 PM RssIcon
News and updates about code4ward.net
By Stefan Koell on Wednesday, April 28, 2010 8:48:26 PM

I spent the last couple of days, installing and configuring TFS 2010. Getting TFS up and running is really easy and went smoothly. I’m really impressed what MS did with the installation experience.

However, when you want to make TFS and TFS web access accessible over https it’s not that easy anymore. I also couldn’t find any detailed instructions so it was a bit of trial and error…

Lessons Learned:

  • When you use a self-signed certificate, make sure that the CN is the same FQDN as used in Visual Studio to connect to your TFS. Invalid certificates are accepted as long as you have installed the certificate in the Trusted Root Certification Authorities store. A name mismatch (the CN of the certificate doesn’t match the name of the host you are trying to access) is not accepted. Internet Explorer let’s you decide if you want to continue or not, Visual Studio not – it’s just blocking…
  • Import the self signed certificate into your computer accounts personal store.
  • Add another binding to the TFS site in IIS for https with the self-signed certificate
  • Change the notification URL to the https://FQDN/tfs
  • Open the web.config “C:\Program Files\Team Foundation Server 2010\Application Tier\Web Access\Web\web.config” and uncomment/adjust the remarked section “tfServers”:
    image 
By Stefan Koell on Sunday, April 25, 2010 10:54:18 AM

PowerWF is a very cool visual powershell workflow designer with the ability to create OpsMgr management packs with just a click. Very impressive tool, see for yourself:

A bit expensive for my taste and when you look at Apple’s Automator it should be a product by MS included in Windows…

By Stefan Koell on Friday, April 16, 2010 12:21:46 PM

If you are a SCOM geek, want to get some attention and win some cool prizes, come over to the www.systemcentercentral.com site and enter the Management Pack Extension Contest! There are four separate contest categories:

  • Reporting pack extensions
  • Diagram or SLM pack extensions
  • Visio or Dashboard pack extensions
  • Tuning pack extension

You can submit one extension for each category. The contest started a couple of days ago and ends at June 7, 2010.  Click here for more details: http://blogs.technet.com/systemcenter/pages/system-center-management-pack-extension-contest.aspx

See you on the other side ;-)

By Stefan Koell on Sunday, March 28, 2010 7:28:02 PM

Here another Version 2.0 progress report, this time I will blog about the computer browser and the bulk-add feature in Royal TS Version 2.

The wizard dialog for new remote desktop connection items allows you to add multiple connections at once. This screenshot shows the wizard for a new RDP item (click the screenshots for the original size image):

Wizard

Since this is the first time I reveal a central UI part of the new version, let me comment on some of the things you see:

  • Royal TS 2 will have a huge load of more options!
  • Red borders indicate required fields
  • Lots of very detailed tool tips
  • You can finish the wizard without going through all pages
  • The screenshots were made using the Black Office 2007 theme - many other themes are available. Right now, I personally like the black theme.

Notice the little browse button on the right edge of the computer textbox. Clicking on that button opens the standard computer browser dialog:

Computer Browser

The screenshot shows the “Advanced” dialog which opens when you click on the “Advanced…” button of the “Select Computers” dialog. Because my dev machine is not member of a domain it will show you all machines in a workgroup. If your machine is member of a domain, you can change the location using the “Locations…” button to search for machines in your active directory.

After selecting one or more machines you return back to the wizard form:

Wizard

When you selected more than one machine, the computer textbox will show each machine separated by a semicolon. It’s still allowed to edit the computer textbox to add or remove machines. So basically you can also do a bulk-add without invoking the computer browser by just entering multiple entries separated with a semicolon.

The display name textbox will be disabled (and ignored) when you use the bulk-add function. Royal TS will then use the computer name as display name for those items.

When you edit an existing item, you can still use the computer browser but it will only allow you to select one machine from the browser.

Again, same procedure as usual: If you have any feedback, leave a comment or contact me directly.

cheers,
Stefan

By Stefan Koell on Friday, February 26, 2010 6:26:26 PM

It’s been a while since my last post but there wasn’t really much to blog about Royal TS 2.0. I’m making progress, just not with the pace I imagined. The last couple of weeks I tried to wrap my head around the “Details” view – essentially the right-explorer-pane. In it’s current implementation, Royal TS shows you the list of connections from a folder or the document. If a connection is selected in the tree, you see the “Dashboard” in the details view. Basically the behavior will remain unchanged. There will be dashboards for connections, tasks, credentials and there will be a details view for folders or documents.

Here’s how the details will look like in Version 2 (this isn’t really the final design, I guess the one or the other detail might change until 2.0 is released):

image Let me explain the screen above to you: As you can see, Royal TS will finally have tabs. The “Details” tab is kind of a special tab which will be activated as soon as you click on an inactive connection item to show you it’s dashboard or if you click on a folder/document to show you the details view (content of the folder).

Now, as the picture above suggests, the details view has lot’s of end user capabilities which might be handy for your organizational tasks:

  • Group by one or multiple columns (feature is well know for Outlook users)
  • Sort columns/groups
  • Customize columns (show/hide) and reorder columns
  • Find as you type
  • Column filters and quick column filters you may know from Excel
  • Build complex filters using a filter editor (see screenshot)
  • Filter across all columns (similar to the filter functionality in Royal TS 1.6.x)
  • Quickly filter out Active or Inactive connections
  • Auto Best Fit / Best Fit adjusts the column width to best fit the contents
  • Optionally keep all filter settings when you change the selection in the tree (by default, all filters are cleared when you change the selection)
  • Optionally show items from all subfolders as well

This piece is still not ready and I think I need another day or two to get it done. That’s it for now. If you have feedback, don’t hesitate…

By Stefan Koell on Wednesday, February 17, 2010 4:32:41 PM

I was asked recently to post an article on how we do web page monitoring. For a number of reasons we do not really use the built-in “Web Application” monitoring template. One of the reasons is that we are not really happy with the selection of the watcher nodes. We needed a way to monitor every web server in our farms without managing the watcher nodes manually all the time. We create host entries on our web servers pointing to themselves. So every time you browse to www.code4ward.net on one of the web servers you do not go through the load balancer. Since the host entry for www.code4ward.net points to the web server itself, you will browse to the web hosted on the server you are currently connected to.

So I created a small script which is basically doing web monitoring the way we wanted it to be. In this blog post I will talk about the implementation we started to use back in MOM 2005 and still use it (slightly modified) in our SCOM 2007 environments. We have recently migrated all those scripts to PowerShell and did our own class definitions using the authoring console. For now, I will focus on the much simpler implementation using VBScript and OpsConsole without any work in the Authoring Console. Download the vbscript from the following link:

http://www.code4ward.net/c4w/files/Misc/code4ward.Sample.WebContentCheck.zip

Before you begin you should create a group containing all your computers you want to monitor with a web page. Or you can of course also use the script like the Web Application template to monitor a web page through a load balancer or whatever using watcher nodes. In any case, create a computer group with your web servers/watcher nodes.

image_thumb2 In your Operations Manager console switch to the “Authoring Space”, expand “Management Pack Objects”, right-click on the “Monitors” node, select Create a Monitor –> Unit Monitor

Now select “Scripting / Generic / Timed Script Two State Monitor”

Select a destination management pack.

Attention: The group I talked about earlier needs to be in the same management pack with the script monitor we now create. Or the group is in a sealed management pack, then you can select a different destination management pack.

Click next.
   
image_thumb7 Provide a name for your monitor and select a target like “Windows Server”.

Notice that we uncheck the checkbox “Monitor is enabled”. We will later create an override to enable the monitor for all the web servers/watcher nodes we created the group earlier.
   
image_thumb10 Configure a schedule. In general we schedule all our monitors (or rule) to run every 5 minutes (of course there are exceptions).
   
image_thumb18 I strongly suggest to provide a meaningful script file name on this page, as it will help you to find it on the agent when you have to trouble shoot something.

Let’s setup the timeout to 5 minutes.

Open the script attached to this blog post and copy everything from the code4ward.Sample.WebContentCheck.vbs into the script text field.

The script is very generic and needs 3 parameters to run successfully. 

As you can see from the script body,
Parameter 1: is the URL of the web page you want to monitor
Parameter 2: is the expected text in the content
Parameter 3: is the timeout in seconds (-1 means no timeout)

Before we click on next, click on the Parameters button to specify your parameters.
   
image_thumb22 To be on the safe side, I always put the parameters in double-quotes. The parameters line reads:
”http://www.code4ward.net” “code4ward” “30”

The configuration means, download the web page from www.code4ward.net every 5 minutes (the scheduled we configured earlier), look for the string “code4ward” (without the quotes) in the content, abort request after 30 seconds if there’s no answer from the web server.
If “code4ward” is in the content and the web page was returned within 30 seconds, the monitor is healthy.
If “code4ward” is not in the content or the web page took longer than 30 seconds, the monitor is unhealthy.
   
image_thumb25 Now we need to hook up the property bag status messages from the script with the health monitor’s unhealthy state:

Property[@Name=’Status’] Equals Error
   
image_thumb30 Now we need to hook up the property bag status messages from the script with the health monitor’s healthy state:

Property[@Name=’Status’] Equals OK
   
image_thumb33 Here you can decide, if you want the health state to be warning or critical.
   
image_thumb36 The last page of the wizard let’s you configure the alert properties for this monitor. In order to get all the nice output from the monitor in the alert description, you need to copy “$Data/Context/Property[@Name='Message']$” (without the quotes") into the alert description field.

Now click on “Create” and your monitor is ready to use.

All you need to do now, is to create an enable-override on the monitor for the group we created before.

As you can see, the monitor itself is pretty simple and has not all the features you know from the Web Application template. But sometimes less is more and this script monitor is used to monitor hundreds of sites without any problems.

If you have any questions or feedback, just comment or drop me an email.

cheers,
Stefan
http://www.code4ward.net

By Stefan Koell on Thursday, February 11, 2010 9:32:16 PM

construction_barrierToday we had a short downtime of our web site because a long overdue update to the latest and greatest DotNetNuke version was installed.

Site performance seems to be significantly better and I hope that the main issues in the forum (broken posts) are now history.

By Stefan Koell on Saturday, February 06, 2010 5:10:58 PM

image

I’m almost done implementing the new “Properties” panel in Royal TS 2.0. The content and functionality is basically the same as in the current version except that it will be available for all types of objects (RDP Connections, Folders, Credentials, ...).

As you can see from the screenshot, the little hint-bar on top of the panel mentions that you can easily pick up a value into the clipboard by double-clicking a row. You can also right click a row to bring up the context menu.

For security reasons, passwords will not be shown in clear text instead an indicator showing that a password is defined is presented to you. But double clicking the “Password” row (or selecting Copy to Clipboard) will actually copy the password into the clipboard. So, Royal TS will also become a very versatile password manager allowing you to organize passwords of all kinds – not only for your connections.

In the context menu, you’ll notice an “Execute” command. This command will only be available in the “Custom Fields” section. In case you store some URL or command line, you can quickly start the command using the Execute menu item.

The Edit command will bring up the usual “Edit->Properties” dialog for the item.

The Properties panel itself, can be “Docked” (always in sight, as seen screenshot), changed to “Auto Hide” (will only slide in when you hover with the mouse over the “Properties” header),  changed to “Float” (panel will show up in a small window, detached from the main window) or even closed (not visible at all). I will post some more details about the docking framework in a couple of weeks but if you are familiar with the Visual Studio docking framework, you’ll get the idea…

Let me know what you think. Any feedback is very much appreciated. If you miss some functionality in this area or have some improvement suggestions, please let me know; now would be a good time ;-)

By Stefan Koell on Friday, January 29, 2010 11:19:19 AM

image

A lot of people and most of my friends are disappointed with Apple’s latest creation. “It’s nothing more than a bigger, oversized iPod Touch” they say and basically they are right but having an oversized iPod Touch has it’s advantages. The size and form factor alone allows you to do so much more in a much more comfortable manner. In the beginning, I was very skeptical as well and was completely underwhelmed with the iPad announcement but after watching the keynote yesterday, I think it may have a bigger impact than I thought first.

 

For once the form factor seems to be right. I am a huge iPhone fan and love all the apps I downloaded and purchased over time. I cannot imagine how it was back in the days without this little gadget. You can do so much with an iPhone but some things on the iPhone are just not that comfortable. I mean, browsing the web to quickly look up something is fine. Answering an email with “Ok, let’s do that” is just fine. Playing the casual game is just fine. Writing a longer email, taking meeting notes, browsing the web with the iPad seems to be much better (not to mention using the physical keyboard accessory).

 

Lot’s of my friends are complaining that the iPad has a stripped down version of OS X (like the iPhone) installed. They prefer to have a full running version of OS X or Windows on it. I admit, that this would have it’s advantages but in my opinion Apple made the right decision. I’m not a fan of the App approval process and the Big Brother – Attitude of Apple and find it really annoying. I understand that this will protect most users like my parents but I really miss the “Ok, I am an adult and take the risk to install and use dangerous software”-button to do crazy stuff with a device like that. On the other hand, imagine running full OS X or Windows on a device like this. Windows, pull down menus, buttons, it’s just not built for a device like that. Imagine a Finder or Windows Explorer running on a device and by mistake you wipe your finger and move some folders around your hard drive. It’s just not right. Apple pulled something off what Microsoft failed to achieve. They (re-)invented the UI for such devices. The only “problem” is, that they achieved that with the iPhone. Yes, the UI was born with the iPhone and it was genius. There’s nothing wrong to take this approach further to the iPad. Obviously it worked great for the iPhone to enable multi-touch so why not bringing it to the iPad? My guess is, that everyone who is disappointed with the iPad announcement expected another similar breakthrough invention as the iPhone and it’s UI.

 

Look at Windows 7. It claims to be multi-touch enabled but where’s Microsoft’s effort to build a Shell and API’s, User Controls, etc. to enable developers bringing great multi touch apps to Windows? Looking at HP’s Slate PC they introduced earlier this year, I thought, wow, you can run Windows 7 on this tiny little device? Great! But on second thought: will that be practical? What can I really do with it? Yes, I can start Outlook and Word and whatever but how will it feel?

 

After seeing the iWork demo, I am convinced that you really can work with such a device. I’ve seen people with a Windows Tablet and stylus running around, trying to get meeting notes and even these guys admitted that working with a stylus sucks.

 

To sum it all up: Apple may have made the right decision and the motto “Less is more” seems to be appropriate. The iPad will not replace your desktop PC, laptop or iPhone. Doing heavy duty work will always be done on your fully capable desktop OS. It’s the daily tiny stuff like communication, entertainment, infotainment such as emails, games, browsing and what ever cool apps will see the light of the day where the iPad will shine.

 

Just my two cents…

By Stefan Koell on Sunday, January 17, 2010 6:55:09 PM

image

Progress report #1, on Version 2 of Royal TS. Hopefully I manage to do this more often and I would be grateful for any feedback.

As you may know from the previous post, Royal TS will allow you to open multiple documents at the same time. This might be handy if you are working in a team and have spread your configuration across multiple documents, or if you want to have one document for each of your clients, etc.

Similar to Version 1.5x or later, Royal TS Version 2 will also allow you to encrypt your passwords with a password/passphrase. So if you have a couple of documents protected with the same password, it might be annoying when you get a prompt for each and every document you open in the same instance of Royal TS.

So I invented the “Password Cache” (patent pending Tongue) which basically holds a secure copy of your password in memory. The next time you open an encrypted file, Royal TS will try if one of the cached passwords will work and will spare you the password prompt.

The check box “Remember this Password”, which is checked by default, allows you to control whether you want to cache this password or not.

For security reasons, the cache will not work when you want to edit an encrypted document. Editing a document also allows you to change the password for a document (or remove password protection), therefore, Royal TS will always prompt for the document password in that case.

The Password Cache lives in the RTSApp.exe process, so as soon as you quit your Royal TS instance the cache will be cleared.

One more thing: I also create a Facebook page for Royal TS, so if anyone is interested to join: http://www.facebook.com/pages/Royal-TS/237851900921

cheers,
Stefan