Command line terminal server

I’ve just come across a terminal server that wouldn’t let me log on. Turns out the maximum number of users the terminal server is licensed for has been exceeded.

Thusly, from another machine on the network, we open a command prompt and type
qwinsta /server:<servername>

This will give a list of the terminal server sessions on that server, note the ID number (aka sessionid) as we use them in the following commands.

We can reset a session by using
rwinsta <sessionid> /server:<servername>

or we can disconnect the session with
tsdiscon <sessionid> /server:<servername>

or we can logoff a session with
logoff <sessionid> /server:<servername>

Dan Rigsby has more info as does Scott Forsyth.

Turn off Enhanced Security

Just had need of this article, method #2 describes how to turn of Microsoft Internet Explorer Enhanced Security Configuration.

When SharePoint barfs

A client has a SharePoint installation that has died, with all their project files and data in it.

In the course of searching for how to resurrect it, I’ve found the following that seem to be things that others may well benefit from:

Possibly the biggest lesson here is to ensure that if your using SharePoint, make sure you back it up PROPERLY, ALL OF IT.

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.

Email error codes

Ever got an email message saying something like this?
This is an automatically generated Delivery Status Notification.
THIS IS A WARNING MESSAGE ONLY.
YOU DO NOT NEED TO RESEND YOUR MESSAGE.
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.

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'
3>go

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.

1>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

Will Microsoft support it?

Ever wondered when support for a Microsoft product will end? For example, ever wonder when support for Windows 2000 Professional will end?

Wonder no more, because from this link, support.microsoft.com/gp/lifeselect you can drill down to your product, and see if it still has mainstream support, extended support or none at all.

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.