What version of WSS/MOSS are you running?

I am preparing to install the new Infrastructure update that has been made available recently and wanted to find out what versions I am currently running. A post on the blog of Aaron Saikovski showed a nice table to determine the versions:

Remember that you can find these version numbers in Central Administration -> Operations -> Servers in Farm (/_admin/FarmServers.aspx)

Quick field reference – MOSS 2007/WSS V3.0 Version guide by Aaron Saikovsky

Here is a quick table for those who want to find out what version of WSS/MOSS you are currently patched up to:

Service Pack/Hotfix Version WSS V3.0 MOSS 2007

Infrastructure Update (KB951695 & KB951297)

Post-SP1 hotfix (KB948945)

Post-SP1 hotfix (KB941274)

Post-SP1 hotfix (KB941422)

Service Pack 1

Release To Manufacturing (RTM)

Warning: You are reading the blog of a MCTS on MOSS 2007!


you are reading this right, I finally found the time to take the exam MCTS: Micosoft Office SharePoint Server 2007, Configuring.
And guess what, I passed with a perfect score of 1000. The exam had 51 (easy) questions and you need a passing score of 700.

It was fun to notice that most of the hard questions concerned topics that can be found on my blog [H]. (E.g. Which xml file should you edit to change the email notifications….)

If you are administering MOSS for a while now, then go take the exam and just go through the Central Admin website to prepare yourself. I found only about 4 questions that were challenging, the rest is quite easy.

Host Header based site collections

This post is all about being able to host multiple domains in one web application and separated on a site collection level. And all this without touching the IIS configuration in IIS Manager.

A colleague of mine told me today about the -hhurl parameter for the stsadm -o createsite command. Again until today, …never heard of it, but man is it great! [;)]

Let me explain with an example:

I create a web application on my testserver with a url of http://hosting.mydomain.com. So if I go into Central Admin now, I can only see one web application with this url. If I want to create a site collection in this web application with a url http://www.myotherdomain.com, then I can create this site collection with the following command:

stsadm -o createsite -url http://www.myotherdomain.com -owneremail [email protected] -ownerlogin Mydomain\myuser -hhurl http://hosting.mydomain.com/myotherdomain

Assuming that I have created the necessary DNS records for www.myotherdomain.com, pointing to my WSS (and even MOSS) server, I can navigate to this URL and find my new site collection asking me to pick a site template because I did not specify it in my createsite command.

If now, I go into Central Administration and list the site collections for the web application hosting.mydomain.com, I can see an entry with the name www.myotherdomain.com

As curious as I am, I went into IIS manager to find some trace of this new domain in the hostheader settings and I was surprised not to find anyrthing there. So how is IIS able to cope with this? Probably the SharePoint API is picking any requests for this domain up and returning the SharePoint site.

So I went a little further on this and experimented a little with IIS:

What if I create a website in IIS with the hostheader www.myotherdomain.com?
The anwer: the IIS website is now returned instead of the SharePoint site…so IIS takes precedence over the SharePoint site?

What if I now stop the IIS website and leave the configuration in IIS of this website?
The answer: the SharePoint website is back !

This makes me see a cool new feature. I can setup a IIS site with for example a Maintenance message explaining that the www.myotherdomain.com website is down for maintenance and simply start this website when i need to do maintenance on the SharePoint site. After the maintenance stop it, and voila.. SharePoint is back.

If you find all this interesting, then I should point you to the Plan for host-named site collections document on Technet

At least I had a lot of fun playing with this. I hope you do to.

Modify the visible Groups in the quick launch on the People and Groups page

Learned something new today, hoeray [;)]

Do the groups that you never use (Hierarchy Managers, Style Resource Reader, Designers etc)  and that show up on the quick launch on the People and Groups page bother you as well? Is it not much nicer to only see the groups you need and also keep it much simpler for your site owners?

Well, apparently you can edit the groups you want to see in that quick launch section by navigating through the Settings of any SharePoint group and selecting “Edit Group Quick Launch“.

When you select this option, you are presented with a text box, that allows you to remove or add any SharePoint group that should appear in the Quick Launch of the People and Groups page. You will usually only want to show the site’s Visitors, Members and Owners group, right? So only leave those ones in there and delete the rest of them. Remember that you can always find the groups by selecting the More… option in the quick launch afterwards.

For some reason I must have overlooked this default option …. Who has time to run through all the menus anyway? [:P]

Is your IIS Manager empty on your SharePoint servers?

Okay, this is maybe already known out there for quite a while, but I am putting this on my blog anyway.

You may experience that the IIS Manager console is empty when opening it up. This is because IIS has too many threads connected to it. Usually these threads are taken up by the Timer service. An easy workaround for this issue is to simply execute iisreset.exe. After the reset you can open up IIS Manager again.

Additionaly, when this problem is occuring, you may find the following events in the Applications log:

– Event ID 6398
– Event ID 6482
– Event ID 7076

A definite fix to this issue can be found by installing the hotfix as described in KB946517

IIS management commandline tools

Hi all,

One of my MOSS frontend servers, part of a multi-frontend server farm, faced a well-known issue that causes the IIS Manager console to open up empty. In case you have this issue you can temporarily workaround this by performing an iisreset on the system. In my case I could not simply perform a iisreset, because the corporate website is running on it. We do have a NLB device in front of our frontend server that uses a website on all frontends for probing. If we need to disable a frontend, then we need stop the probing website in IIS and the NLB automatically disables the front end in its config. So all I needed to do is stop the probe website. How do you do that without IIS Manager ???

The solution lies in the IIS 6.0 commanline tools. I must admit that until today I had only used iisreset and I was unaware of the other tools.

Here is the list of tools as found at http://msdn.microsoft.com/en-us/library/ms525006.aspx

AdsUtil.vbs is a popular tool because it is the most versatile, and it can be used on so many versions of IIS.AdsUtil.vbs uses ADSI to set, delete, create, and enumerate properties, find paths, and control the IIS server. One helpful parameter is ENUM_ALL, which enumerates the entire IIS configuration.AdsUtil.vbs cannot display properties of types IPSec, Binary, or NTAcl.AdsUtil.vbs does not display secure properties such as passwords.
(applies to IIS 4.0, IIS 5.0, IIS 5.1, IIS 6.0) 

ChAccess.vbs is used to set access permissions at metabase nodes. These access permissions include the AccessRead, AccessWrite, AccessScript, and AccessExecute flags of the AccessFlags property, and the EnableDirBrowsing flag of the DirBrowseFlags property.
(applies to IIS 5.1) 

SyncIwam.vbs is used to update the launching identity of all IIS COM+ application packages that run out of process.There are certain operations that may cause the IWAM account, which is the identity under which out of process IIS applications run, to become out of sync between the COM+ data store and IIS or the SAM. On IIS startup the account information stored in the IIS Metabase is synchronized with the local SAM, but the COM+ applications will not automatically be updated. The result of this is that requests to out of process applications will fail.For more information, open SyncIwam.vbs in Notepad to view the comments.
(applies to IIS 5.1, IIS 6.0) 

IISReset.exe is used to safely start, stop, enable, and disable the IIS services. Always use the /NOFORCE option when stopping or rebooting an IIS server.
(applies to IIS 5.1, IIS 6.0) 

ConvLog.exe is used to convert log files to NCSA format. It can also replace IP addresses with Domain Name System (DNS) names during conversion, or it can be used to replace IP addresses with DNS names inside an NCSA Common log file. You can also use ConvLog.exe to convert time offsets.
(applies to IIS 5.1, IIS 6.0) 

IIsApp.vbs is used to list worker processes. Given an application pool identifier, it an report all of the process identifiers (PIDs) currently running w3wp.exe processes.IIS must be running in worker process isolation mode.This tool uses WMI. It cannot be used to configure a remote IIS server.
(applies to IIS 6.0) 

IIsBack.vbs is used to backup the metabase, restore the metabase, delete backups, or list all existing backup files.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0) 

IIsCnfg.vbs is used to import, export, copy, or save the IIS metabase configuration information, in whole or in part.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0)  

IIsExt.vbs is used to manages Web service extensions. When IIS is installed, only HTML Web content is allowed to be served. ASP, ASP.NET, CGI, and ISAPI applications must be enabled.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0) 

IIsFtp.vbs is used to stop, start, pause, delete, or query the FTP service, or create an FTP site.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0) 

IIsFtpdr.vbs is used to create, delete, or query and FTP virtual directory or directory.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0)  

IIsVdir.vbs is used to create, delete, or query and Web virtual directory or directory.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0) 

IIsWeb.vbs is used to stop, start, pause, delete, or query the Web service, or create a Web site.This tool uses WMI. It can be run remotely on any machine that supports WMI, but it must be passed the name of a server running IIS 6.0 or later.
(applies to IIS 6.0) 

I finally stopped the website with the following command: cscript.exe iisweb.vbs /stop Probe (where Probe is the name of my website to stop).

I thing though is that although the scripts are located in the %SYSTEMROOT%\SYSTEM32 folder, the script did not work outside of this folder. So go into system32 or specify the complete path to the vbs script in the cscript command.

Do your Web Parts need to access internet sites using a proxy?

I discovered today how to configure your web applications to use a proxy server for accessing internet sites. I had not thought about this until I deployed a site with a web part that retrieves information from the internet such as weather information, stock information, etc.

If you are facing the same issue, then your answer lies in the web.config file the Web Application that requires internet access.

You need to edit the web.config file and at the bottom of the file replace:

      <proxy autoDetect=”true” />


    <proxy usesystemdefault=”False” proxyaddress=”http://myproxyserver:8080″ bypassonlocal=”True” />

Now save the file and you’re good to go !

Simple trick this time, but it is still good to know. [8-|]

SharePoint Object Model by Martin Kearn

Martin Kearn put a nice image on his blog last Friday with a clear overview of the SharePoint object model and how these objects relate to each other.

You can see the original post @ http://blogs.msdn.com/martinkearn/archive/2008/07/04/sharepoint-object-hierarchy-how-it-all-fits-together.aspx

Because this image is quite large and the rendering on my blog will probably suck, you can load the complete image with this link

New SharePoint Admin and Management Tools by Joel Oleson

For those of you that are not subscribed to Joel’s blog (shame on you [H]).

This is one of a few Admin Tools that really help you batch changes.  This one appears to really be focused on batch changing site collections.  LOVE IT.  Thanks Zach, it’s about time 🙂  Just kidding.  I’m sure we’ll see more out of this Admin toolkit and we love what you’re doing so keep it up.


SharePoint Admin Toolkit


Batch Site Manager – Batch Locks, Moves, and Deletes for site collections in a nice GUI (100 at a time).


UpdateAlert – (STSADM extension) allows you to update alerts when your AAMs change (alternate access mappings or zones).


I looked at the white paper and highly recommend it for IT Pros.  Even if you don’t use the tool or don’t plan to, I was impressed by some good info on reference information on related STSADM commands with good resources related to the topics of Site Deletes, Moves, and Locks.  Move is very misunderstood.  This move is all about safely moving site collections between databases using timer jobs.  Very cool.  Don’t forget the commands that came in SP1 related to the STSADM command mergecontentdbs.  Good info there as well.  If you aren’t at that stage, it’s still a good reference… if you’re large you will eventually need to know this info.


Microsoft SAT SharePoint Cross Site Configurator 1.0 – For standardization and consistency of master pages, auditing, content types and more. What else do you want to use it for?


I love free tools, but sometimes you need to look for tools where you can even do more and get support.  Here’s some suggestions MOST of which are very NEW.  Even if you’ve looked, I suggest you look again at these released/supported tools.



DeliverPoint: Permissions is a new tool focused on user security and permissions in SharePoint.  It’s also a batch focused tool for making changes very pinpointed or in larger groups.  Moving, Deleting, Searching for User or Object permissions, and Cleanup/Dead Account Removal.  There’s a 14 day trial download.


AvePoint DocAve 4.5 SharePoint Administrator – Centralized multi farm administration of configuration.  “propagate configuration and security permissions to web applications, sites, folders, and lists in bulk, resulting in quicker time-to-value of each update.”  I got a demo of this from TJ in Dubai.  It was very impressive and I’d take a second look if you have or haven’t seen it.  There’s an eval copy on their site.


Quest Site Administrator – reporting on storage, usage, manage quotas and locks and enforce configuration and settings in “policies” in a centralized UI.  (Poorly named, it isn’t just site level managment it’s more farm wide management of sites.)


iDevFactory Universal SharePoint Manager – Centralized management UI exposing permissions, security, and easy console for managing settings and configuration.

stsadm -o enumusers explained – update

I came across some odd behaviour with the stsadm -o enumusers command. As it seems it does not enumerate the users of a site collection as expected. After doing some research I found a white paper from the guys of Mindsharp explaining this function as follows:

stsadm.exe -o enumusers -url <url> displays dead users, which is defined as users who no longer have a user account listed in the SharePoint profile database, but is still displayed in the site’s membership. For example, dead users can include users who have left an organization and have been removed from Active Directory. This parameter works on a site-x-site basis. the Enumusers command may also return the system Account (SHAREPOINT\system) shich is not a valid AD user”

The complete white paper about managing SharePoint using stsadm can be found here

I thought some of you would want to know about this.

As mentionned by Chris as a comment to this post,

“enumusers lists users on your site that have explicit permission levels set.  You will see these users listed on the permissions page (_layous/user.aspx), with their specific user permission level.” (http://technet.microsoft.com/en-us/library/cc263220.aspx)

I must say, that I will agree with Chris’ explanation and therefore must assume that the guys from Mindsharp were and are not. Stranegly enough their whitepaper stating this is still online. 

Thanks Chris [:D]