All posts by Stuart Davey

Which Printer Driver – PostScript (PS) or PCL [How About Both!]

Printers are probably the biggest source of problems for most IT Admins.  Paper jams, low ink, leaky toner and streeky printing are just some of the joys you will often face.  Another common issue is slow or incomplete printing, what’s the answer to this equally common user woe?

Well your in luck because this is one thing you may be able to ensure is not an ongoing issue for your users.  Most printer manufacturers (i.e. Xerox, Canon and HP) offer Universal Print Drivers (UPDs) to tackle these very issues.

As a rule of thumb PostScript Drivers are best for printing from Adobe applications such as Acrobat (PDF) and/or other complex documents.  PCL Drivers are usually best for priting basic documents, Microsoft Word Documents (doc, docx) and Excel Spreadsheets (xls) to name a few.

You may find it best to install and share your network printer twice, one instance using the PCL Driver and the other using a Postscript (PS) driver.  You then just need to educate your users which printer instance to select from the printer list according to the document type they are dealing with.

Please feel free to comment on your own experiences

Microsoft Exchange 2007 and 2010 – Messages Queued For Delivery Powershell Script

I’ve been getting into Powershell in a big way the past few months and have put together a script to display the number of queued messages on a Microsoft Exchange 2007 or Microsoft Exchange 2010 Server.  Under normal conditions your mail queue should really be empty most of the time so lots of queued messages is indicative of a problem.


$GETMQFD = Get-Counter ‘\MSExchangeTransport Queues(*)\Messages Queued For Delivery’

$MQFD = $GETMQFD.CounterSamples |Select-Object CookedValue

If ($MQFD.CookedValue | Where {$_ -eq 0})


Write-Host $MQFD.CookedValue Messages Queued for Delivery




Write-Host “No Messages Queued For Delivery”



If you are using a Server Monitoring package such as GFI Max Remote Management then you can insert Exit Codes (i.e. Exit 1 or Exit 0).  This is placed after the output (i.e. Write-Host “No Messages Queued For Delivery”) to generate an onscreen error or success if one of the two conditions is met.

How to install Powershell ISE

Do you want to design, develop and test powershell scripts on your Windows Server?

If you are running Microsoft Windows Server 2008 R2 or Microsoft Windows Small Business Server 2011 then you will not be able to “right click” and select “Edit” you can however choose to run the script.

You need the Powershell Integrated Scripting Environment to be able to easily create, edit and debug your powershell scripts.

To install it just open Powershell, usually it is best to do this by “right clicking” your Powershell shortcut and clicking “Run as administrator”.  Once Powershell is open simply paste in the following text and then click “Enter” to start the install process


Import-Module ServerManager;Add-WindowsFeature PowerShell-ISE


You should now see “Powershell ISE” under Start Menu, Accessories and Windows Powershell.

Windows Kernel Power Event ID 41 Error

Windows 7 or Windows Server 2008 R2 may restart unexpectedly, you may get a brief glimpse of a BSOD (Blue Screen of Death) and then find yourself back at the Windows login prompt.  When you inspect the Windows Event Log you will find the following event logged

Log Name: System
Source: Microsoft-Windows-Kernel-Power
Event ID: 41
Level: Critical
The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.

The additional info under the event is important because the various bug check codes can indicate different causes.

BugcheckCode          0
BugcheckParameter1    0x0
BugcheckParameter2    0x0
BugcheckParameter3    0x0
BugcheckParameter4    0x0

Having faced this error recently it eventually turned out that the problem was due to incompatible memory (not faulty memory).  The batch of machines in question were all branded but due to an error with the manufacturers memory compatability matrix had been supplied with the wrong additional memory modules.  When we reverted the machines to the standard 2GB module that was already installed they operated perfectly, we eventually arranged for the additional modules to be swapped and that was the end of the issue.

An important thing to remember is that a memory checker will not show that your memory is faulty if it just incompatible with your particular system or mainboard.

Your system or mainboard manufacturers support should be able to confirm memory compatability and advise on the correct upgrade/type for your system