Update WSUS to show Windows 8 Computers as Windows 8 not Windows XP

If you have a server running Windows Server Update Services 3.0 SP2 (SBS 2003 / SBS 2008 / SBS 2011 etc) and you also have some Windows 8 clients that you have joined to the domain, they will probably show up in WSUS as Windows XP Clients not Windows 8!

To resolve this, please install the following patch from Microsoft:

http://support.microsoft.com/kb/2734608/en-us

Once installed, you should see the Windows 8 clients reported as Windows 8.

SBS 2008 / 2011 Disk Space Eaten Up By SharePoint SQL Log Files – How To Reduce The Log File Size

Having been asked to look at an SBS 2008 server with a 74gb C: drive partition that was regularly running out of space (4.5Gb left when I checked this morning) and after freeing up whatever I could using the usual methods of disabling WSUS log files and clearing out old logs etc using the following article:

http://blogs.technet.com/b/sbs/archive/2010/03/02/recovering-disk-space-on-the-c-drive-in-small-business-server-2008.aspx

I decided to see if there was something more that I could do that was slightly more permanent.

I downloaded Windirstat from Sourceforge and installed it onto the server and let it scan the C: drive of the server.

When it had finished scanning, I noticed that by far and above the largest amount of data on the C: drive was being eaten up by the Sharepoint Config SQL Database Log File – amounting to about 24Gb of disk space!  What the heck?

A quick poke around the internet landed me on the following link:

http://luka.manojlovic.net/2008/06/15/reduce-sharepoint-services-30-logldf-files/

Which allowed me to reduce the overall log files size to about 500Mb and the C: drive of the server now has a more satisfactory 27.9Gb of free space and is no longer sending me errors about the disk space running low, which is always welcome.

One slight issue I had when trying to look at the properties of the Database to change the Recovery Model to Simple was a lack of permissions and an error, but a quick search again landed me on this page:

http://www.sqldbadiaries.com/2010/08/24/property-owner-is-not-available-for-database/

Now I am by no means an SQL Guru, but I managed to work out how to change the Database Owner from NULL to SA by right-clicking on the Sharepoint_Config…………….. Database and choosing New Query.  Then just type sp_changedbowner ‘sa’ and press F5 to execute the command and bingo, the database owner has been changed and you can now look at the Database properties without seeing an error and thus you can complete the shrinking of the Log Files.

Hope that this frees up tons of space for you too.

Alan

SBS 2003 to SBS 2011 Migration Performed Remotely in Toronto Canada (from the UK)

Last night I started to perform a migration from SBS 2003 to SBS 2011 for a company in Toronto where Peter was going to be onsite to manage the migration from the local end.

The start time for me was 9:00pm (UK time) and prior to starting, I had asked Peter to make sure the SBS 2003 server was fully patched, had the Microsoft Baseline Configuration Analzyer tool installed (and to reboot the server afterwards), check that Exchange 2003 Service Pack 2 was installed and also that Small Business Server 2003 SP1 had been installed properly, something that quite often doesn’t get installed properly as it isn’t a simple download from Microsoft via Windows Update.

I also asked Peter to run a DCDIAG report (after installing the Windows Server 2003 Service Pack 2 32-bit Support Tools) to make sure that all was well and email me the results

The only item that needed fixing from the DCDIAG report was to set the Intersite Messaging Service to Automatic and Start the service, something that is quite often not set to Automatic on SBS 2003 from my experiecnce.

All being well, it was time to start the migration.  I asked Peter to insert the SBS 2011 DVD into the SBS 2003 server and then once fired up, we installed the Migration Preparation Tool (without installing any updates).

The SBS 2003 server was prepared happily, the Migration Answer File created and saved to a Memory Stick (USB Key) and then the server was rebooted.

It was then time to build the new server, and Peter had chosen an HP ProLiant DL360 G7 server (nice!).  To cut a long story short, there were a few problems with the build and after referring him to my other blog article here he happily created a bootable USB key with SBS 2011 on it and then rebuilt the server for a second time, this time more successfully.  Also on the USB Key with SBS 2011 as an .ISO image were the drivers for the RAID Controller and the SBS Answerfile.

After a few reboots and having changed the boot order so that the server would no longer boot from the USB Key after the initial Windows build, the server fired up into Migration mode and the Migration could start.

The settings chosen in the SBS Answer file were checked and verified, the Time Zone checked and verified (important to do this manually as the BIOS clock can be way off) and updates were not downloaded for the installation.

After a while, the server rebooted and we were logged in to the SBS 2011 server.  Time to create a new User as the Migration won’t work if you use the default Administrator account.

After the new Admin Account was created we logged off, then on again as the new user and fired up the SBS Console and clicked on the Migrate to Windows SBS link on the Home page.

Having created just a single partition, the first step of relocating the various components of SBS to another drive was skipped and we moved on to the Configure the Network Wizard.  With nothing much to do there apart from click a few buttons (DHCP was not on a router), the wizard completed and we moved onto the next step.

Configuring the Internet Address we selected the relevant domain name and changed the default prefix of ‘Remote’ to a preferred name and completed the wizard.  This failed initially and threw a few errors.  After a few minutes of head scratching and wondering why, I checked the Services and found a handful of Exchange ones not started!  After a bit of encouragement with my mouse, the services were started and the Wizard re-run, this time 100% happily.

At this point, it was time to pause the installation and visit Windows Update.  It was now about 5:40am (UK time) and caffeine had been working happily, but you need to draw the line somewhere and get some sleep, so having selected about 133 Windows Updates and kicked the updates off, I retired to bed as the world was waking up and the light outside was getting lighter 😦

We are planning to pick up the Migration again at 3:00pm UK time today and at the time of writing I am remotely connected to the server and busy installing a raft of other updates that are available and rebooting as and when required.  I have now done this about 3 times and the cupboard is now well and truly bare, so time for more caffeine and to wait for Peter to arrive on-site and then order the SSL certificate from www.exchange-certificates.com and get it approved before moving the mailboxes from the SBS 2003 server to the SBS 2011 server.

So, Peter arrived on site and we order a new SSL certificate from the site above, ran the New Certificate Wizard in the Exchange Management Console to generate a Certificate Signing Request (CSR), took the CSR to the certificate site and copied / pasted the contents into the relevant box and completed the certificate request process.  Now we just had to wait for the approval emails to arrive.  Prior to starting the migration, I had asked Peter to make sure that the Admin contact for the domain was still valid and that he had access to the email account that the Certificate Approval emails would be sent to – he was the Admin contact and thus we wouldn’t have any problems receiving and processing the Certificate Approval emails.

The next step in the migration was to move the mailboxes over from the old server to the new server and that is done via the new server using a “Local Move Request”.  We essentially highlighted all the User mailboxes and then clicked on the New Local Move Request.  We actually selected a few large mailboxes first and then the remainder which were smaller so that the larger ones started to be moved first.

Next was to move the Public Folders and that was simply a case of right-clicking the Public Folder Store and choosing “Move All Replicas”.  There weren’t many Public Folders so I expected this to be a quick process, but after an hour or so of watching the mailboxes move, the Public Folders hadn’t even started to move, so I checked the the SMTP Virtual Server settings and lo and behold, there was some Outbound Authentication that was set because they had previously setup a Smarthost on the SMTP Virtual Server (which I had already removed).  As soon as I removed the outbound authentication and restarted the SMTP Virtual Server, the Public Folders started to move over to the new server and after about 5 minutes, the Public Folder Instances were all empty 🙂

Next was to remove Legacy Group Policies and Logon Settings which essentially is the deletion of old SBS 2003 Group Policies and renaming the SBS_LOGON_SCRIPT.BAT file and removing references to it from ALL user profiles.

The next step in the migration was to setup a batch file to use Robocopy to copy all the User / Company data from the old server to the new server.  I looked at the shares on the old server and didn’t see anything that stood out as a Company Data folder, so asked Peter to identify the relevant data, which he did and I setup the batch file to copy the data he had identified as well as the User Data, which was obvious.

I decided to kick off the data copy batch file (run as Administrator) and then all we could do was sit and wait, so I suggested to Peter that he might like to go and have an extended lunch break and that I would monitor the Mailbox Moves and data copying remotely, then let him know when it was likely to have completed, so he could return to help with the final steps in the migration.

I emailed Peter and arranged for him to return to the office at 8:00pm Toronto time (1:00am UK time).  All the data and mailboxes had moved across by about 1:40am UK time so the next step was to Migrate Fax Data of which there wasn’t any, so we moved on to the next step which was to convert Users and Groups.  All users were assigned the new Standard User role and all Groups were selected and converted – all very simple stuff and quick to perform and by now, the finishing line was in sight.

Before removing Exchange 2003 from the SBS 2003 Server it was time to redirect port 25, 443, 987, 4125 and any other ports being used on the firewall to the new server.  Once completed, I could then remove the Routing Group Connectors that are installed to allow mail to flow between the Exchange 2003 and Exchange 2010 servers during the migration.

It was now time to remove Exchange from the old server by using the Add/Remove Programs, selecting the Small Business Server 2003 application and then running through the various screens until the installed options were visible, then setting Exchange to ‘Remove’ and finishing the wizard.  This process never normally removes exchange fully (in my experience), so I had to refer to an MS KB Article to manually remove the remaining components of Exchange (KB833396).

The final step is to run DCPROMO, but before we do, it is a good idea to check that the SBS 2011 Server is the holder of all FSMO roles.  I found a little file that allows me to do this without having to break sweat – don’t recall where it came from, but I am grateful to the creator.  You can download it from here dumpfsmos.zip.  Having run and verified that my FSMO roles were all held by the SBS 2003 server, I fired up DCPROMO and let it run, making sure I didn’t tick the box that says “This server is the last controller in the domain” as that would cause all kinds of havoc.

For some odd reason – every time I run this the first time, it always fails because the NETLOGON service has been stopped and it complains about it being stopped.  Well the DCPROMO process stops the NETLOGON service, so I am not sure why it gets confused, but it always does, so prepare for it to fail, then start the NETLOGON service up again and re-run DCPROMO again which on the 2nd time of running, will happily complete.

Once done, reboot the server, then login to the local server as the Administrator, using the password you specified during the DCPROMO process and once it is alive, shut it down and keep it handy in case you forgot to get some data from it.  MIGRATION COMPLETED!

The time that the migration was finished was about 3:30am UK time, so from start to finish, the entire process took about 30½ hours, but it has to be said that there was little data to be copied and the mailboxes were small.

The article that I used to guide me through the entire migration, which I will be asking Glen to tweak slightly with some items to make it even better than it is already can be found here.

If after reading it you don’t feel confident enough to tackle the migration yourself, I would be only too happy to assist you.  If you do feel confident enough then I hope your migration goes smoothly and completes quickly.

Alan

SBS 2003 to SBS 2011 Migration – 50Gb of Public Folders to Migrate took a week to migrate!

Having nearly completed yet another SBS 2003 to SBS 2011 Migration after the longest week of my life so far, I was amazed at how slowly the Public Folder Replica Move actually took to push 50Gb of data between the two servers.

Starting the project on a Monday and having the SBS 2011 server built by Monday afternoon (built virtually using Microsoft’s Hyper-V Server on a new HP ProLiant ML350 G6), I started to move the Exchange Mailboxes and then the Public Folder Replicas to the SBS 2011 server.  The network was originally running on a 10/100 Switch but I upgraded it to a Gigabit Switch on the Tuesday morning so that I had the maximum speed available and both servers had Gigabit cards in them.

At the end of the Tuesday, there were still dozens of Public Folders listed in the Public Folder Instances list in the Exchange System Manager, so I checked the SMTP Virtual Server Settings to see if there were any settings configured that might slow the process down and discovered several settings that would restrict the flow of emails.  The initial setting that I noticed was the “Limit session size to (KB):” setting.  This was limited to 40Mb and as some of the emails in the Public Folders were in the region of 30-40Mb in size, the session size was going to severely impact the flow of mail so I changed it to 1024000 (about 1Gb).

The other setting that I changed was the “Connection Timeout” value on the General Tab.  This was set to timeout after 10 minutes, so I increased the timeout to 2 hours, so that this wouldn’t cause any delays either.

I wasn’t unduly concerned at this point about problems with inbound mail and spammers clogging up the system as I had already installed a SAN/UCC SSL certificate (minimum 5 Domain Names) bought from www.exchange-certificates.com and had re-pointed port 25 to the SBS 2011 server.

So having made as many changes to the network and SMTP Virtual Server Settings (also restarting the Simple Mail Transport Service) I created a new Receive Connector on the SBS 2011 server to only receive mail from the IP Address of the SBS 2003 server and set the Maximum Message Size Limit to 50Mb and let the two servers talk to each other.

Sometime overnight on the Saturday after starting the migration, the whole 50Gb of Public Folders had migrated across to the SBS 2011 server and all the Public Folder Instances had disappeared!  A whole 5½ days later.

At one point during the PF Replication, I calculated that it was moving at about 500Mb per hour, so all in all, it was going to take in the region of 100 hours to move the entire database.

So – if you are planning a migration from SBS 2003 to SBS 2011 and you have a large Public Folder Database, don’t expect the migration to complete quickly.  Assuming the worst – a Public Folder Database with 75Gb of data in it, I would expect it to take about a week and a half just to push the data to the new server.

Happy migrating!

Schedule a Transport Rule to be Enabled or Disabled at a Specific Time of Day / Day of the Week

The Problem:

In Exchange 2003, you could configure Exchange to delay the sending of large attachments until after hours, which was very useful if you have users that don’t think twice before creating an email and attaching dozens of their most recent photographs in the email, then adding 20 or 30+ recipients to the email and hitting send – causing your Exchange server to go into melt-down as it tries its best to push all the emails out as quickly as possible.

So – having upgraded to Exchange 2007 or Exchange 2010 you may have discovered that this options doesn’t exist any more, so you may find from time-to-time that your Internet connection suddenly grinds to a halt and if you dig hard enough, you may find the problem is sitting in your outbound Queues on your Exchange Server.

So – what to do about this?

Half a Solution:

You can create an Exchange Transport Rule to force large emails to be approved (before they are sent out), by a Manager or a Moderator which at least enables the Manager / Moderator to have to Approve the email before they clog up the Exchange Queues but as we are now living in a 24×7 age, if you don’t want to have to approve / reject the emails in the evenings or over the weekend, there is no option in the Transport Rule to schedule the times that the Rule applies!  Quite frustrating, especially over a long weekend.

The Whole Solution:

The answer (well, my answer) to this is to create two Powershell Scripts, two batch files and a two Scheduled Tasks to Enable / Disable the Transport Rule at specific times (Disable after hours on Weekdays / Enable before work starts on Weekdays).

Start by creating a new folder on your Exchange server called Scripts on any drive you like (I will be using E:\scripts in my example).

Then open up Notepad and copy / paste the scripts below (one script per file) and then save the files as DisableTransportRule.ps1 and EnableTransportRule.ps1 in the E:\Scripts folder.

The PowerShell Scripts:

Disable Transport Rule:

# Script to Disable a Transport Rule
Disable-TransportRule “Rule_Name” -confirm:$false

Enable Transport Rule:

# Script to Enable a Transport Rule
Enable-TransportRule “Rule_Name” -confirm:$false

The Batch Files:

Open up Notepad and copy / paste the single line commands below (one command per file) and then save the files as DisableRule.bat and EnableRule.bat in the E:\Scripts folder.

Disable Transport Rule Batch File:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command “. ‘C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto; e:\Scripts\DisableTransportRule.ps1”

Enable Transport Rule Batch File:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command “. ‘C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto; e:\Scripts\EnableTransportRule.ps1”

Scheduled Tasks:

Open up Server Manager and Expand Configuration> Task Scheduler.  In the Actions Pane, click on Create Task…..

 

On the General Tab, Name the Task according to the rule you want to run e.g., Disable Transport Rule, then Select ‘Run whether user is logged on or not” and “Run with highest privileges”.

On the Triggers Tab, Click on New and Select “Weekly” and enable the days of the week you want the rule to run e.g., Mon to Fri.  Set the time you want the rule to run e.g., 18:00:00 hours and tick the “Enabled” box and click OK.

On the Actions Tab, Click on New and the default option is to Start a Program.  Leave this selected and in the Program/script: window, click on Browse and select ‘e:\scripts\disable.bat’, then in the Start in (optional): box, enter ‘e:\scripts’ and click on OK.

We don’t need to add anything to the Conditions Tab or the Settings Tab, so click OK and then enter the relevant username / password for the account you want to use to run the Scheduled Task as (usually an Administrator account).

Repeat the above for the Enable.bat file.

One last step:

Before these commands will run properly, you need to run the following command in the Exchange Management Shell:

Set-ExecutionPolicy RemoteSigned

This command allows Powershell to interact with the Exchange Management Shell.

Summary:

So – you should now have two Scheduled Tasks that Disable your Transport Rule at a specified time on specific days (mine are Disabled at 18:00:00 hrs Mon – Fri) and another Scheduled Task to Enable the Transport Rule at a specific time one specific days (mine are enabled at 07:30:00 hrs Mon-Fri), so now, after hours and at weekends, you won’t have to approve emails for your Exchange organisation and if someone sends out an email with large attachments to multiple users, there is less impact on the rest of the workforce.

Alan

SBS 2011 – Error moving Microsoft Sharepoint Foundation data location

If you are in the middle of migrating from SBS 2003 to SBS 2011 and are trying to move the Microsoft Sharepoint Foundation data location on the SBS 2011 server and receive the following error:

“An error occurred while attempting to move the Microsoft Sharepoint Foundation database”

Please check to see that the ports in use on the SBS 2003 server are 80 and 444.  I was just trying to move the location and it kept failing.

After a few searches with no useful information being found, I checked a couple of other SBS 2003 servers that I have access to and saw that the one I was trying to migrate was using port 81 and 444, so I changed the port to 80, stopped and started the website and then tried the move again and this time it completed.

Exchange 2007 & 2010 SSL Certificates

Having just installed Exchange 2007, Exchange 2010, SBS 2008 or SBS 2011, you are now probably at the stage of getting Exchange to work properly (Activesync, OWA, Outlook Anywhere and Autodiscover) and are debating whether or not to use the self-issued SSL certificate installed with the version of Exchange you have, or buying a 3rd party SSL certificate.

Well, for me – it is a no-brainer. I ALWAYS buy a 3rd party SSL certificate from www.exchange-certificates.com because I can buy one, request the certificate, approve the certificate, import it onto the server, enable it for SMTP, POP3, IMAP and IIS and then forget about it for at least 3 years (I always buy one for 3 years minimum) until it is time to renew the certificate.

Once the SSL certificate has been imported and enabled, ALL aspects of Exchange will work (Activesync, OWA, Outlook Anywhere and Autodiscover) and there won’t be any annoying popups in Outlook complaining about certificate issues.

With Exchange 2007 / 2010, the following names should be included in your SSL certificate:

mail.externaldomain.com (or whatever you prefer to use)
autodiscover.externaldomain.com
internalservername.internaldomain.local
internalservername

With SBS 2008 / SBS 2011 you should include the following names:

mail.externaldomain.com (or whatever you prefer to use)
autodiscover.externaldomain.com
internalservername.internaldomain.local
internalservername
sites

You will also need to setup a new A record in your Domains DNS records (external via your Domains Control Panel, not in your internal DNS records) called Autodiscover and this needs to point to the IP Address of your Exchange / SBS server.  If you can’t do this (and sometimes this is not possible), the alternative it so setup an SRV record and the following MS guide advises you how to achieve this:

http://support.microsoft.com/kb/940881

With Exchange 2003, a simple single name certificate was all that was required and these were much cheaper than the SAN (Subject Alternative Name) / UCC (Unified Communications Certificate) certificates, but sadly, these sort of certificates won’t work properly with Exchange 2007 or 2010.

Whilst some parts of Exchange 2007 and 2010 can be made to work without a 3rd party SSL certificate by tweaking the settings in Exchange, my personal recommendation is to save yourself the pain of doing so by spending the small amount of money it takes ($60 / £40 per year) and save yourself the hassle of trying to tweak Exchange and get all the settings correct. This can be time consuming (how much is your time worth to your company) and fiddly to say the least and the time spent / cost of fixing Exchange to make it work with the self-issued SSL certificate vs the small cost of buying and installing a SAN / UCC certificate is money well spent in my humble opinion.

Extract from Understanding the Self-Signed Certificate in Exchange 2007 :

Limitations of the Self-Signed Certificate

The following list describes some limitations of the self-signed certificate.

  • Expiration Date: The self-signed certificate is valid for one year from the date of creation in versions of Exchange 2007 that are earlier than Exchange 2007 Service Pack 2 (SP2). Self-signed certificates are valid for five years from the date of creation in Exchange 2007 SP2 or in later versions. When the certificate expires, a new self-signed certificate must be manually generated by using the New-ExchangeCertificate cmdlet.
  • Outlook Anywhere: The self-signed certificate cannot be used with Outlook Anywhere. We recommend that you obtain a certificate from a Windows PKI or a trusted commercial third party if you will be using Outlook Anywhere.
  • Exchange ActiveSync: The self-signed certificate cannot be used to encrypt communications between Microsoft Exchange ActiveSync devices and the Exchange server. We recommend that you obtain a certificate from a Windows PKI or a trusted commercial third party for use with Exchange ActiveSync.
  • Outlook Web Access: Microsoft Outlook Web Access users will receive a prompt informing them that the certificate being used to help secure Outlook Web Access is not trusted. This error occurs because the certificate is not signed by an authority that the client trusts. Users will be able to ignore the prompt and use the self-signed certificate for Outlook Web Access. However, we recommend that you obtain a certificate from a Windows PKI or a trusted commercial third party.

Self-Signed Certificates
When you install Exchange 2010, a self-signed certificate is automatically configured. A self-signed certificate is signed by the application that created it. The subject and the name of the certificate match. The issuer and the subject are defined on the certificate. A self-signed certificate will allow some client protocols to use SSL for their communications. Exchange ActiveSync and Outlook Web App can establish an SSL connection by using a self-signed certificate. Outlook Anywhere won’t work with a self-signed certificate. Self-signed certificates must be manually copied to the trusted root certificate store on the client computer or mobile device. When a client connects to a server over SSL and the server presents a self-signed certificate, the client will be prompted to verify that the certificate was issued by a trusted authority. The client must explicitly trust the issuing authority. If the client confirms the trust, then, SSL communications can continue.

Frequently, small organizations decide not to use a third-party certificate or not to install their own PKI to issue their own certificates. They might make this decision because those solutions are too expensive, because their administrators lack the experience and knowledge to create their own certificate hierarchy, or for both reasons. The cost is minimal and the setup is simple when you use self-signed certificates. However, it’s much more difficult to establish an infrastructure for certificate life-cycle management, renewal, trust management, and revocation when you use self-signed certificates.

Summary:
So – there you have it. If you want to have Exchange working happily and trouble-free, my best advice is to buy a 3rd party SSL certificate and www.exchange-certificates.com is about the cheapest place around that you can buy an SSL certificate for Exchange from (even cheaper than GoDaddy and they are pretty cheap already!).