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

Uninstall_Patch_Inaccessible_Empty_or_Disabled

Remove the patch KB3159398 from all affected PCs

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 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

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!”

Microsoft Distributed Transaction Coordinator Warning

Well I got a new error today other day on one of our domain controllers after doing a restart. A bit of a bug in Windows 2003 SP1 and easy enough to fix. The error is:

Event Type:    Warning
Event Source:    MSDTC
Event Category:    SVC
Event ID:    53258
Date:        05/01/2009
Time:        08:23:06
User:        N/A
Computer:    APOLLO
Description:
MS DTC could not correctly process a DC Promotion/Demotion event. MS DTC will continue to function and will use the existing security settings. Error Specifics: %1

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Continue reading “Microsoft Distributed Transaction Coordinator Warning”