I have written this simple VB Script to synchronise all the sites in IIS between two servers. Feel free to use and share this script. If anybody can improve on it just post back in this thread with your version of it

Code:
' ================== '
' Sort out variables '
' ================== '
DIM srcServer
DIM dstServer
DIM objWebService
srcServer = "SERVER1"
dstServer = "SERVER2"
SET objWebService = GetObject( "IIS://" & srcServer & "/W3SVC" )
EnumWebsites objWebService
' =========================================================== '
' Enumerate web sites in IIS and call synchronisation command '
' =========================================================== '
SUB EnumWebsites( objWebService )
DIM objWebServer
FOR EACH objWebServer IN objWebService
IF objWebserver.Class = "IIsWebServer" THEN
Set objShell = WScript.CreateObject("WScript.Shell")
Dim sCmd
sCmd = "%comspec% /c msdeploy.exe -verb:sync -source:apphostconfig=""" &_
objWebServer.ServerComment & """ -dest:apphostconfig=""" & objWebServer.ServerComment_
& """,computername=""" & dstServer & """ > C:\msdeploy.log"
return = objShell.Run(sCmd,0,true)
END IF
NEXT
END SUB