Category Archives: Administration

Install .Net 3.5 feature into 2012 offline

Your working on a lab and you want to Install .Net 3.5 feature into 2012 offline how do you do it.

If you have ever tried this you will know it works fine in windows server 2008 but in windows server 2012 the .net 3.5 feature install is flakey to say the least and almost always needs a  net connection so that it can see Microsoft’s update servers (or your own WSUS servers) However if your building a quick lab and don’t want to give it net access or a WSUS server how do you get this feature installed?

Open a command prompt with admin rights and enter this one string (change the drive letter to the drive letter the server 2012 disc drive’s)

Dism /online /enable-feature /featurename:NetFx3 /All /Source:<drive>:\sources\sxs /LimitAccess


I had a problem where I followed the above method but got  error code 0x800F0906 and solved it as follows:

Two recent (September 2014) Windows updates refer to .NET Framework 3.5, These installed without the framework being installed? I uninstalled them both and then was able to install .NET Framework 3.5 from Control Panel. I then re applied the updates.

I’m not sure if was necessary to uninstall both updates. They are KB2966826 and KB2966828

Remote install an msi with Powershell

Remote install an msi with Powershell?

I know I have had to do this many times but there are many pitfalls to be wary of. Here is the simplest method to get that pesky msi to install now on a remote computer with Powershell.


You are on your admin workstation and you want to install an msi which I will call ‘installer.msi’ on at least one machine in your domain. Installer.msi is located on a file server on the network.


A Powershell script that copies the file to the local machine, installs the msi then deletes installer.msi from the local machine. How do you do this, simple.

copy-item copy-item -Path \\fileserver\share\installer.msi -Destination \\machine-to-instal-to\c$\temp\installer.msi
Invoke-WmiMethod -Path Win32_Product -Name Install -ComputerName "machine-to-install-to" -ArgumentList @($true,$null,"\\machine-to-install-to\c$\installer.msi")
remove-item -path  \\machine-to-instal-to\c$\temp\installer.msi

I have found this is the simplest method. Obviously you should consider wrapping this in a try catch and putting it in a loop to install on a set of computers.

I have had some success with using invoke-command calling start-process and this is probably the best method if you want to install an exe rather than an msi.


Why not use a GPO I hear you shout? Simple. GPO’s do not offer the flexibility. I use this when I want to install it now, not when the computer next reboots, or if I want to do some pre/post processing like copying a config file around. You may need to use a similar method if you have a badly written service that doesn’t stop for the installer.

PowerShell 3.0 jumpstart

I was once in doubt about Microsofts attempt to replicate the all powerful *nix command line with PowerShell but my eyes were opened and I got on the bandwagon. Now you will find me gathering information, solving problems and generally having a great time in PowerShell ISE. The lightbulb moment came when I took the PowerShell 3.0 Jumpstart course on Microsoft Virtual Academy.

It starts slow and steady. No prior PowerShell needed, however you do need to leave your preconceptions behind if you are coming from Bash, Bourne, Csh, Zsh, Dos or any other shell. The two presenters are legends Jeffrey Snover was the lead architect behind PowerShell and Jason Helmick is a long time Microsoft trainer and generally great guy.

What are you going to learn watching the PowerShell 3.0 jumpstart?

I learned alot, I could put powerhsell together before but I wouldn’t have said I understood what I was doing, After this I feel more confident in just typing out what I want and most of the time it works 🙂

PowerShell really does rock!

Deneb is available IPv6

Steps taken to get available via IPv6

  • Test via IPv6 validate –
  • Raise support ticket with ISP to get native IPv6 address (this could be done with an IPv6 tunnel)
  • Apply IPv6 network configuration to server
  • Change firewall to allow http over IPv6
  • Add quad A record to DNS
  • Chnage Apache config to respond on IPv6 address hostname combo
  • Test that it now does validate

Why test first? its the test driven way, Test (fail), Enable, Test again, Re factor if necessary

Now Deneb is available IPv6 !

Exhausted IPv4 in europe

There are only 4 billion addresses in IPv4 and RIPE is down to the last 16 million in Europe. At its current rate of usage (4 Million every 10 days) RIPE would exhaust its supply in 40 days. To alleviate the issue rationing of new addresses has been stepped up.

What is an IPv4 address

An Internet Protocol v4 address (IPv4 or just IP address for short) quite simply the address used for a device in a network using IPv4.

Each IPv4 address is a 32 bit number represented in 4 octets separated by dots. eg

A singe Internet connected device can have more than one address and addresses cannot be transferred easily ( if an address is used in north Africa and the computer is switched off the address cannot just be re allocated in north America )

What is the solution

IPv4 has a replacement protocol IPv6 where the address space has been expanded from 32 bits ( 2^32 addresses = 4,294,967,296) to a 128 bit address space (2 ^ 128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 ) which is a lot more.

I cannot speak for all languages but the Python 2.7 Library for sockets describes the implementation as being IPv4/IPv6 neutral. So in theory Python apps using the default libraries would not need code changes to work in an IPv6 environment.

Start getting involved today, look at getting an IPv6 certification from Hurricane Electric. Petition your ISP to give you IPv6. Start to understand your firewall better ready to implement IPv6.

Look at getting your web site live to return on IPv6 and IPv4.

Original source of this RIPE IPv4 exhaustion –

Multi tier architecture in action

What is meant by a Multi tier architecture

The generally accepted definition of a multi tier architecture describes the separation of Presentation, Logic and Data roles. This can be viewed in more detail in the wikipedia article Multitier architecture  however this article doesn’t describe the implementation of a multi tier architecture.

I have worked with many different organisations of varying sizes with differing needs and here are 4 of the most common high level implementations I come across.

Continue reading Multi tier architecture in action