Work

Fixed:Corrupt contacts in outlook but they appear ok on phone.

Had a weird problem this morning with a user that had issues with incorrect data appearing in their outlook contacts. When you looked at the contacts in Outlook 2007, the Full Name was typically somebody else, yet the email address and name displayed in Outlook would be correct. Occasionally things like company name would appear incorrect. Looking at the phone, the data looked correct however the phone typically does not seem to use all of the fields that outlook2007 displays.
When I looked at the contacts within OWA the data looked ok. In OWA I changed the middle name on one of the corrupted contacts (although it looked correct in OWA) and then switched back to Outlook – the contact was now showing the middle name as expected, but the rest of the data was also coming across correctly. I took out the middle name within OWA and sure enough Outlook removed the middle name too and the contact was now correct.
The next stage was just to open the contact in OWA and hit save and close. This fixed the contact in Outlook too. I have no idea why this issue occured, and thankfully there are not *too* many contacts to open (only 170 in total) but just opening and then doing a Save and Close fixes the issue.
It will be interesting to see if this issue reoccurs.

Fixed:MDOP download on Technet

One of the advantages of a Technet subscription is access to the (MDOP Microsoft Desktop Optimization Pack) software including the Diagnostics And Repair Toolkit (DART). Unfortunately it took me a while to find it under the downloads today as MDOP does not appear under the list of downloads. However searching for Desktop Optimization Pack finds it. (You need to log into the Subscriber Downloads for this link to work). You’d be surprised how inaccurate the Google results for MDOP download on Technet results are.

Fixed: Connectwise and roaming profile permissions issues

A while back we started using Connectwise for our Helpdesk system and we use roaming profiles for our techs. Unfortunately Connectwise has to write to the appdata directory and the permissions were not set for Connectwise to write the files correctly and it also assumed that your appdata directory was going to be on c:\ rather than \\server…..
It took some digging and trial and error before we were able to get this working – the solution is to do the following from a command prompt –
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol -machine -addgroup LocalIntranet_Zone -url “file://server/user$/%username%/appdata/*” FullTrust -name Andy-PsaIntranet

I think the name parameter can be anything but we set it to firstname-PsaIntranet. Also note the appdata has the path to appdata but with forward slashes instead of back slashes.

Connectwise is a great tool but whatever you don’t do, don’t use the hosted version – the performance and the lack of options and features that are crippled in the hosted product makes a very frustrating end user experience. Last night we switched over to an inhouse version and I found that I had to create a new data directory in the connectwise directory. Note this was after doing the incredibly annoying “clear cache” function in Connectwise. Create %appdata%AppData\connectwise\psa\cache\companyurl.com\companyname\connectwiseuserid\data

Group Policy Naming Conventions?

Jeremy Moskowitz from the GPAnswers website posted a good question today – How do you name your Group Policies? Strangely enough it had never occurred to me to have a naming convention for the GP’s – normally I just make sure they are descriptive enough in the name and use the comment fields in 2008 and newer to provide a changelog of the Group Policy and details on what it should do. However, this does rely on EVERYONE updating the group policy and I know this doesn’t always happen – even I sometimes forget to fill in this information when making a quick change, so have a standard naming convention seems a great idea. Having the author (or initials) is also important so other people can easily hunt track you down to get clarification or assistance on the settings.
Do you have any naming conventions that you use?

Fixed – “The filename, directory name, or volume label syntax is incorrect" when you add a hard drive to Windows 2008 R2 backup

Apparently, according to Microsoft KB Article 2009365 this issue occurs when a previously hard drive (or the only previously defined) hard drive has been removed from the server and a new drive is being attached. This is typically the case when setting up a new server and preconfiguring the backups to go to the second identical usb drive. Most people are just going to unplug the drive leaving the old power supply and usb cable attached to the server and power and plug in the new drive and then attempt to add it to the backup schedule. At this point the backup program will give the error “The filename, directory name, or volume label syntax is incorrect” as the old drive is no longer attached. Microsoft have a couple of solutions, including adding the first drive back to the server, or removing the first drive. Neither of which are very helpful if you are just swapping the external drive itself. The final solution is to add the drives from an elevated command line using the following.

  1. Run the following command from an elevated command prompt to determine the Disk Identifier of the new disk:
    wbadmin get disks
  2. Based on the output, locate the disk that will be added to the scheduled backup. Make a note of the Disk Identifier. The output will resemble the following:
    Disk name: xxxxxxxxxxx
    Disk number: x
    Disk identifier: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
    Total space: xxx.xx GB
    Used space : xxx.xx GB
  3. Run the following command to add the new disk to the Scheduled backup. Use the Disk Identifier from the previous step as the "AddTarget" parameter.
    WBADMIN ENABLE BACKUP -addtarget:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
  4. When you receive the following prompt, type Y for Yes.

"Do you want to enable scheduled backups with the above settings?"

5. You may be prompted to format the drive if it was previously used in another server or for another purpose.

The screenshot below shows the addition of a USB drive to my virtualised SBS server.

image

SBS server migration has to be run within 21 days from the day you initially run the wizard

I always knew you had 21 days to finish a migration for an SBS installation, but I always thought the countdown was triggered when you ran dcpromo on the second server, breaking the original license agreement by having two SBS servers on the network that both want to have all the roles. (On a side note it is interesting that Microsoft provide a tool to get around Windows licensing but if you attempt to run other third party applications to do the same thing it gets flagged as a virus or you fall foul of Windows Genuine Advantage)…

Apparently, running the initial SBS pre migration assistant starts the 21 day timer even if you don’t continue with the rest of the installation. Attempting to install SBS after 21 days will provide an error message stating “Source Server does not meet minimum requirements for migration” as per the screenshot below.

image

If this screen appears, pressing Shift F10 will open a command prompt, at which point the sbssetup log file can be read with

notepad "C:\Program Files\Windows Small Business Server\Logs\SBSSetup.log"

Towards the end of the log file will be the reason the migration stopped. In this case it was to do with the HKLM\ Software\ Microsoft\ SmallBusinessServer\ Migration\ MigrationReady containing an old date and LastCheckTime (value of 1) being set to a long time ago.

I’m not sure whether hacking these values out would allow you to continue on with the install but I’m going to rerun the migration wizard again. Unfortunately this requires another (pointless) reboot of the source server – something I am trying to avoid when setting this up in a parallel installation.

Fixed – Windows 2008 Server continually boots into safe mode.

We had a weird issue this morning after applying windows updates to a server and found that the server had rebooted into safe mode. We tried various methods of forcing the server back to normal mode through the F8 prompt, even attempting a Windows Repair from cd but nothing seemed to work.
In the end we ran “bcdedit /deletevalue safeboot” from the command prompt, rebooted the server and it came back up in normal mode. There was a long, very dramatic pause, whilst the server reverted changes to the windows updates but we were eventually able to log back into the server. We then took a snapshot and installed the windows updates 50% at a time – and of course, this time every patch installed successfully.
I suspected that the server was reading the bcd and booting into safe mode, but I’d have thought that pressing F8 and selecting normal mode would have overwritten this selection – obviously I was wrong.
I really long for the good old boot.ini days.
The Technet article “Restart the domain controller in Directory Services Restore Mode Remotely” gave us the bcdedit commands to run. It was amazing how many google hits there are for failing to restart a server in safe mode (oops – here’s another one), but not many on how to stop a Windows 2008 Server from starting in safe mode.

Exchange 2007 services fail to start on DC (SBS server)

I’ve had an issue with a new SBS2008 server, running Exchange service pack3 rollup 2 where the information store service does not start after a reboot, especially annoying after the server is rebooting with a scheduled maintenance task. Apparently this issue was fixed in service pack 1, roll up 5 but I’m still getting it 2 service packs and 2 rollups later.

Microsoft have a “fast publish” knowledge base article 940845  and the first solution is to start the services manually – really helpful!  Thankfully there are other solutions that involve changing the dependencies of the services to ensure Exchange does not try to start before AD has finished.

One word of warning – using the Microsoft KB to determine the latest service pack or rollup for Exchange 2007 returns Service Pack 3, rollup 1 from http://support.microsoft.com/kb/937052. However Rollup 2 has been available since Dec 14th 2010. I’ve put a note on the original kb article but the better way to determine the latest rollup is probably to search for Exchange 2007 service pack 3 rollup

Update Knowledge base 940845 now has a fixit file you can download that will change the dependencies for you along with instructions on how to fix it manually. The article no longer has references to this issue being fixed in previous rollups – probably because this was obviously not the case.

Quickly download the SBS 2011 training from Microsoft.

There are several short videos available from Microsoft that cover the new features in SBS2011, but unfortunately Microsoft decided to make you download each one individually. However if you right click and download this
List of SBS 2011 Training videos file, you can use wget to download all of the files in a batch file.
Assuming you have wget installed on your machine and it is in the path (if not then why not? It is incredibly useful for downloading files from a command line – Get it from Sourceforge’s wget page), just run with the following in a command prompt window.

for /F %i in (sbstraining.txt) do wget %i

You should end up with 38 files totalling 241MB.
Update: See comments for assistance in downloading a copy of wget without needing all the extra gnu stuff

Comparing two text files and removing duplicates from one

I had a requirement to compare two files today and remove the entries from the larger list that matched the entries in the smaller list – think a poor man’s mailing list management.
Thanks to the post at StackOverflow, I was able to very quickly remove the entries with the following.
grep -Fiv -f potentialduplicates.txt %lt; fulllist.txt > noduplicates.txt

The flags are as follows –
-F no regexps (fast)
-i case-insensitive
-v invert results
-f get patterns from file

This worked really well and the end user was pleased. I did convert all the entries into all lower case first in excel using =lowercase(a1) and dragging down the list. Copying the new list to a text file meant I had some clean lists to process.
Unfortunately I didn’t have a copy of grep on my Windows7 machine, so I just uploaded it to a linux server to do the processing – quicker than obtaining grep.
As it turns out, I could have used findstr which comes with Windows. The same output can be obtained with
findstr /g:potentialduplicates.txt fulllist.txt >noduplicates.txt