in

David Overton's Blog and Discussion Site

This site is my way to share my views and general business and IT information with you about Microsoft, IT solutions for ISVs, technologists and businesses, large and small

Random Musings of an SME IT Consultant.......

  • Problem with PureMessage can cause Exchange to be unresponsive

    We have had problems both with our own Exchange server and with another client’s this morning. Sophos released a Support Advisory last night and the KB article is here: http://www.sophos.com/support/knowledgebase/article/42245.html To resolve the problem we tried restarting the PureMessage services, the Sophos Services and the Exchange Services but the only thing that really seems to have solved it is rebooting the SBS box...... Hope that might help someone else.....

     

  • SVCHOST.EXE taking 100% CPU - Windows Update Service

    We've just had an issue at one of our non-mmanaged clients where they have had a number of machines running at 100% CPU due to the Windows Update Service going bonkers.

    The solution we have used on all machines is as follows:

    On the machine in question carry out the following:

    Log in as administrator. 

    Download updates from step 1 and 2 from KB927891 into C:\ 

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

    Go to Start>Run, type net stop wuauserv. 
    Kill the process ‘svchost.exe’ using 100% CPU if service fails to stop. 

    -------------------Install updates------------------- 
    Reinstall WUA 3.0 with option  /WUFORCE from step 2. 
    Install update 927891 from step 1. 

    -----------------------Re-register DLLs----------------------- 
    Open Notepad and copy/paste the following text: 

    regsvr32 wuapi.dll
    regsvr32 wuaueng.dll
    regsvr32 atl.dll
    regsvr32 wucltui.dll
    regsvr32 wups.dll
    regsvr32 wuaueng1.dll
    regsvr32 wucltui.dll
    regsvr32 wups.dll
    regsvr32 wuweb.dll
    regsvr32 wups2.dll
    regsvr32 msxml.dll
    regsvr32 msxml3.dll
    regsvr32 msxml2.dll
    regsvr32 qmgr.dll
    regsvr32 qmgrprxy.dll
    end 

    Save file as WUfix.bat and run batch file. 

    ---------------------------------------------------Delete Windows update cache folders--------------------------------------------------- 

    Open Explorer and Delete these folders:...

    \WINDOWS\SoftwareDistributions\SelfUpdate
    ...
    \WINDOWS\SoftwareDistributions\WebSetup
    ...
    \WINDOWS\SoftwareDistributions\WuRedir
    ...
    \WINDOWS\SoftwareDistributions\AuthCabs
    ...
    \WINDOWS\SoftwareDistributions\DataStore
    ...
    \WINDOWS\SoftwareDistributions\Download
     

    Note: Windows will re-create these folders after reboot. 

    Restart the computer, then give the Windows Update site another try.

    Hope that helps someone struggling with this issue.

  • Proliant Support Pack 8.0 is a bit broken.....

    We have one HP ML350 G4p server that we have just started providing full Managed Service for. As a matter of course we install the HP Proliant Support Pack. The latest version is 8.0, but there appears to be a problem with it where it breaks the System Management Home Page .

     

    Only solution according to HP Support is to downgrade PSP to previous version 7.91 which does not require a server reboot.

     

    According to HP there is a fix due RSN, but I'm not holding my breath :-)

    Hope that helps someone avoid the same pain!

  • APC Powerchute

    After an exchange with an APC Support person a while back I discovered that you can get lots more information about your UPS by using a web browser.

    If you go :3052/">http://<servername>:3052 you get a login page to your attached UPSes. This gives a shedload more information about the UPS then you get from the PowerChute software.

    Well worth investigating.

     

  • Ping a remote host then if it times out run a TRACERT and send an email

    Recently I needed to find out why a connection to a server was failing every so often. I knocked this script up from a few pieces of old wood and a couple of tin cans I had lying around to do just that.

    It was nicely indented until I pasted it into here :-)

    Run it using the following command line:

    cscript <filename.vbs>

    Setup a scheduled task to run it when you need to.

    ' Created by Ian Watkins - Oxbridge Technology Ltd - May 2007

    On Error Resume Next

    Set WshShell = WScript.CreateObject("WScript.Shell")
    strComputer = "host.domain.com"

    vbCRLF = Chr(13) & Chr(10)

    strPingStatus = PingStatus(strComputer)
    If strPingStatus = "Success" Then
     Wscript.Echo "Success pinging " & strComputer

    Else
     
     WshShell.Run "%comspec% /c c:\windows\system32\tracert.exe " & strComputer & " > c:\belfry\testlog.txt" , ,1

     Const ForReading = 1, ForWriting = 2, ForAppending = 8
     Dim fso, f
     
     Set fso = CreateObject("Scripting.FileSystemObject")
     'Open the file for reading
     Set f = fso.OpenTextFile("c:\belfry\testlog.txt", ForReading)
     'The ReadAll method reads the entire file into the variable BodyText


     Set objEmail = CreateObject("CDO.Message")

     objEmail.From = "email@clientdomain.co.uk"
     objEmail.To = "youremail@yourdomain.co.uk"
     objEmail.Subject = "Exciting and informative subject line"
     objEmail.Textbody = "Status - " & now() & " - " & strComputer & " - " & strPingStatus & vbCRLF
     objEmail.Textbody = objEmail.Textbody & f.ReadAll
     objEmail.Send
     
     'Close the file
     f.Close
     Set f = Nothing
     Set fso = Nothing


    End If

    Set WshShell = Nothing


    '******************************************************************************

    Function PingStatus(strComputer)

        On Error Resume Next
        strWorkstation = "."
        Set objWMIService = GetObject("winmgmts:" _
          & "{impersonationLevel=impersonate}!\\" & strWorkstation & "\root\cimv2")
        Set colPings = objWMIService.ExecQuery _
          ("SELECT * FROM Win32_PingStatus WHERE Address = '" & strComputer & "'")
        For Each objPing in colPings
            Select Case objPing.StatusCode
                Case 0 PingStatus = "Success"
                Case 11001 PingStatus = "Status code 11001 - Buffer Too Small"
                Case 11002 PingStatus = "Status code 11002 - Destination Net Unreachable"
                Case 11003 PingStatus = "Status code 11003 - Destination Host Unreachable"
                Case 11004 PingStatus = _
                  "Status code 11004 - Destination Protocol Unreachable"
                Case 11005 PingStatus = "Status code 11005 - Destination Port Unreachable"
                Case 11006 PingStatus = "Status code 11006 - No Resources"
                Case 11007 PingStatus = "Status code 11007 - Bad Option"
                Case 11008 PingStatus = "Status code 11008 - Hardware Error"
                Case 11009 PingStatus = "Status code 11009 - Packet Too Big"
                Case 11010 PingStatus = "Status code 11010 - Request Timed Out"
                Case 11011 PingStatus = "Status code 11011 - Bad Request"
                Case 11012 PingStatus = "Status code 11012 - Bad Route"
                Case 11013 PingStatus = "Status code 11013 - TimeToLive Expired Transit"
                Case 11014 PingStatus = _
                  "Status code 11014 - TimeToLive Expired Reassembly"
                Case 11015 PingStatus = "Status code 11015 - Parameter Problem"
                Case 11016 PingStatus = "Status code 11016 - Source Quench"
                Case 11017 PingStatus = "Status code 11017 - Option Too Big"
                Case 11018 PingStatus = "Status code 11018 - Bad Destination"
                Case 11032 PingStatus = "Status code 11032 - Negotiating IPSEC"
                Case 11050 PingStatus = "Status code 11050 - General Failure"
                Case Else PingStatus = "Status code " & objPing.StatusCode & _
                   " - Unable to determine cause of failure."
            End Select
        Next

    End Function

  • Enabling Log on as a Service for a local user

    I came across a situation on our network where we needed to give a local user the right to "Log on as a Service" on one of our servers. This was to support a LOB application that we run on a server here in our office. The problem I had was that for both the "Log on as a service" and the "Log on as a Batch job" the "Add User or Group" button was greyed out. This is because our SBS 2003 box has a Domain Group Policy which sets the rights to these services at a Domain level and stops any changes being made elsewhere.

    To get around this I did the following:

    1) Logon to the server in question as Domain Administrator. Open up the Active Directory Users & Computers (ADUC) snap-in.
    2) Right click on the Domain and choose Properties. Click on the Group Policy tab and open the group policies. You have to do this unless you install the GPMC on the server.
    3) Create a new Group Policy and name it something appropriate.
    4) Navigate to Computer Configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment
    5) Double click on the item you want to alter and click on Add User or Group.
    6) Click on Browse and change the From this Location to the local machine (if you don't do this you only see domain users)
    7) Enter the username (or click the Advance button - I'm not going into how to use that here)
    8) Click OK a few times until you see the local username in the Properties box.

    Now you need to set this GPO so that it only applies to the machine in question. You can do this through permissions, but I decided to do it via a WMI Filter.

    1) On your DC with the GPMC installed right-click on the WMI Filter item and choose New.
    2) Give it a meaningful name and description and click on Add.
    3) You don't need to change the namespace.

    Type in the following (or copy and paste if you prefer) into the Query box:

    SELECT * FROM Win32_ComputerSystem WHERE Name = '<computername>'

    Change <computername> to the name of your the server you want the GPO to act upon.

    4) Click OK a few times.

    Now you need to apply this filter to the GPO created above:

    1) In the GPMC right-click on the GPO and choose Edit.
    2) Right-click on the GPO name at the top of the MMC left-hand column and choose Properties
    3) Click on the WMI Filter tab and then click on This Filter and then on Browse / Manage
    4) Choose the WMI Filter you created above and then click OK a few times.

    I also found that I needed to set the GPO to be Enforced (right-click on it in the GPMC and check Enforced) and to run a GPUPDATE /force on the server. This also required a reboot of the server.

    Trust this is of some help to someone.

  • HP Laser Printer support in Windows Vista

    Vlad Mazek (www.vladville.com) just posted on the SBS2K Yahoo! Group a link outlining support for HP printers in Windows Vista.

     http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00808536#N1011C

    Knowing how easy the HP site is to navigate :-) I thought it would be useful to post this up here for posterity and so I can find it again :-)

  • London SMB IT Pro Group meeting Monday 13th November - EVO

    The next meeting of the London Small Business IT Pro Group will take place on Monday, 13th November. If you can let me know you're coming that'll be great (just so I've got some idea of numbers) otherwise just turn up.

    This month we welcome Matt McSpirit, Partner Technology Specialist for Vista who is coming to talk about all things Exchange 2007, Vista and Office 2007. In fact he would like us to tell him what we'd like to hear about so he can tailor some of his talk to our requirements, so if you let me know you are coming also let me know what subjects around EVO you'd like to hear about and I'll feed that back. Please let me have your input by 9:00am Wednesday.

    The meeting will be start at 5:30pm Monday 13th November at Microsoft House, 10 Great Pulteney Street, London, W1F 9NB. Drinks and pizza will be served and the meeting will finish around 8:30pm in time for those who travel any distance to get away and for the locals to retire to the pub :-) 

    This is as far as I know the last meeting we will be having at the Microsoft Offices. I'm sorry, but I haven't had time this month to persue any other options or even to take some of you up on your kind offers of help! If we want the London group to continue we will have to find somewhere to meet and probably have to pay for it. We've been spoilt so far!

    Look forward to seeing you all!

  • London SMB IT Pro Group meeting Monday 9th October

    The next meeting of the London Small Business IT Pro Group will take place next Monday, 9th October.

    We have a slightly different emphasis this month. After a few months of technical input we are going to concentrate this month on some of the business aspects of running a consultancy.

    Susanne Dansey from the Kent group will be talking about the community and how to use the resources there to help you, "Utilising the Community for fun and for Profit" and also give us a run-down on last month's SMB Nation in Redmond.

    We also welcome Maurice Isaac and David Coburn from the Business Referral Exchange who will be doing a short talk on the benefits of Referral Generation Networking. If you are anything like me most of my work comes from referrals, so this should be useful to us all.

    The one bit of techy-related stuff is that there will be some folks from Microsoft Licencing there. They are looking for feedback on Open Value and Open Value Subscription licencing and on some planned training and promotions. As always discussions on Licencing should be lively!

    The meeting will be start at 5:30pm Monday 9th October at Microsoft House, 10 Great Pulteney Street, London, W1F 9NB. Drinks and pizza will be served and the meeting will finish around 8:30pm in time for those who travel any distance to get away and for the locals to retire to the pub :-) 

    Next month (13th November) I am hoping there will be a team from Microsoft talking about EVO, no not the Mitsubishi one, but Exchange 2007, Vista and Office 2007. I'll keep you posted.

    Look forward to seeing you all!

  • London Small Business IT Pro Group meeting - Monday September 11th

    Just to remind you that the next meeting of the London Small Business IT Pro Group will take place this coming Monday, 11th September.

    Following on from our presentation on Kaseya back in June we have two presentations on Managed Service software this month. The first is by Doug Wilson and Dr. Alistair Forbes from HoundDog Technology and the second is by Ian Blyth. Ian presently works for Pygmalion, but was the Lead Technology Specialist for MOM in the UK for 4 years. He will be talking about all things MOM and telling us what he can about the up and coming System Center Essentials.

    The meeting will be start at 5:30pm Monday 11th September at Microsoft House, 10 Great Pulteney Street, London, W1F 9NB. Drinks and pizza will be served and the meeting will finish around 8:30pm in time for those who travel any distance to get away and for the locals to retire to the pub :-) If you could let me know you are coming that would be appreciated.

    Just to remind you of the other dates we have booked this Autumn:

    9th October
    13th November

    Telling you these now, should reduce the chances of confusion later :-)

    Look forward to seeing you all!

  • Creating a "reminder" appointment for the next day in Outlook

    I don't know about you, but I often need to put a quick reminder in Outlook for tomorrow. Such things as "Phone Bill", "Feed the Guinea Pig" and "Get son to have bath" are the sort of essential things that make life slip along that little easier.

    A while ago I wrote a quick VBScript to do just that.

    Here it is:

    ' Written by Ian Watkins September 2002

    ' This script creates an Outlook Appointment item to act as a reminder to the user

    Dim ol
    Dim olns
    dim olAppt

    dim olAppointmentItem
     
    olAppointmentItem = 1
     
    ' Set the Application object.
    Set ol = CreateObject("Outlook.Application")

    ' Set the Namespace object.
    Set olns = ol.GetNamespace("MAPI")

    ' Create an appointment item and populate it

    set olAppt = ol.CreateItem(olAppointmentItem) 
    olAppt.start = date + 1 & " 09:00am"
    olAppt.duration = 0
    olAppt.ReminderMinutesBeforeStart = 0
    olAppt.subject = inputbox("Please enter a subject", "Reminder Appointment")
    olAppt.BusyStatus = 0

    ' Display the appointment allowing user to change date and any other details

    if olAppt.subject <> "" then
     olappt.display
    end if

    set ol = nothing
    set olns = nothing
    set olAppt = nothing

    This script simply creates an Appointment record, populates a few fields (date, time and so on) and then asks you for a subject.

    If you put something in there it displays the Appointment for you to change stuff from the default if you want.

    Great for those "Phone Bert" type reminders. Just add a shortcut to your Quick Launch bar to make it nice and accessible.

    Again all the usual disclaimers apply. I wouldn't expect this script to delete all your appointments, format the cat or anything else unsavoury, but it is up to you to check it before use and be sure that it does what you want in a way that you want it to. I have used this in Outlook 2003 but cannot be sure I have used it in any other version of Outlook.

  • Moving CompanyWeb

    Our internal SBS2003 box and one at a clients were starting to get a bit short of space on the C: drive. One of the culprits were the Sharepoint database files which were well over a gig on our system and .5 gig at our clients.

    I read up various documents on the MS site and a few NG and blog posts before trying this and I have now successfully moved both sets of Sharepoint databases. I would strongly recommend you read the document at http://download.microsoft.com/download/1/1/6/11671e4d-fb21-489c-870f-db36fd21a7d2/SBS_MoveDataFolders.DOC before doing this.

    Because I'm basically lazy by nature and prefer to do things the easy way and I really don't like typing in obscure OSQL commands I decided to write a batch file that would do it all for me.

    Here it is:

    -------------------------------- 

    @echo off

    rem Move CompanyWeb

    rem Based on MS document and posts on newsgroups

    rem YOU MUST CHANGE THESE SOURCE AND TARGET FOLDERS TO MATCH YOUR OWN

    rem DON'T FORGET THE TRAILING "\" EITHER OTHERWISE NASTY THINGS WILL HAPPEN.....

    set source=C:\Program Files\Microsoft SQL Server\MSSQL$SHAREPOINT\Data\
    set target=S:\CompanyWeb\

    echo .
    echo Are you connected via Remote Web Workplace?
    echo .
    echo If so, hit CTRL-C to terminate this batch file and connect via RDP
    echo or from the console and run this batch file again
    echo .
    echo This batch file is about to stop the IIS services on this server.
    echo.
    pause

    @echo on

    iisreset /stop
    Net stop sptimer

    rem The MSSQL$SHAREPOINT service must be running, but stop and start it beforehand otherwise sometimes the
    rem detach of the STS_ServerName_1 database fails with it being flagged as in use

    net stop MSSQL$SHAREPOINT
    net start MSSQL$SHAREPOINT

    Osql -E -S %computername%\SharePoint -Q "sp_detach_db 'STS_Config'"
    Osql -E -S %computername%\SharePoint -Q "sp_detach_db 'STS_%computername%_1'"

    xcopy "%source%STS_%computername%_1.mdf" "%target%STS_%computername%_1.mdf"
    xcopy "%source%STS_%computername%_1_Log.ldf" "%target%STS_%computername%_1_Log.ldf"
    xcopy "%source%STS_Config.mdf" "%target%STS_Config.mdf"
    xcopy "%source%STS_Config_Log.ldf" "%target%STS_Config_Log.ldf"

    Osql -E -S %computername%\SharePoint -Q "sp_attach_db 'STS_Config', '%target%STS_Config.mdf', '%target%STS_Config_Log.ldf'"

    Osql -E -S %computername%\SharePoint -Q "sp_attach_db 'STS_%computername%_1', '%target%STS_%computername%_1.mdf',

    '%target%STS_%computername%_1_Log.ldf'"

    iisreset /start
    Net start sptimer

    rem Just do another iisreset for good measure :-)

    iisreset

    -----------------------------------

    Just a few things to note:

    • Don't try running this in a Remote Web Workplace session. It closes IIS down which tends to make RWW somewhat non-functional. Smile
    • You must change the Source and Target folders each time you run this script. You will need to create the target folder before you start
    • Don't forget the trailing "\" on the Source and Target folders otherwise nasty and unfortunate things might happen.
    • Each of the XCOPYs will ask whether the target is a File or a Directory. Obviously it's a File Smile
    • The MSSQL$SHAREPOINT service is bounced before starting because I found that my client's machine was saying that the database was still in use when it wasn't. Bouncing the service seemed to clear it.
    • Obviously this script comes "as is". If you use it it's up to you to check that it does what you want and in a way that you want it to. If you use it let me know and if you find any problems with it then please do let me know so I can correct them. I have used the script on two servers and am pretty confident it does what it should, but there are no guarantees. (added 13/08/06) I've used it on another client's server this afternoon and it worked as expected.
    • I would strongly suggest you run this from a command prompt not just be double-clicking the batch file in Explorer.

    Hope this is useful for someone.

  • Next London SME IT Pros Group - Thursday June 8th

    The next meeting of the London Small Business IT Pro Group will take place on Thursday 8th June.

    Our guest this month is Ian Charles from Bulldog Terrier Systems who offer a hosted Kaseya solution. Ian will be talking about his company's offering.

    Doug Wilson from Hound Dog was also booked, but because I messed up the dates (sigh) he'll be coming later in the year (probably to our September meeting).....

    If you are thinking of offering your clients Managed Service then come along and see how this offering will help you with the software side of that service. But as Amy Luby says, there's a lot more to Managed Service than installing a monitoring app!

    The meeting will be start at 5:30pm Thursday 8th June at Microsoft House, 10 Great Pulteney Street, London, W1F 9NB. Drinks (courtesy of Microsoft) and pizza (courtesy of our speaker) will be served and the meeting will finish around 8:30pm in time for those who travel any distance to get away and for the locals to retire to the pub :-) If you could let me know you are coming that would be appreciated.

    I am planning to have a social meeting on July 10th at a pub somewhere (suggestions for good Central London venues with food welcome) and no meeting in August.

    I can also confirm the dates for the meetings in the Autumn:

    11th September
    9th October
    13th November

    Telling you these now, should reduce the chances of confusion later Smile [:)]

    Look forward to seeing you all!

  • Sophos Puremessage and ActiveSync

    If you are using Sophos Puremessage and are having problems getting Server-side ActiveSync to work with either your PPC or your Windows Mobile 5 (WM5) device then you might need to do the following:

    In the Puremessage console go to Jobs / Exchange Information Store / Databases tab and check Public Store Background Scanning and Private Store Background Scanning. Click the Apply button at the bottom of the console.

    I've never been able to get Server-side ActiveSync working since I bought my iPaq a year or so ago, but haven't had time to work out why not. A chance comment by someone in the UKSBSG Yahoo! group put me onto it. Thanks to James and Alexandre!

    Since I found this out I've discovered there's a Sophos KB article about it - www.sophos.com/support/knowledgebase/article/3186.html. It's great when you know what to look for isn't it Smile [:)]

  • Ways to find the Service Pack levels of products in SBS

    After a thread on the Yahoo! SBS list Don Murphy has put together a page of info on how to find the Service Pack level of the different components on SBS.

    You can find it here:

    http://reloadnuggets.com/archives/14

    Thanks Don!

More Posts Next page »

(c)David Overton 2006-8