Search This Blog

Monday, 29 August 2011

Windows, OSX and Linux fonts and CSS

I was trying out our new helpdesk and how it looks in different browsers and I noticed when I used Ubuntu it did not have the right font. Now we have the font Century Gothic as our brand font and our helpdesk displays this using CSS, however this font is not installed in Ubuntu by default so it picked the next font available which was Georgia and this just did not look right.

So how do you work around this? Well one is to know what the default fonts are in Windows, OSX and Linux.

This page has all the information you need.

I noticed that the equivalent font in Ubuntu is URW Gothic L and so I amended our CSS to use this font if Century Gothic is not found. The CSS is below

#top-menu {font-family: Century Gothic, URW Gothic L, Georgia, Times New Roman, Times, serif;}

Sunday, 28 August 2011

Determine SQL Server version

If you need to determine what version of SQL Server is running just make a new query as follows

select @@version

Then you can look the version number against this Microsoft KB

Saturday, 27 August 2011

Small Business Server 2011 Sharepoint Foundation Event ID 70

Microsoft has changed a few things in Sharepoint for version 2010. One of them is how it is patched and updated. It is now a two step process, you use Microsoft Update for the update and then you have to manually upgrade the database from the command line.

So how do you know if you need to do this? Well its likely in your event logs you have seen Application Log Event 70 Sharepoint Foundation Search.

The mount operation for the gatherer application 08dd5186-9d3a-4ded-ac19-b626c26e3208 has failed because the schema version of the search administration database is less than the minimum backwards compatibility schema version supported for this gatherer application. The database might not have been upgraded.

If so you will likely need to upgrade your database, you can double check this by using some Powershell. Open the Sharepoint Management Shell and run this line

(get-spserver $env:computername).NeedsUpgrade

If this returns True then you need to upgrade the database.

Right so now you need a standard elevated command here.

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN

Run this command

PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

The database is now upgraded for you and the Sharepoint upgrade is complete.

Remember Small Business Server 2011 is aimed at non IT folk, really Microsoft what are you thinking?

Small Business Server 2011 Post Install Errors

When you install a new SBS Server 2011 you will find a fair few issues in the event logs, a number of these are benign and you can ignore them. Microsoft has a KB on this that is well worth a read and then you can ignore these in your event log monitoring application. You do have a Managed Services application don't you?;en-us;2483007

Is it the Cloud that is hurting SME IT Support Providers?

There is a lot of talk now at the small business level about the "cloud". Those in the world of IT have known about this for some time but it has finally filtered down to the business owner who has heard wonderful things about 24/7 computing and how "it" never fails.

If your business sells on premise solutions and support/maintenance post sales then surely this is your death knell sounding isn't it? After all who needs Small Business Server and Microsoft Office when we have Google Mail and Office 365.

Well perhaps this might be true for some, I have seen some of our customers move to this type of solution, but to be fair they were mostly consultancy level business with maybe three or four employees. Is a cloud based service better for them and save them time and money because they have no on premise server to worry about and less support costs to pay for? The answer is yes!

Now don't get me wrong, I do not want to lose customers, far from it. What I want to do is always recommend the best solution for my customers and if that means for some of our smaller customers recommending a cloud solution because it is best for them then we will do it. The value comes in that we offered the best solution and people talk to people, word gets around that we do what is needed for our customers and that brings in new business, business that does need our helpdesk, our managed services, our great customer service.

So we thought if people want hosted email, hosted SharePoint, no backups to worry about and 24/7 uptime why don't we provide it too? So we do.

We can offer our customers who want a hosted solution, one that is designed for what they need. Many big cloud players are very much out of the box stuff and our customers have custom needs and these change all the time, they need techs who know what to do and how to do in like it was yesterday.

Want Exchange in the cloud? Keep SQL on premise for MRP? Managed Services for Anti Virus, Internet Threat Protection and Computer Theft Tracking? Yes we can do all this, Google cannot offer this and nor can Office 365.

The cloud is awesome and I use it all the time, our helpdesk is cloud based, so is our project management and CRM. Our email and Sharepoint is on premise. We have a mixture and its likely you will too.

You can have your cake and eat it with the cloud and on premise, you just have to know which slice goes where.

Friday, 26 August 2011

How to tell which version of Exchange 2007/2010 you are running

This is a good thing to know so you can work out what Update Roll-up or Service Pack you need to apply. It uses the awesome EMS.

Get-ExchangeServer | fl name,edition,admindisplayversion

Exchange Server Service Packs & Build Numbers

If you need to support users with Mac OSX then it good to know what version of Exchange Service Pack and build you have.

This is all information Microsoft publish but they kind of hide it away so here it is.

Saturday, 20 August 2011

Microsoft Volume Licencing Centre

At last the the Microsoft VLSC site has been updated and now resembles something you can work with, at least for getting your downloads and product keys. I have not yet tested for registering a licence so lets hope that has been improved too as it was such a faff before with all the Windows Live accounts that you had to create to just be able to register a licence for your customer.

Friday, 19 August 2011

How to create Performance Alerts in Windows 2008

We use these to either notify with our Managed Services application or to fire off a event when a performance trigger is trapped.

You can configure alerts to notify you when certain events occur or when certain performance thresholds are reached. You can send these alerts as network messages and as events that are logged in the application event log. You can also configure alerts to start applications and performance logs.

To configure an alert, follow these steps:

1. In Performance Monitor, under the Data Collector Sets node, right-click the User-Defined node in the left pane, point to New, and then choose Data Collector Set.

2. In the Create New Data Collector Set Wizard, type a name for the data collector, such as Processor Alert or Disk IO Alert.

3. Select the Create Manually option, and then click Next.

4. On the What Type Of Data Do You Want To Include page, select the Performance Counter Alert option, and then click Next.

5. On the Which Performance Counters Would You Like To Monitor page, click Add to display the Add Counters dialog box. This dialog box is identical to the Add Counters dialog box discussed previously. Use the dialog box to add counters that trigger the alert. Click OK when you have finished.

6. In the Performance Counters panel, select the first counter, and then use the Alert When Value Is text box to set the occasion when an alert for this counter is triggered. Alerts can be triggered when the counter is above or below a specific value. Select Above or Below, and then set the trigger value. The unit of measurement is whatever makes sense for the currently selected counter or counters. For example, to generate an alert if processor time is over 95 percent, select Over, and then type 95. Repeat this process to configure other counters you’ve selected.

7. On the Create Data Collector Set page, the Run As box lists to indicate that the log will run under the privileges and permissions of the default system account. To run the log with the privileges and permissions of another user, click Change. Type the user name and password for the account, and then click OK. User names can be entered in domain\username format, such as cpandl\williams for the Williams account in the Cpandl domain.

8. Select the Open Properties For This Data Collector Set option, and then click Finish. This saves the data collector set, closes the wizard, and then opens the related Properties dialog box.

9. By default, logging is configured to start manually. To configure a logging schedule, click the Schedule tab, and then click Add. You can now set the Active Range, Start Time, and run days for data collection.

10. By default, logging stops only if you set an expiration date as part of the logging schedule. Using the options on the Stop Condition tab, you can configure the log file to stop automatically after a specified period of time, such as seven days, or when the log file is full (if you’ve set a maximum size limit).

11. Click OK when you’ve finished setting the logging schedule and stop conditions.

Troubleshooting Issues with Companyweb and SBS 2011

As with all new products, some things do not work out of the box. SBS 2011 is one of them.

Look at this blog post from Windows SBS on two common issues with Companyweb and what to do.

Blocking Credit Card numbers with Exchange 2007/2010

As part of the PCI compliance legislation in the UK we have been asked to block all incoming emails that contain credit card numbers to one of our customers. We cannot receive any emails that contain numbers so we knew we had to block them before they were delivered to the server and not filter them once they had been accepted.

This can be achieved with the Exchange Transport Rules.

Transport Rules allow for pattern matches on certain characters on messages that are routed through Exchange, full details of this can be read here

Credit card numbers have a certain format, Visa and Mastercard use 16 digits in blocks of 4 starting with a 4 and 5 respectively so

4xxx xxxx xxxx xxxx
5xxx xxxx xxxx xxxx

Discovery uses 16 digits in a block of 4 starting with 6011 so

6011 xxxx xxxx xxxx

AMEX uses 15 digits in blocks of 5,6 then 4 starting with a 3 so

3xxxx xxxxxx xxxx

To match these with a rule we need to use several pattern matches.


The matches here are \d for any numeric character, \s for a white space so these match for the following


This is great but we need to match for people using spaces, periods or hyphens so we need to increase the pattern match to account for this.


This match uses the parenthesis () to distinguish choices that can be made mid match so if we need to match four numbers and then a space, period or hyphen we can see this as

\d\d\d\d - Match 4 numbers
(\s|.|-) - Match either a space, period or hyphen

Note the use of the pipe character | here this is used as an OR in the match statement to choose the different type of character.

Now using this we can match for any variation of character that distinguish 16 digits and then add different matches for the 15 digit cards from AMEX.


All you need to do now is take some action when the match occurs, in our case we reject the email with a custom message and the SMTP code 5.7.1

Thursday, 18 August 2011

Thank Customer Service People, they will appreciate it!

If you work in customer service and by that I mean on the first line of support on the telephone or email, you are the first person an upset customer or a person with a problem will speak to. (it can be argued that everyone in your business is in customer service but that is for another time)

So if you are about to speak to someone with a problem, they are likely to already be thinking "I don't like this company and I am going to tell them", they are probably thinking who they can change to and leave you.

This is your chance to make a difference and to bring them back around without the need for a "retention" department or any of that crap.

I will give you an example of great customer service. Orange UK. Now I moved my business phones to Orange about six months ago and ever since then I have had all our phone calls cut off after a few minutes or drop when we are in the middle of an important call so as you can imagine this drove us mad and was not what we needed.

But this was a technical issue, I suggested it was linked to a merger with another provider but I digress. The real issue is that I decided to move back to my original carrier O2 and so I called the customer services to start the process of moving back.

Orange UK customer services were awesome about this, they understood my problem, didn't try to change my mind and listened. Then when I needed to get my PAC codes and iPhone unlock codes they did everything they could to help me out. The Call Centre is based in Newcastle Upon Tyne and so I got a Geordie most times and they do tend to be a friendly lot to speak to.

What mattered to me was that although Orange Service was not up to par their customer service was and I know that technical problems can be solved and they often are, so in the future I would not be put off moving back to Orange because I know that once the technical issues are resolved they will have a great service and a awesome customer service and thats a killer combination.

Make customer service everything, technical problems come and go, people know this, not caring for your customers can be a once only deal and you might not get the chance to do it twice.

Monday, 15 August 2011

SQL Server Maintenance Plan "Access Denied"

Sometimes you might find your SQL Server maintenance plans do not run and when you look in the history you can see that the message "access denied" is displayed. When you look at the Job however it has the correct Owner is assigned to the Job.

The NETWORK SERVICE account is the key to this behaviour, it will be the this account that executes the Job and this account that may not have the permissions to the destination you need.

So just make sure you allow NETWORK SERVICE to Write permission to your destination and your SQL Jobs will run again successfully.

Thursday, 11 August 2011

2x Thin Client PXE Boot Issue - TCAC008

We use the 2x Thin Client from it is a really cool PXE booting Thin Client for Terminal Services and Citrix. It has been working at our clients for months without a hitch but his morning all our users had this message displayed on their computers when starting up.

We searched the 2x Knowledge Base and could not find this error and it is not in the manual either so we were a but stumped.

Then we got a call from another office that they had the same issue. The penny dropped it must be something used at each site, the licence!

We checked and the licence we had entered was lost in the back end server application, we re entered the details and we were back in business.

Tuesday, 9 August 2011

Vmware Data Recovery Performance

We use VMWares Data Recovery as a backup for our vSphere infrastructure, now I know a lot of people do not consider this a robust backup solution and use other agents for that role, we had to make do with what we had in this case and make this work for us.

As an application when it works, it works well and I can restore a server to a point in time and I can mount restore points to replace files that have been changed, usually I use Shadow Copy for this but there are those users who have changed a file months ago or need it for a retention reason.

The problem with DR comes with the Integrity Checks and Catalog of the DeDupe Storage, I use 1TB VMDK files on NFS NAS because I need to store multiple backups and DR only supports two destinations at once so I need to get the most out of them in terms of capacity.

Often I will find my backups have failed because they have exceeded their time window due to the destination running a daily Integrity Check and the check on a 1TB NFS VMDK takes a long time to finish.

So what can be done, well one is to try to limit the Integrity checks to once a week and this can be done by editing the Data Recovery Appliance from the Linux console.

So the first thing to do is to logon to the appliance so open the appliance from the console and use the default credentials of "root" and "vmw@re" But be aware the keyboard may well be mapped to US so the @ symbol will actually be the " on a a UK keyboard.

Once logged on you can then create the INI file with the command

vi /var/vmware/datarecovery/datarecovery.ini

In this file you can then add the header [Options}

Then to change the Integrity check Interval enter on its own line


To close the file and save enter :q!

There are multiple other options available and you can read about those here

Sunday, 7 August 2011

Post SBS 2011 Post Installation Known Errors

There are several errors post a SBS 2011 installation that can be safely ignored. Here they all are

SidebySide errors on your Windows 2008 R2 Servers

If you start seeing a lot of Event ID 33 errors in your Application Logs on a Windows 2008 R2 Server then you will want to read this KB article.

It is nothing to worry about but is notification of security when using the Command Prompt.

Sharepoint Foundation Application Log Event 2137

I have a few customers with SBS 2011 and this is now shipping with Sharepoint Foundation Server 2010. When you perform Windows Updates on SBS 2011 it will no longer upgrade the Sharepoint Databases automatically for you and as a result you can leave your Sharepoint Databases in a unsupported state. This when you see the Event ID 2137 in the application log.

So here is what you need to do.

Patching SharePoint is a two-step process. The updated binaries are first installed and then psconfig must be run to update the SharePoint databases. SBS 2008 uses Windows SharePoint Services 3.0 and updates automatically run PSconfig when installed via Automatic Updates or Windows Server Update Services. SharePoint Foundation 2010 changes the method in which patches are installed. PSconfig no longer runs automatically after an update is installed. The SharePoint binary files are updated with the patch but the databases are not automatically upgraded. SharePoint runs in a compatibility mode that still allows the sites to function with the older version databases. The SharePoint Health Analyzer will scan the databases every night at midnight to determine if an upgrade is required. If the SharePoint Health Analyzer detects an upgrade is required, it will log the following error in the application event log:

Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Foundation
Event ID: 2137
Task Category: Health
Level: Error
User: CONTOSO\spfarm
Computer: CONTOSOSERVER.contoso.local

Description: The SharePoint Health Analyzer detected an error. Product / patch installation or server upgrade required. All required products must be installed on all servers in the farm, and all products should have the same patching and upgrade level across the farm.

Upgrade is required on server CONTOSOSERVER. Without the upgrade, the server is not in a supported state.

On server CONTOSOSERVER, once all required products and/or patches are installed, perform an upgrade by either running PSConfigUI.exe or by executing the command "PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures". If a former upgrade attempt has failed, you may need to resolve upgrade specific issues before attempting upgrade again. Refer to the upgrade status page (http://contososerver:19158/_admin/UpgradeStatus.aspx) for information about current and prior upgrade attempts, and to determine issues that may be preventing upgrade from succeeding. For more information about this rule, see "".

In order to update the SharePoint databases, you must manually run the PSconfig utility. To run the utility:

1. Open an Administrative command prompt.
2. Change directory to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
3. Run PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

Note: The Companyweb site will be inaccessible while the command is running. It is best to run the command after business hours. The amount of time the command takes to run will vary on the size of the database and the speed of the machine. On a reference machine with 8 logical processors, 32GB of RAM and a 2GB content database, the command took approximately 5 minutes to execute.

The SharePoint configuration wizard will launch and perform the configuration tasks. When the command is finished, you should see the following message:

Successfully completed the SharePoint Products configuration.
Total number of configuration settings run: 6
Total number of successful configuration settings: 6
Total number of unsuccessful configuration settings: 0
Successfully stopped the configuration of SharePoint Products.
Configuration of the SharePoint Products has succeeded.

For additional information on SharePoint Foundation 2010 patches see the following TechNet site: