Which version of .NET

Sometimes while supporting products, it is very useful to know just what version/s of .NET are installed.

Found this tool just now shows you just that: Free DotNet VersionCheck Utility

If you’ve ever wanted a quick way to find out which versions and service packs of the .NET runtime are installed on a machine, or if you’re trying to resolve a ‘missing mscoree.dll’ error, then DotNET Version Checker is for you.

VersionCheck itself does not depend on the .NET runtime.

VersionCheck will also tell you whether you have the required Windows components to run .NET applications, and will prompt you with download locations if not.

Update: this page at Microsoft lists the downloads for .NET in the left menu bar.

Open Source administrator tools

Spotted this great list of open source tools for system administrators: 24 Great Open Source Apps for Admins & Technicians.

I can personally vouch for a number of these:

  • Angry IP Scanner
  • PuTTY
  • DBAN
  • DeltaCopy

For some tools that are not open source but free, you can’t go past live.sysinternals.com (details here) – now owned by Microsoft themselves these tools make a Windows Sysadmin job much easier.

Resurrecting Terminal Server

A Terminal Server I was attempting to work on today gave quite a lot of grief. The first hint was that users were unable to login to it. When I then tried to login, it gave an error message of:
Login Failed
You are connected to the remote computer. Howerver, an error occured while an initial user program was starting, so you are being logged off. Contact the system administrator for assistance.

So I rebooted it remotely using the command shutdown /r /f /m \\TSERVER1 while having a continuous ping running, from the ping results I could see it go down, come back up. However on trying to login now, after entering a username/password I could see the logon script run, but no taskbar, start button appeared. Right clicking the desktop didn’t give any menu.

I could however navigate to the hard drive on that machine by pointing My Computer to \\tserver1\c$\.

Copying some of the tools at live.sysinternals.com I was able to view the event logs, no issues apparent, check status of various services, all ok.

So I connected via RDP once more (mstsc /v:tserver1 /console) and viewed the background (still no start button or taskbar) and pressed CTRL-ALT-END which allowed me to start the Task Manager. This allowed me to run a new task (File | New tas (run...)) so now I was able to copy the sysinternals autoruns program to the root of the C: partition, and run it from the affected terminal server. Running c:\windows\explorer.exe didn’t work tho.

Delving into it’s depths I found an entry for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Explorer – renaming this entry then allowed Explorer to run. So I’ve exported the key (in case I do want it sometime) and then deleted it.

Rebooted the server once more and bingo, it lets everyone log in. Very satisfying after a couple of hours of mad hair tearing.

How to remove unwanted software

Like Symantec Anti-virus. At a friends house right now, and trying to uninstall the product, it won’t – it keeps saying that something else wants to keep it there. Very unhelpful error message by they way (if Symantec is listening).

Found a great page that explains how to remove unwanted software (surprise, they also trying to remove Symantec… hmmm….).

Here it is at it.toolbox.com/blogs/locutus.

In a nutshell this is how:

  2. Then do a search for Symantec (or the name of the software you want to be rid of)
  3. Copy the value of UninstallString
  4. Open a command prompt (Start | Run | CMD) and paste the UninstallString here and add REMOVE=ALL to the end of that string, press enter.
    It will look similar to this: MsiExec.exe /X{DBA4DB9D-EE51-4944-A419-98AB1F1249C8} REMOVE=ALL
  5. Done.

Email error codes

Ever got an email message saying something like this?
This is an automatically generated Delivery Status Notification.
Delivery to the following recipients has been delayed.
< someone@example.com >
The reason for the problem:
4.1.0 - Unknown address error 451-'DNS temporary failure (#4.3.0)'

If you have, then like me, deciphering this is made heaps easier with these two pages: this page at Microsoft, which list the Enhanced Status Codes for Delivery as per RFC 1893 – Enhanced Mail System Status Codes.

Using this, I now know that 4.1.0 & 4.3.0 means:

4.X.X Persistent Transient Failure
A persistent transient failure is one in which the message as
sent is valid, but some temporary event prevents the successful
sending of the message. Sending in the future may be successful.
X.1.0 Other address status
Something about the address specified in the message caused
this DSN.
X.3.X Mail System Status
Mail system status indicates that something having to do
with the destination system has caused this DSN. System
issues are assumed to be under the general control of the
destination system administrator.
X.0.0 Other undefined Status
Other undefined status is the only undefined error code. It
should be used for all errors for which only the class of the
error is known.

All of which let me know where to start looking in order to fix this. Hope you find it useful too.

Registry utility I would love to have

I don’t have this, but I certainly would use it.
A simple utility to do search and replace in the Microsoft Windows registry.

Ideally it would do the following:

  • Specify a list of values to delete – it would then remove ALL those values
  • Specify a value and what to replace it with
  • Specify a key and what key to replace it with
  • Specify a key and what value to make it

My immediate use is removing entries that a virus (WORM actually) has entered in. Using regedit is a pain pain pain!

How to: shortcut to Network Connection for Vista

One of the things that has irked me about Vista has been how hard (read how many clicks it takes) to get to the Network Connections in Vista. Thus here is how to create a shortcut to take you straight there.

Right click on your desktop | New | Shortcut |
explorer.exe ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}
| Next | enter an appropriate name like Network Connections | Finish and bingo, you now have a shortcut to take you straight there.

Terminal Server FTP without admin rights

I’ve just found myself needing to FTP some files to a clients site. The file are in the data directory on our company’s terminal server (which I don’t have admin rights on) and I need them on a SQL Server for a client.

I do have access to a FTP Server but the first step is to get the files up to the FTP Server then download them to the client site. Yes, I could use the command line tool ftp but that is just too painful at this time of day (read: night).

Thus a quick google turned up this: AnyClient – The Free No-Install FTP Client.

It is a java applet. What a lifesaver, nice gui (similar to Filezilla, which is my choice of FTP clients). Anyway, AnyClient is quick and easy to use. Just thought I’d share the find.

Oh, and of course, no admin rights needed, as there is no program installing. Yay!

Catch this train

A good friend of mine, John Cantarella, has been using the training courses provided by Train Signal. I’ve had a look over his sholder at some of this stuff and it’s fantastic.

The Microsoft Small Business Server 2003 R2 training is ‘informal’ in the sense that it actually feels like your in the same room with the guy, him telling me how it all fits together.

I wish I’d had something like this two years ago…. ;-)

Thanks to John for letting me take a look at it – he was able to show me some stuff I didn’t yet know.

What version of SQL Server is running?

[update: SQL2005 versions more info here]

To find out what version of SQL Server your running, do this:

From the command prompt on the SQL Server itself,

osql -E -S %computername%

This will give you a SQL prompt, at which you do the following:

1>exec master..xp_msver 'ProductName'
2>exec master..xp_msver 'ProductVersion'

This gives you two bits of information, (1) the Product Name & (2) the Product Version – which requires some interpretation, note them both. But first, at the SQL prompt, type quit.


The table below will help determine exactly what SQL Server is running.

2005.90.1399 – SQL Server 2005 RTM
2005.90.2047 – SQL Server 2005 Service Pack 1
2005.90.3042 – SQL Server 2005 Service Pack 2
8.00.194 – SQL Server 2000 RTM
8.00.384 – SQL Server 2000 SP1
8.00.532 – SQL Server 2000 SP2
8.00.760 – SQL Server 2000 SP3
8.00.760 – SQL Server 2000 SP3a *note below
8.00.818 – SQL Server 2000 SP3 w/ Cumulative Patch MS03-031
8.00.2039 – SQL Server 2000 SP4
7.00.1063 – SQL Server 7.0 Service Pack 4 (SP4)
7.00.961 – SQL Server 7.0 Service Pack 3 (SP3)
7.00.842 – SQL Server 7.0 Service Pack 2 (SP2)
7.00.699 – SQL Server 7.0 Service Pack 1 (SP1)
7.00.623 – SQL Server 7.0 RTM (Release To Manufacturing)
6.50.479 – SQL Server 6.5 Service Pack 5a (SP5a) Update
6.50.416 – SQL Server 6.5 Service Pack 5a (SP5a)
6.50.415 – SQL Server 6.5 Service Pack 5 (SP5)
6.50.281 – SQL Server 6.5 Service Pack 4 (SP4)
6.50.258 – SQL Server 6.5 Service Pack 3 (SP3)
6.50.240 – SQL Server 6.5 Service Pack 2 (SP2)
6.50.213 – SQL Server 6.5 Service Pack 1 (SP1)
6.50.201 – SQL Server 6.5 RTM

You will notice that there is SQL Server 2000 SP3 and SP3a both have the same version number. Some software providers require at least SP3a (i.e. some MYOB products). So how does one tell the difference between the two?

By finding the file SSNETLIB.DLL and right clicking it, and checking the version number. If the version number of this file is 2000.80.760.0, you have SQL Server 2000 SP3. If the version number of this file is 2000.80.766.0, you have SQL Server 2000 SP3a.

This file is normally found in one of these two locations:

  • Default instance: C:\Program Files\Microsoft SQL Server\Binn\Ssnetlib.dll
  • Named instance: C:\Program Files\Microsoft SQLServer\MSSQL$<InstanceName>\Binn\Ssnetlib.dll

Of course, Microsoft have more to say and you can find it at: www.support.microsoft.com/kb/321185

Moving computers around OUs

I’ve had this snippet hanging around as a draft for some time, here it is.

Moving comptuers around OUs (Organisational Units) can be a pain if you can’t find the computer you want.

To find a wayward computer open up Active Directory, right click on your local domain name, select find, change the scope to show computers, type in the name you are looking for and bingo, you’ve found it.

From here you can right click the computer name and move it to the OU you want it in.

Brisbane launch of HEROES happen {here}

I went along to the launch earlier this evening of the Microsoft Server 2008 HEROES happen {here} launch.

Yes it is one month after the offical launch, but tonight I hear more about Small Business Server 2008 and Essential Business Server 2008, both of which have some good features and product inclusions and exclusions.

I take my hat off to one of the presenters, Robbie Upcroft, for his honesty and candor. It was refreshing to see coming from Microsoft. We had some questions for him regarding x64 Exchange 2007 vs x32 Exchange 2003 – as some third party vendors are dragging the chain (read: some LOB application providers are still using 16 bit code in applications), hence could we use SBS 2008/EBS 2008 and use Exchange 2003 instead of Exchange 2007. Answer, yes.

All in all a great evening which helped confirm the direction in which MS is headed with this product set.

Ubuntu VPN goodness

I’m now running Ubuntu 7.10 on my personal laptop (it dual boots with MS Vista Ultimate, but defaults to Ubuntu). Of course I want to do it all, including connecting to MS Windows VPN’s.

The short set of instructions over at tipotheday were spot-on.

My only addition would be to have the Ubuntu 7.10 install CD (or ISO) handy. Personally I used the command line (CLI) version, worked a treat.

Downgrade Vista to XP?

Yup, you can.

Microsoft Vista Business & Vista Ultimate come with ‘Downgrade’ rights.

IBM have a page explaining the process, as do a number of other suppliers.

Why would you want to? Well one client I have is about to purchase some new workstations, rather than upgrade all the other workstations to Vista, or have some running Vista and some running XP, it makes sense for all workstations to be on the same OS, with the same apps. By downgrading to XP now, and having the right to revert back to Vista later makes for an easier transition now.