Cant sync Google Calendar to Windows 8 or Fix it with ICAL!

Recently Google pulled the plug on using Microsoft’s EAS (ActiveSync) technology and only made it available to people who pay for GoogleApps for Business. This sucks for us little people who dont have Apps and who want to have one calendar system regardless of provider.

Google’s solution is to buy Google Apps (50$ a year), Microsoft’s is to export all your data into their system. As a avid android and Windows 8 user I came up with a solution that I was unable to find anywhere else on the net.

Issue: Google calendar will not sync with Windows 8. *note you can still sync mail by ensuring you have the contacts and calendar button unchecked.Screenshot of adding a Google account in the Mail app

When adding a Google account to Windows 8 you will notice it can be difficult. Simply un check “Include your Google contacts and calendars” then you can add the account, this is not required for this guide but may be of some use if you want to get mail.

Solution: We will use ICAL settings to create a sync relationship via a private url. All these settings will be applied in the browser, it will apply to the OS when we are done automatically.
This sounds hard but its easy, I have included lots of images to make this easy.

5-23-2013 5-01-03 PMFirst Im going to assume you have a Google and / / .NET account. Head on over to and log in. Lets make an event called  A Google Event for today.

Now you will need to pick the down arrow next to the calendar you want. Chose Calendar Settings. .

This will open a new menu.

5-23-2013 5-04-43 PMNow you will see a bunch of options scroll down to the bottom and look for a green ICAL button next to the words Private Address.

Click this button and a new window will appear.



5-23-2013 5-08-14 PMIn this new window is a private URL, dont share it with anyone. Copy the URL from the window make sure its correct.

5-23-2013 5-10-36 PMNow we need to head over to once there look for a Import button near the top left.



You will be taken to a new screen Click on Subscribe on the left, you will then need the URL you copied from5-23-2013 5-12-16 PM Google and paste it in the Calendar URL, give it a quick name and anything else you want.

Click Subscribe.



It may take some time for the calendar to sync but mine was almost instant. *Note Google states ICAL will update every few hours (2 – 24 hours). Keep this in mind as your next Google event wont show up until the refresh.

Great! Now we have Google events going to you will also see them appear in Windows 8 (provided you use the same account there). To make it full circle we need to do the same with to Google.

5-23-2013 5-27-35 PMIn the main menu of Outlook Calendar click the Share button, pick the calendar you want to sync.


5-23-2013 5-28-30 PMThen choose Get a link you will want to pick the ICS link. Copy the entire URL into your clipboard and lets head back to Google quickly.


5-23-2013 5-32-22 PMNow that we are back at Google Calendar with our URL . You will want to click on the arrow next to Other Calendars then pick Add by URL.


Now you will need to paste the URL into the field just be sure to change the text from webcals:// to https://

5-23-2013 5-33-24 PM


 Pasted, but incorrect, this will throw a error.

5-23-2013 5-34-39 PM


Correct header this will work.



After that you should see a new calendar added and Google will update shortly.

Your done!

Deduplicated volume wont free up or release disk space? A lesson in Server 2012

Recently I ran into an issue where my Data Dedupe on Windows Server 2012 was not releasing space back to the OS. I would delete files over and over. Attempt disk cleanup but still nothing would happen. This only seemed to affect the volumes I have deduplicated then it hit me.

Garbage Collection; this feature will scan the disks and look for any files or free blocks that are no longer used and remove them. However this was set to run once a month or something  ridiculous  like that. For me that is not an option.

Problem: I am unable to free up or release disk space back to the OS after deleting files on a deduplicated disk in Windows Server 2012. This guide will also apply to dedupe on Windows 8, see my previous post.

Solution: Enable garbage collection right away to free up disk space; then schedule it if needed. 

First thing we need to do is open Power Shell. Once it is is open be sure you know the disk letter that you want to clean up. Ill use H: as my example. Type in the following command:

Start-DedupJob H: -Type GarbageCollection -Verbose

You will get output like below:
5-22-2013 8-11-03 AM

Now you will want to verify how far it is so simply type in:


You should see the job like I did here:
5-22-2013 8-13-15 AM

Deploy with ease | A Windows Deployment Service guide | Windows Server 2012

Rolling out PC’s can be boring and a pain. Using Acronis Snap and Deploy can help (that was not a sponsored ad, however acronis if you want to pay me to post this please give me a copy the trial ran out.) but the software can be expensive.

So what does a sysadmin do then? Whats free with my Server 2012 installation that can help me roll out my PC’s faster? PXE and WDS. Using a simple mix of PXE and Windows Deployment Services you can guarantee a quick and painless roll out.

Issue: I want to deploy Windows to a bunch of hosts but I also want to play Portal 2.

Solution: Install WDS

First we need a Windows Server 2012 install and a DHCP server that works I am going to assume you have both. These dont have to be on the same host but you can if you like (as is this case).

If you are using Windows Server 2012 as your DHCP this will be super easy. Before you start I would reccomend adding a new virtual disk for your images. ~200GB would be good for working room but I used 40GB in my lab. In this example we are going to be using disk D:

5-10-2013 8-28-18 PMOnce the disk has been added and formatted simply go to the server manager and choose Add or Remove Roles. Click next till you get to server roles. Scroll down to Windows Deployment Services.

Install the role and reboot if necessary.


5-10-2013 8-32-59 PMNow you will see a new icon under the start menu (metro).

Click it to open it up.


You will be prompted for an  initial setup where you will be asking items like:
-Is this a DHCP server (this is the most important step).
-Where should I store the data for these images? Keep this path simple let it pick the path simply pick the disk. This will be covered in a different article where I show you how to add ISOs (memtest, konboot) and other items into WDS that  shouldn’t be there.

Once you have completed these steps its time to add some ISOs and Images. To be clear on this you will need some OEM ISOs, or  genuine  disks that came with the PC or something that came from MSDN. Simply take your iso and extract it with WinRAR or with Windows Server 2012’s built in ISO mounter.

Now you should have some files that look like this:
5-10-2013 8-43-30 PM

Inside this \sources\ folder you will find some WIM files. These are what you need you can leave them here though. We now need to tell the WDS about these disks.

5-10-2013 8-48-09 PMWith the WDS MMC still open choose Boot Images, then right click in the window on the right and choose Add Boot Image…

Please note I already had images in here you will not have.



5-10-2013 8-48-30 PM A menu will appear prompting you for the location of your DVD.

Simply go to the folder that you extracted the contents of your Windows installation DVD to and open the /sources/ folder.


Open the boot.wim file then choose Next. You then will be asked for some info on what you wanted it named fill out as desired.

5-10-2013 8-55-07 PM

5-10-2013 8-55-19 PM

This is great but you still cant install windows with just this added. We still need to add the install.wim to the WDS server. This is done by right clicking on Install Images and selecting Add Install Image… 

You will be prompted to make a group. Name accordingly. I use MSDN and OEM just so I am aware what is what. However you may wish to do it by OS level.





After you have added an image your basically good to go. Power up a VM and press F12.
5-10-2013 8-59-22 PM

You can now see all your new .wim installs there! This creates a easy method for booting into the install  environment. Now you will need to install and capture your image and your good to go!
5-10-2013 8-59-50 PM

Tired of users connecting to AP’s you dont know about? | Blocking specific or all SSID’s Windows 7

This guide was written for Windows 7 but I am going to assume it works for Windows 8 as well.

Problem: My users (or kids) are connecting to SSID’s that they shouldnt be. My users should only ever connect to my work SSID. My users should never be allowed to use AD-HOC SSID’s (Cell phone generated AP’s)



Solution: Quickly block their ability to do this with netsh. Create a GPO when you have time.

What we are going to do first is simply block a single SSID or network with netsh. For this example we are going to use FreeWifiZone as the SSID as this is a common fishing network. Open a command line as administrator and type the following:

netsh wlan add filter permission=block ssid=FreeWifiZone networktype=infrastructure
netsh wlan add filter permission=block ssid=FreeWifiZone networktype=adhoc

These two command will block the SSID in both modes, this will give the desired effect. You will notice a red X over the network now in the  connection list. To verify that this is enabled type:

netsh wlan set blockednetworks display=show

This is good and all but your saying how I cant know all the SSID’s, well no you cant. So you simply block all and explicit allow the one you need. For this example we will use WorkWifi as the good AP we want to keep.

netsh wlan add filter permission=allow ssid=WorkWifi networktype=infrastructure
netsh wlan add filter permission=denyall networktype=infrastructure
netsh wlan add filter permission=denyall networktype=adhoc

Now that your users are right pissed that they cant connect to anyone wifi your going to start to get calls, and when your busy at home you dont want that. So lets just hide the other (blocked) wifi AP’s so that the user  perceives  to see no open wireless at all. And they are not even tempted to try and connect.

netsh wlan set blockednetworks display=hide

There you have it!


Sick Beard | CouchPotato | Custom Internal Site

This post is completely off topic but I want to make something  available  that I feel people would use. I recently jumped on the usenet train for fun and found its great that everything is  available  on webUI’s. The downside is typing in the IPs/Hostnames all the time to get to them. Sure you can bookmark em but why do that when you have have this free website I made for you to host on IIS8!

5-10-2013 8-10-29 PM

Just ensure you put a password on any of your services before publicly posting them on the net. Setting up HTTPS  wouldn’t  hurt either.

You can snag the files here, be sure to use your own IP’s / subdomains so you get get to the services. Click the link below to get the files.

SabSite I do not condone the use of Sab or Torrents, unless your downloading Backtrack.


OSX 10.8 Slow SMB?

We recently recieved some new giant iMacs in the office and they were neat. Till we realised how slow they were at indexing SMB shares. They seemed tor un really quick but as soon as you opened a network share that was hosted on Windows Server 2003 or 2008 R2 it was unbearable.

Problem: SMB shares are slow on OSX 10.8.

Solution: Add in SMB.conf and nSMB.conf to the /etc/ dir.
Alright this is where I say to you dont do this  unless  you know what your doing I take no responsibility for you bricking you new iMac if you somehow mess up this simple task.

First you need to open a terminal, in this terminal navigate to /etc/ using cd /etc/ .

Now you will need to open a text editor or nano/vi a new file called nsmb.conf 
In that file you will want to add the following lines:


Once you have these added simple save the file. If you dont have permissions then give it first. And reboot. Now you will see all the issue will be fixed!

Notes: There seems to be some confusion on if you need nsmb.conf or smb.conf I made both anyways.



Bye bye NewRelic, Hello GraphDat!

3-20-2013 8-50-52 AM

I have been using Newrelic for some time now, let me say the support and features are decent. However there are a few shortcomings that would cause people who are just starting out or playing in a lab (as is my case). To disregard the service:
-The fact there is only 60min retention on a free  account
-The fact I cannot embed my graphs into my own web  front-end on my free account.

I know the term nothing is for free, but considering even the paid embedded graphs contain a giant new relic logo, and even if I were able to embed my graph on a free account I would only have 60min anyways so why not let me? I mean hey if I embed it and they keep their logo on it why not let me do it on my free account. So I got thinking. There has to be something better out there that is perfect for my home lab. And there is!

I present GraphDat (updated they were purchased by a company called Boundary), this application is 100% free. The nice thing about GraphDat is not only is it free but I can see up to 3 hours retention on my graphs free of charge, have unlimited servers, and I can embed it into my own front end so I can keep an eye 24/7 on whats going on. Not only that but the customization features of GraphDat are way better for  building  your graphs. They do lack monitoring individual disks something NewRelic does do well. But they are looking alot better day by day.

Updated 2013-5-10

5-10-2013 7-21-46 PM

Here is an example image of a month retention on GraphDat.






5-10-2013 7-39-06 PMAnd a example of how the product can be used to create custom  embedded graphs.

Update ESXi 5.0 to 5.1

Today I will writing about running an update for ESX 5.0 to ESX 5.1 using nothing but the update file and some storage.

Issue: ESXi 5.0 is out of date and does not support Windows 8.
3-25-2013 8-24-02 AM

Solution: We update ESXi 5.0-5.1

First we need to download the update files for ESXi you can find the latest version at: 

At the time of this article it was

We need to download this file and get it somewhere the ESX host can see it. For example I am going to use NAS1 as my device that holds the datastore, altrnatively you can plug in a USB stick and mount it or burn the ISO VMware provides however this is the fastest method.

Once you have copied the file to the datastore do not unzip it keep it in the .ZIP format. We need to quickly enable SSH on the ESX box. This can create a security hole so we will not run the server automatically we will run it until the server reboots. This is perfect as we need to reboot the server when we are done anyways.

3-25-2013 8-22-24 AMTo do this go to the Configuration tab, choose the Security Profile button under Software. Now you will see a properties option. Select it and a new window will appear.




3-25-2013 8-23-48 AMYou will see SSH Stopped , double click it and a new window will open. Select Start and Stop with host then click START.




Now we need to download Putty and connect to the host. You can  grab a  copy of putty from here if you dont already have it. Now that you have putty open it up and type in the IP address of the ESXi server. For this example we will use the port will automatically be added.

3-25-2013 8-01-31 AMYou will be prompted for your username and password. The username is commonly root and the password you would have set when installing ESXi. Once logged in lets verify that the update is in the datastore NAS1. ESXi has all the mounted datastores in a folder called vmfs. Just keep using the LS command until you find the folder that contains the update. Here you can see NAS1 under the VMFS folder keep going deeper until you see the file.

Here it is! /vmfs/volumes/NAS1/
/!\ It is important that you dont change directory into the folder that the update resides in. If you attempt to call the update from within the folder and not the full path then it will spit out a error like this. 

3-25-2013 8-04-45 AM



This is  because  you have called the file without putting in the full /vmfs/volumes/…/…/ path. Incase you are confused here are two examples:

WRONG: 3-25-2013 8-02-29 AM
CORRECT!3-25-2013 8-06-32 AM

Now we need to call the update with the update command:
esxcli software vib install -d /vmfs/volumes/[DATASTORE]/[PATCH_FILE].zip

3-25-2013 8-20-51 AM

You will now see nothing for a few seconds but if you check back in about 1-2 min you will see the update applying. When your update is done you will see something  similar  to this:



Good job! We simply need to restart the host from putty or from vCenter itself. After restarting the host you will see that it clearly has updated!

3-25-2013 8-27-39 AMNow you can get to running Windows 8 and Server2012 on ESXi 5.1!

Adding the DNS-321 to ESXi Datastore

Recently I came into posession of some DNS-321’s and I thought to my self; Hey! Lets use these with ESXi  wouldn’t  that be fun! And yes if you have the network speeds to support it, it is fun.

Issue – I have a D-Link NAS and would like to add it to ESXi as a  data store.
The DNS-321 is a simple device however there are a few tricks we have to apply before we can actually add the device to ESX.

Solution – First we need to ensure that the DNS-321 is up to date.
Dlink has pulled the page required to download the newest firmware (Firmware: 1.03). Luckily I found it on their public FTP ( ).

Now you need to log into your DNS-321 and upload the firmware file, keep it in the zip. To do this go to Tools and Firmware on the right. Click the Choose File button and find the downloaded firmware it will be called: 

Once the firmware is loaded you will see that there are some new options under Advanced / Network Access. Mainly what we are going to be working in is NFS as this is how ESXi will talk to the NAS. Now we will want to add some information to the DNS-321 such as who will connect and what folder will be mounted.

3-11-2013 1-19-57 PMFirst you need to enable the NFS server, Choose the Enabled radio button and hit Apply.
Once the page refreshes choose the Type radio button under Access Settings. You will need to fill in the host field, this is the IP address of your ESXi Server, for this example lets pretend its .


3-11-2013 1-22-20 PMNow we need to tell the DNS-321 what folder we want to mount when the host connects, click browse. You will see a list of volumes open up. Select the volume you want to open by pressing the +.

3-11-2013 1-23-10 PMBy default you might not have any folders on the DNS-321, this will be the case for most people. Simply choose the new folder icon and name your folder.


3-11-2013 1-25-11 PMAfter you have created a folder click it and you will see the name populate into the bottom box. Press OK. It will now take you back to the main Network Access page but most of the values will be filled in.


3-11-2013 1-28-24 PMNow its important that before you hit save settings you set the permissions to R/W: Read/Write.

Now click Save Settings. The page will refresh and you will now see a list of folders and the IP addresses that can be associated with them.
They should look something like this: – Volume_1/VMs | Real path: /mnt/HD_a2/VMs

3-11-2013 1-34-50 PMWe are almost done in this end, we need to add a user to the DNS-321 before we can finish up. This user can exist on ESX, so we cant use root. For this example we will use esxiuser as the username. Simply go to Advanced / ‘Users/Groups’ and add your user.

3-11-2013 2-09-43 PMNow we need to log into vCenter and add the same user that we just added to the DNS-321, same username same password.


3-11-2013 1-39-52 PM



Once you have done that you need to add the datastore. Im going to only upload one image and its bound to look stupid so follow these instructions close. Click your ESX host, then choose the Configuration tab, now under Hardware choose Storage, on the right choose Add Storage…

3-11-2013 1-43-45 PMNow a window ill pop up. Choose NFS Network File System. Then click next and a new window ill appear. Pay attention to the folder names as this is where most users go wrong.


3-11-2013 1-48-42 PMNow we need to fill in the IP of the nas: , and then the folder we want to mount on the NAS, following this example we made a folder called VMs (case sensitive!) /mnt/HD_a2/VMs

3-11-2013 1-52-00 PMGive it a name and your good to go! Press next and your done! You will now see your datastore mounted.