How to Download and Extract Google Earth MSI

If you are trying to deploy software within a Windows Business Environment you are most likely using a deployment solution like SCCM, PDQ Deploy or plain old Active Directory.

Whilst the deployment tools make things really easy for getting the software out to the masses, it does create a new trial (especially with SCCM) of finding the network deployable package with an MSI file being the Holy Grail

Continue reading “How to Download and Extract Google Earth MSI”

Group Policy not applying – Inaccessible, Empty or Disabled

This is affecting Windows 8.1

Group Policies that used to work are now not applying. A quick check on the failing PC using gpresult –h shows that the policy is Inaccessible, Empty or Disabled.

GroupPolicy_Inaccessible_Empty_or_Disabled

No changes have been made to Group Policy.

Quick Solution

This is due to a Microsoft Patch to plug some holes in the way Group Policy is deployed ( https://support.microsoft.com/en-gb/kb/3159398 ) and affects group policies where there are security filtering enabled.

Find the Group Policy that is being affected and on the delegation tab give “read” permission to the “authenticated users” group. This will not apply the policy to all users as that is controlled using the “Apply group policy” permission. This will simply allow the GPO to be read and thus interpreted by the PC.

GPODelegation_Inaccessible_Empty_or_Disabled

Once updated, run a gpupdate /force and things should be back to the way they were.

Fixed_GPO_Inaccessible_Empty_or_Disabled

Alternative Solution

Remove the patch KB3159398 from all affected PCsUninstall_Patch_Inaccessible_Empty_or_Disabled

Export Windows Drivers to Central Store

Just made a script to export Drivers to a central store. Handy for when you need to grab a the drivers off of a PC to look at later or to update the rest of the estate with.

Link to resource on Spiceworks: https://community.spiceworks.com/scripts/show/3689-export-drivers-to-central-store

Script:

##########################################
###                                    ###
###         Script to extract          ###
###         latest drivers from        ###
###         windows system and         ###
###         dump to central store      ###
###                                    ###
### By Patrick Louis-Jean     v1       ###
##########################################


### Variables ###
$CentralStore = "\\server\Shares\Drivers" #Where Drivers will be stored centrally
$LocalStore = "C:\Drivers" #working folder on local machine

### Showtime! ###
$SystemOS = (Get-WmiObject -class Win32_OperatingSystem).Caption
$ComputerMake = "$((Get-WmiObject -Class win32_computersystem).Manufacturer)"
$DateTime = Get-date -Format yyyy-MM
$DriverStore = "$LocalStore\$SystemOS\$ComputerMake $((Get-WmiObject -Class win32_computersystem).Model) $DateTime"
mkdir $DriverStore
cd $DriverStore
$DriversList = Export-WindowsDriver -Online -Destination $DriverStore

foreach ($Driver in $DriversList) {
    #Make Class Directory
    $ClassDirectory = $DriverStore+"\"+$Driver.ClassName
    if (!(Test-Path $ClassDirectory)){
                 New-Item $ClassDirectory -type directory
    }
    #Make Provider Directory
    $ProviderDirectory = $ClassDirectory+"\"+$Driver.ProviderName
    if (!(Test-Path $ProviderDirectory)){
                 New-Item $ProviderDirectory -type directory
    }
    #Move Drivers to Folder
        #Get Original Folder Name
        $OrigDriverFolder = $Driver.OriginalFileName
        $OrigDriverFolder = $OrigDriverFolder.replace("C:\Windows\System32\DriverStore\FileRepository\","") #Assuming all drivers are stored here!
        $position = $OrigDriverFolder.IndexOf("\")
        $OrigDriverFolder = $OrigDriverFolder.Substring(0,$position)
        $OrigDriverFolder
        #Make New Folder Name
        $NewDriverFolder = $ProviderDirectory+"\"+$OrigDriverFolder+"_v"+$Driver.Version
        $NewDriverFolder
        #Move Folder
        robocopy $DriverStore"\"$OrigDriverFolder $NewDriverFolder /E /MOVE /NP
}

#Output List of Drivers to CSVFile
$DriversList | Select OriginalFileName, ClassName, ClassDescription, ProviderName, Version |Sort-Object OriginalFileName |  Export-Csv -Path $DriverStore"\DriverList.csv" -NoTypeInformation

#Move to Central Store
robocopy $LocalStore $CentralStore /E /MOVE /NP

First steps for troubleshooting Group Policy Errors

gpo

Group policy can be a bit of a pain to troubleshoot.
Here are a few pointers to get you going in the right direction when trying to fix errors:

  • Make sure you are running on a fast link. Preferably an Ethernet cable
  • Group policy might simply have not updated. At a command prompt run gpupdate /force
  • Running a Group Policy Results report can show you what policies have been applied. At a command prompt type gpresult /h path/to/file.html
  • Take a look at the event log to see if anything jumps out

Following these quick tips should get you on the right path to finding the problem.

Exchange Version and Build numbers to Service Packs

exchange-PowerShell

I was administering an Exchange 2007 installation today and needed to know what service pack it was running. The problem is that exchange does not display as a service pack, only an increase in version. A bit of googling revealed the following microsoft page that contains the version to Service pack information which i have duplicated at the bottom of this post for ease  http://support.microsoft.com/?kbid=158530

Find the Version of Exchange 2007

To find out the build number of Exchange 2007, launch an Exchange Management Shell and run the following command:

Get-ExchangeServer | fl name,edition,admindisplayversion
This will then give you the build number in the form of:

Name : EXCH01A
Edition : Standard
AdminDisplayVersion : Version 8.1 (Build 240.6)

Exchange Server Version lists 2003-2010

Microsoft Exchange Server 2003 6.5.6944 October 2003
Microsoft Exchange Server 2003 SP1 6.5.7226 May 2004
Microsoft Exchange Server 2003 SP2 6.5.7638 October 2005
Microsoft Exchange Server 2003 post-SP2 6.5.7653.33 March 2008
Microsoft Exchange Server 2003 post-SP2 6.5.7654.4 August 2008
Microsoft Exchange Server 2007 8.0.685.24 or 8.0.685.25 December 2006
Microsoft Exchange Server 2007 SP1 8.1.0240.006 November 2007
Microsoft Exchange Server 2007 SP2 8.2.0176.002 August 2009
Microsoft Exchange Server 2010 14.00.0639.021 October 2009

How not to move your iTunes music!

This is a bit of a lesson to myself on how iTunes is set up and the bizzareness of it all.
I was at a client’s to fix their laptop that was running sluggish and on which skype was refusing to work on. On inspection, I found that the primary partition was running seriously low on space and as such the file system was incredibly fragmented.

move-itunes-library-large
A quick scan with treesize showed the the majority of the hard drive space was being used up by the client’s music in iTunes. Luckily the hard drive was partitioned into two drives and the seccond partition was practically empty and had ample space if I was to move the mucus across to it.
Firing up iTunes, I went into the settings and told the program to use a folder on the second partition as the primary store for the music. After applying the settings, nothing happened an the mucsic was still on the primary partition. Digging a little deeper, I found that I needed to tell iTunes to we catalog it’s music and it would then move the music across to the new location – the. All I would need to do is delete the music from the old location under my music.
After about 40 mins, the music had finished copying across so I went ahead and deleted the iTunes folder in my music, emptied the recycle bin and started a full defrag of the system drive using myDefrag.
This is where my mistake was – instead of deleting just the music, I had accidently deleted the iTunes database as well, meaning that all of the client’s playlists and purchased songs list was lost. Add to the fact that a full defrag had taken place, there was no way that I was going to be able to recover the files with an undelete utility. Bugger!
Luckily, I was able to rebuild the libarary by adding the moved files back into iTunes and then syncing the client’s iPhone and iPod with iTunes to recreate the playlists. Enven the purchased songs were playable though they were not showing up in their own little playlist. The client was happy with the results, I got his laptop up to normal speed and most importantly got skype running.
The moral of the story?
Do not delete everything from the iTunes folder if moving your music and always take a backup of the database first. Pretty common sense really, but even us IT guys slip up once in a while!

Exchange Activesync not working on WM6

I just had a problem where one of our user’s HTC tytn ii phones was refusing to sync with exchange over the mobile network. I conducted the usual action of veryfying the password but could not find the problem. So I googled for the error code 85010014 which came up with loads of articles about resetting outlook – but I wasn’t using outlook, I was using activesync.
Back on the device I checked to see if I could navigate to OWA in Internet explorer which pulled up an error 500 code. This made me think that it could be the Internet connection but everyone else was connecting fine.
The next step was to doable the hspda connection and connect the device to the internal wireless – still not syncing!
Could it be the user account? I removed the exchange account from the device and set up mine in it’s place to test my theory. Mine synced fine and I could even connect to OWA as well.
I set the users account back up and got the user to enter their password and straight away the device started syncing!

The moral of the story is – if exchange activesync is playing up, it only takes a few mins to delete the account and start again as opposed to troubleshooting less likely suspects. The error code produced is a ‘general error’ so use a ‘general’ fix to rectify it.

Some Windows VPN connections through ISA 2006 failing

Having successfully set up our company’s ISA 2006 Server, tested it from home and on a few mobile networks, I confidently distubuted the instructions to the staff of how to set up and gain acces to the VPN.

A few days later, I was sitting back and admiring my success, when i recieved a phone call from a user stating that they are connected to the VPN but cannot access our terminal server.

A bit confused, I asked the user to disconnect and then try again, walking me through what they were doing. The user was not doing anything wrong!

It’s connecting to the network but it cannot see the network.

An nslookup confirmed that the connecting device was trying to use their local broadband router as the primary name server – no wonder it cannot see the devices on our network!

I assumed that windows would change the binding order and place the VPN connection to the top of the list allowing it first choice for name resolution.

Aparrently i assumed wrong and it does not work like that!

After some research and googling, i found a solution to the problem in a form of the Microsoft KB311218 (http://support.microsoft.com/kb/311218) unfortunately the solution provided was not adequate for an end user and also ad to be used everytime the connection VPN was established. What i needed was a script that could do this on the fly and also some way of packaging it up in a user friendly way.

This lead me to Connection Manager Administration Kit (CMAK) which is something i was looking into for when I implemented IPsec, which was the next stage of the VPN rollout.

Basicly CMAK is a way for administrators to preconfigure VPN settings and package them up to a neat executable that end users can install without having to mess about with the settings. It also has the ability to run pre, post and disconnect scripts automatically making it ideal if I actually had the script to fix the problem.

I performed a search for CMAK scripts and KB311218. After a while I found an amazing script by Torgeir Bakken, a Microsift MVP in Scripting and WMI at http://www.ureader.com/message/89324.aspx it seemed to me that someone else was in the same boat as me back in 2005!

Here is the script:

Const HKLM = &H80000002

sComputer = “.”

Set oReg = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\” _

& sComputer & “\root\default:StdRegProv”)

sKeyPath = “SYSTEM\CurrentControlSet\Services\Tcpip\Linkage”

sValueName = “Bind”

oReg.GetMultiStringValue HKLM, sKeyPath, sValueName, arValues

arValuesNew = Array()

For i = 0 To UBound(arValues)

If i = 0 Then

If LCase(arValues(i)) = “\device\ndiswanip” Then

‘ entry is alredy first in the list, no point in continuing

Exit For

Else

‘ put NdisWanIp in the first element in the new array

ReDim Preserve arValuesNew(0)

arValuesNew(0) = “\Device\NdisWanIp”

End If

End If

If LCase(arValues(i)) <> “\device\ndiswanip” Then

iCountNew = UBound(arValuesNew) + 1

ReDim Preserve arValuesNew(iCountNew)

arValuesNew(iCountNew) = arValues(i)

End If

Next

If UBound(arValuesNew) > -1 Then

oReg.SetMultiStringValue HKLM, sKeyPath, sValueName, arValuesNew

End If

By running this script, the VPN connection is placed at the top of the list. Excellent! Now just package it up with the rest of the settings using the CMAK and you are good to go!

A bit more searching and I found a tutorial that explians everything, and even uses the script, with step by step guides.The title is a bit misleading but the content is sound.

I discovered it a bit late but i’m glad i worked things out for myself. However, in the future i will probably just refer to this article as it takes the guesswork out of things.

http://www.isaserver.org/tutorials/work-around-VPN-clients-split-DNS.html

Setting up WSS3 email support and recieving SMTP error: missing adsiisex.dll

The time has come to set up our Windows Sharepoint Services installation to receive emails. One of the first things that you need to do is install the SMTP service on the sharepooint server using add/remove windows components.

So you go through the motions:

  1. Click Start, Control Panel, Add or Remove Programs.
  2. Click the Add/Remove Windows Components button.
  3. Select the Application Server component and click Details.
  4. Select the Internet Information Services (IIS) component and click Details.
  5. Scroll down through the list and check the box next to SMTP Service, as shown in. Click OK, OK, and Next.

But instead of a nice and quick install you are presented with:

setup-cannot-copy-adsiisex.dll
setup-cannot-copy-adsiisex.dll

Setup cannot copy the file adsiiex.dll

No problem, just point the browser to your i386 folder on your win 2003 cd and all is well – Wrong! It’s not there!

You need to Extract the file from the cab file IMS.CAB and then point the browser to that file instead. The quickest way to do that is to fire up a command prompt and run the following command.

expand -F:* D:\I386\IMS.CAB C:\temp\ims

where D:\i386\IMS.CAB is the path to the CAB file and C:\temp\ims is a temp folder (which needs to exist before running the command)

This will solve your problem and allow you to complete your install of the SMTP Service

Edit Sharepoint sites for free!

A bit late but still worth a post, Microsoft has announced (in April 2009) that Microsoft SharePoint Designer 2007 is now free!
Go over to SharePoint Designer 2007 Download to get your free copy.

For those who don’t know much about SharePoint Designer, here is an excerpt from Microsoft:

Build solutions faster to enhance team productivity and efficiency

Use Office SharePoint Designer 2007 to create and deploy interactive solutions on the SharePoint platform, without having to write code.

  • Automate business processes such as document approval, custom event notification, and other collaboration tasks with the Workflow Designer.
  • Create reporting and tracking applications using data views and forms to easily gather and aggregate data from outside your site and from SharePoint lists and document libraries on the Web site.
  • Get started fast with pre-built Microsoft Windows SharePoint Services Application Templates, which are fully customizable and extensible using Office SharePoint Designer 2007.
  • Extend your solutions by building advanced interactive Microsoft ASP.NET pages. Insert and edit controls with the same powerful activity menus and control property grid previously found only in development tools such as Microsoft Visual Studio 2005.

Continue reading “Edit Sharepoint sites for free!”