How to move WSUS 3.0 to a new server

In this article I will outline how to migrate WSUS 3.0 to a new server using a local SQL Express instance and without downloading all of the updates again.

1. Install WSUS on new server with local express database.

wsusmove01

2. During configuration wizard choose "Synchronize from another WSUS server…", enter the name of the existing WSUS instance you are migrating from, and then choose the replica option.

wsusmove02

3. Complete the configuration wizard (some options will be skipped due to being a replica server)

4. Wait for initial synchronisation to complete. This will synchronise update files, approvals, and computer groups, but not other server settings. This step saves you having to download your approved updates from the internet again.

5. Change the new server from a replica to standalone.

wsusmove03

6. Download the WSUS API Samples and Tools from Microsoft and install it on each of the servers.

7. On the old server open a command prompt and navigate to the C:\Program Files\Update Services 3.0 API Samples and Tools\WsusMigrate\WsusMigrationExport folder.

8. Run "wsusmigrationexport.exe settings.xml" to export the settings. This will backup your approvals and target groups to an XML file.

9. Copy the XML file to the new server.

10. On the new server open a command prompt and navigate to C:\Program Files\Update Services 3.0 API Samples and Tools\WsusMigrate\WsusMigrationImport folder. Run "wsusmigrationimport.exe settings.xml All None".

11. Configure your server settings (products and classifications, auto-approvals, email alerts, etc) on the new server to match the old server.

12. Update your GPOs to direct clients to the new WSUS server.  If you are using GPOs to assign computers to Computer Groups in WSUS then no further action is required.  If you are manually assigning computers to Computer Groups in WSUS then all clients will initially end up in Unassigned Computers when they report in to the new WSUS server and need to be manually assigned to their correct group.

About Paul Cunningham

Paul is a Microsoft Exchange Server MVP and publisher of Exchange Server Pro. He also holds several Microsoft certifications including for Exchange Server 2007, 2010 and 2013. Connect with Paul on Twitter and Google+.

Get Free Updates

Comments

  1. Thank you for the clear instructions! I´ll try that.

  2. Excellent article…thanks!

  3. Very clear instructions. The best I found while searching. Thanks very much.

  4. Anton van der Merwe says:

    Thanks a mil, works like a charm..

  5. Marc Proulx says:

    Thanks for the excellent article. My migration seems to have worked, with one exception. The clients are reporting to the new server, however are not downloading or installing newly approved updates from the new server.

    Any ideas?

  6. Hi Marc, there are two GPO settings that are relevant. One is for the server that clients will download updates from, the other is the server they will upload their statistics too. Make sure you’ve configured both of them correctly.

  7. Marc Proulx says:

    Hi Paul,

    I do have both of these settings pointing to an alias DNS record (wsus.mydomain.com) which was an alias for the old wsus server. Upon completing the migration, I changed this DNS record to point to the new server. At first, I used the IPCONFIG /FLUSHDNS to ensure my clients were getting the new DNS information, but now, it’s been over 24 hours since the change and I’ve also tried restarting several clients. but still no luck.

    The WSUS server is indicating that there are approved updates needed by these clients, however, the clients are not downloading, or installing them.

  8. Marc Proulx says:

    Update:

    I’ve restarted the server and also reapproved the new updates a second time. Now the clients are downloading and installing the new updates.

    I have howerver notice a second problem. The new WSUS server (which is a Windows 2008 server) is not able to synchronize with Microsoft. I double and tripple checked our corporate firewall and it is configured to allow this. Here’s the error I am getting:

    WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.

    Any Ideas?

  9. Hi Marc, I haven’t experienced that problem myself but looking around it seems it is most commonly a firewall issue. What firewall are you running, and can you see whether it is allowing or denying the HTTPS requests from the WSUS server to Microsoft’s update servers?

  10. This worked very nicely – no troubles at all. Nicely done!

  11. Abiodun Sobowale says:

    thanks to the assassin! you have just made my day.

  12. Please please help me! We ran out of space on our production webserver lastnight due to 50GB of WSUSContent, so I moved some of the content files to our file server and stopped the WSUS app pool for now.

    I want to install WSUS 3.0 on another server so it won’t affect our Production Web Server.
    I want to use the existing remote database on the existing remote SQL 2005 database server.
    I want to keep my approvals.
    I want WSUSContent to be on the D: drive on the new server instead of the C: drive where it’s at now.

  13. Cynthia, sounds like a real problem on your hands. Here are my suggestions:

    Firstly, if your web server has another disk that has enough free space for the WSUS content, you can move it to that disk by following this process:

    Scenario: Moving WSUS content to a new directory or disk to free up disk space.
    1. Create the new disk/volume
    2. Create the new folder, eg E:\WSUS
    3. Open a CMD prompt and navigate to C:\Program Files\Update Services\Tools
    4. Run “wsusutil movecontent E:\WSUS e:\wsusmove.log
    5. Wait
    6. Delete the original WSUS content folder to free up space

    For your task of moving WSUS to a new server, I would suggest the following:

    1. Follow the instructions in this blog post to install a new WSUS instance on your new server, using SQL Express (ie Windows Internal Database) and specifying the correct disk to hold your WSUS content.
    2. Complete the migration to the new server as show above.
    3. Remove the old SUSDB from your SQL server.
    4. Follow my instructions here to migrate your new WSUS database from the SQL Express instance to your remote SQL Server:
    http://www.exchangeserverpro.com/2008/09/24/how-to-migrate-wsus-30-from-sql-express-to-a-remote-sql-server/

    If I’m reading your comment correctly I believe this should resolve your issues.

  14. Dheeraj says:

    Hi,

    I have tried to migrate WSUS server as per the instructions above.
    When I try to import XML file I am getting the below mentioned error

    WsusMigration failed with the below exception!
    Microsoft.UpdateServices.Administration.WsusInvalidServerException: Exception of
    type ‘Microsoft.UpdateServices.Administration.WsusInvalidServerException’ was t
    hrown.
    at Microsoft.UpdateServices.Administration.AdminProxy.GetUpdateServer()
    at Microsoft.WsusMigrationTools.ImportServerStatus.ImportData(XmlTextReader r
    eader)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

    Please advice

    Regards

    • luismendeze says:

      Helloo there:

      I solved this issue running the prompt as administrator.

      And for everything else the Paul’s procedure works like a charm.

      I made a migration from wsus in windows 2003 to wsus 3.0sp2 in windows 2008 R2

      Thank you very much Paul

    • Hi All,

      This issue is caused for 2 reasons.

      1) Several .Net 2.0 dll GAC files not present from where you are running the WsusMigrationImport or the WsusMigrationExport
      a. Microsoft.UpdateServices.Administration.dll
      b. Microsoft.UpdateServices.Common.dll
      2) You need to get the latest version of WsusMigrationImport & WsusMigrationExport of which you can get from http://www.microsoft.com/en-gb/download/details.aspx?id=1172 and replace the old files with the new ones.

      To obtain the files (a & b above) do as follows – On your old 2003 server you need to do as follows to create the two files as described above….

      Open a command prompt… and follows as I did (this is a copy and paste from my cmd prompt, yours may differ slightly).

      See if you can follows what I did

      C:\>cd WINDOWS

      C:\WINDOWS>cd assembly

      C:\WINDOWS\assembly>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly

      16/01/2012 20:23 GAC
      17/11/2009 03:06 GAC_32
      18/08/2011 13:25 GAC_MSIL
      16/07/2012 21:42 NativeImages1_v1.1.4322
      17/11/2009 03:21 NativeImages_v2.0.50727_32
      16/07/2012 21:42 temp
      16/07/2012 21:42 tmp
      0 File(s) 0 bytes
      7 Dir(s) 11,274,915,840 bytes free

      C:\WINDOWS\assembly>cd GAC

      C:\WINDOWS\assembly\GAC>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly\GAC

      16/01/2012 20:23 .
      16/01/2012 20:23 ..
      18/01/2008 14:16 Accessibility
      18/01/2008 14:16 cscompmgd
      18/01/2008 14:16 CustomMarshalers
      23/01/2008 09:42 IEExecRemote
      23/01/2008 09:42 IEHost
      18/01/2008 14:16 IIEHost
      18/01/2008 14:16 ISymWrapper
      23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
      23/01/2008 09:42 Microsoft.JScript
      18/08/2011 13:25 Microsoft.UpdateServices.Administration
      18/08/2011 13:25 Microsoft.UpdateServices.Common
      18/08/2011 13:25 Microsoft.UpdateServices.StringResources
      18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
      ources
      23/01/2008 09:42 Microsoft.VisualBasic
      18/01/2008 14:16 Microsoft.VisualBasic.Vsa
      18/01/2008 14:16 Microsoft.VisualC
      18/01/2008 14:16 Microsoft.Vsa
      18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
      18/01/2008 14:16 Microsoft_VsaVb
      18/01/2008 14:16 mscorcfg
      23/01/2008 09:42 Regcode
      16/07/2012 21:42 System
      18/01/2008 14:16 System.Configuration.Install
      23/01/2008 09:42 System.Data
      23/01/2008 09:42 System.Data.OracleClient
      23/01/2008 09:42 System.Design
      23/01/2008 09:42 System.DirectoryServices
      22/05/2012 00:27 System.Drawing
      18/01/2008 14:16 System.Drawing.Design
      23/01/2008 09:42 System.EnterpriseServices
      23/01/2008 09:42 System.Management
      23/01/2008 09:42 System.Messaging
      23/01/2008 09:42 System.Runtime.Remoting
      23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

      20/07/2010 01:15 System.Security
      23/01/2008 09:42 System.ServiceProcess
      16/01/2012 20:23 System.Web
      23/01/2008 09:42 System.Web.Mobile
      23/01/2008 09:42 System.Web.RegularExpressions
      23/01/2008 09:42 System.Web.Services
      16/07/2012 21:42 System.Windows.Forms
      23/01/2008 09:42 System.Xml
      0 File(s) 0 bytes
      44 Dir(s) 11,273,846,784 bytes free

      C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Administration

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration

      18/08/2011 13:25 .
      18/08/2011 13:25 ..
      18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
      0 File(s) 0 bytes
      3 Dir(s) 11,274,649,600 bytes free

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
      6ad364e35>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.
      0.0.0__31bf3856ad364e35

      18/08/2011 13:25 .
      18/08/2011 13:25 ..
      18/08/2011 13:21 71,584 Microsoft.UpdateServices.Administration.dll
      18/08/2011 13:25 227 __AssemblyInfo__.ini
      2 File(s) 71,811 bytes
      2 Dir(s) 11,274,649,600 bytes free

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:\
      1 file(s) copied.

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
      6ad364e35>cd ..

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd ..

      C:\WINDOWS\assembly\GAC>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly\GAC

      16/01/2012 20:23 .
      16/01/2012 20:23 ..
      18/01/2008 14:16 Accessibility
      18/01/2008 14:16 cscompmgd
      18/01/2008 14:16 CustomMarshalers
      23/01/2008 09:42 IEExecRemote
      23/01/2008 09:42 IEHost
      18/01/2008 14:16 IIEHost
      18/01/2008 14:16 ISymWrapper
      23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
      23/01/2008 09:42 Microsoft.JScript
      18/08/2011 13:25 Microsoft.UpdateServices.Administration
      18/08/2011 13:25 Microsoft.UpdateServices.Common
      18/08/2011 13:25 Microsoft.UpdateServices.StringResources
      18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
      ources
      23/01/2008 09:42 Microsoft.VisualBasic
      18/01/2008 14:16 Microsoft.VisualBasic.Vsa
      18/01/2008 14:16 Microsoft.VisualC
      18/01/2008 14:16 Microsoft.Vsa
      18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
      18/01/2008 14:16 Microsoft_VsaVb
      18/01/2008 14:16 mscorcfg
      23/01/2008 09:42 Regcode
      16/07/2012 21:42 System
      18/01/2008 14:16 System.Configuration.Install
      23/01/2008 09:42 System.Data
      23/01/2008 09:42 System.Data.OracleClient
      23/01/2008 09:42 System.Design
      23/01/2008 09:42 System.DirectoryServices
      22/05/2012 00:27 System.Drawing
      18/01/2008 14:16 System.Drawing.Design
      23/01/2008 09:42 System.EnterpriseServices
      23/01/2008 09:42 System.Management
      23/01/2008 09:42 System.Messaging
      23/01/2008 09:42 System.Runtime.Remoting
      23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

      20/07/2010 01:15 System.Security
      23/01/2008 09:42 System.ServiceProcess
      16/01/2012 20:23 System.Web
      23/01/2008 09:42 System.Web.Mobile
      23/01/2008 09:42 System.Web.RegularExpressions
      23/01/2008 09:42 System.Web.Services
      16/07/2012 21:42 System.Windows.Forms
      23/01/2008 09:42 System.Xml
      0 File(s) 0 bytes
      44 Dir(s) 11,274,399,744 bytes free

      C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Common

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common

      18/08/2011 13:25 .
      18/08/2011 13:25 ..
      18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
      0 File(s) 0 bytes
      3 Dir(s) 11,274,391,552 bytes free

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

      C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common\2.0.0.0__31bf3856ad364e3
      5>copy Microsoft.UpdateServices.Common.dll c:\
      1 file(s) copied.

      Open the root of you C:\ you will see the 2 files you just exported.

      1) Microsoft.UpdateServices.Administration.dll
      2) Microsoft.UpdateServices.Common.dll

      Copy them to the location you are running WsusMigrationImport or WsusMigrationExport from then try the import/export again…once you have obtained the new migrations tools from point 1.

  15. Hi Dheerja,

    From what I can see that error occurs if the server you are trying to import to is invalid. There can be many different reasons for that, such as:

    - new server not installed correctly
    - wrong version of WSUS tools used
    - misspelled new server name when running the command
    - permissions problem accessing the new server

    I’d suggest testing that the new server is functioning properly before trying again.

  16. Hey Paul!

    You beat me to it on my site – but THANKS A MILLION for this post – I cannot tell you how much time this saved me – and downloading time!

    Worked great!

    Cheers!
    Mike

  17. You’re welcome Mike.

  18. Hey Paul,
    Am following your method here but have run into a hitch at #7: I get the following error:

    WsusMigrationExport failed with the below exception!
    System.Net.WebException: The operation has timed out
    at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
    at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, Int32 publicationState)
    at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
    at Microsoft.UpdateServices.Internal.BaseApi.Update.SearchUpdates(UpdateScope searchScope, ExtendedPublicationState publicationState, UpdateServer updateServer)
    at Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetUpdates()
    at Microsoft.WsusMigrationTools.ExportServerStatus.DumpData(XmlTextWriter dataWriter)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

    Have looked all over the net but can’t find any solutions, have stopped/restarted everything possible to no avail..

  19. Hi Andrew, I’ve never seen that error before. Are you sure the WSUS server you’re trying to export is online and running properly?

  20. Hi Paul, yeah I could still connect to it from both a local & remote console, and clients still get nagged to restart for new updates.. I had a bit of a play though in case it was the .net install, uninstalled, reinstalled 2.0 & 2.0 SP1, along with the asp.net component of IIS in various combinations and orders but the only thing I managed to achieve was to render the WSUS server itself inaccessible from the console with a

    System.IO.IOException — The handshake failed due to an unexpected packet
    format.

    error. So I tried something else instead: I copied the DB files from the old server to the new server, stopped the Update Services service and simply replaced (detach/attach) the whole DB, complete with approvals, metadata & product/classification settings. I did have to adjust the security on the files to match the existing ones, but everything seems to be running smoothly.. hope that helps someone…

  21. Paul,
    I migrated WSUS to another server following the above steps and it seems to be working without any problems. It was the easiest migration I think I’ve ever performed. Thanks for the documentation. One question though if I may. On the drive where the database is installed, in the WsusContent folder, there are many folders being created; so far 18 this morning. These folders are quite large from 10 to 800 MB. At this rate we will be out of free space in a few days. It seems excessive since we only had 1 update needded this morning. Any Ideas?
    Thanks

    • Hi Dave, those folders are where the update catalogs and files are stored when WSUS downloads them. I’d recommend allocating more disk space to your WSUS content drive. You can see how to move the WSUS content to another drive in a comment I wrote recently to another person on this post.

  22. First thing: thank you

    Question: Isn’t there any _easy_ way to transfer clients (and their status) as well?
    I followed your steps and everything went fine (well, in lab at least). But now, when clients begin to connect, there will be a big ammount of work at wsus server and at clients… only to conclude that everything is ok.

    Last thing: why *@+** microsoft almost never think that we need transfer things (services, roles, …) from old boxes to new ones: it is always a pain: exchange, wsus, PDC, …

    Thanks again (and again…)

  23. Hi Rodeca, I’ve never really considered that to be a problem so I honestly don’t know what the answer to your first question is.

    For your second comment, yes sometimes it is pretty painful to migrate from server to server or update to new versions. WSUS is an example of this, but the improvements in WSUS 3.0 over earlier versions make it worth the effort.

  24. Unfortunately this does not work when moving from Win2003 to Win2008 x64.
    First .NET Framework 1.1 is needed for WSUS API Samples and Tools-installation. After installing evereything (and ignoring that .NET 1.1 is not supported) the import fails when trying to load “Microsoft.Updateservices.Administration” from GAC (File not found exception). Extracting the DLL from GAC or using those in the Update Services Setup folder and copying them to the Migration-Driectory mentioned above result in a “Bad File Format Errror”. This looks like doing it all over again (Approve evereything etc.). Microsoft still ignores that they are developing x64 systems ;-)

  25. I had the same problem with the .net framework error on 2k8 x64, where I then exited the installation. We ended up building our server and recreating the groups and approvals, to later revisit the problem. After working with MS who verified the installation works fine on thier end, we then downloaded a fresh copy of the API samples and were able to install them with no issue or prompts about .net framework.

    If you are running 64 bit dont forget to use the correct Program files directory (X86), otherwise you will get errors when running the commands above.

  26. Just wanted to say thanks for this post. I just migrated our primary WSUS server tonight and it went very smoothly.

    FYI I was going from Server 2003 32-bit with local SQL 2005 Express to Server 2008 64-bit using a remote SQL 2005 Standard server, and had no errors or problems. Since WSUS 3.0 SP2 hit this morning, I went ahead and applied that to the old server first, then used the SP2 integrated installer on the new server. We also have a replica server in a branch site, and I was able to update it to replicate from the new server without an issue.

  27. willschillin says:

    Mark,

    I read your response to Cynthia which is almost exactly what I needed to do. I did the first part using the utility to move the data, that part is done. However the original WSUS folder (27GB) on C: is still there, is it safe to just delete that once the move it is finished? I have two folders now, C:\WSUS and E:\WSUS, the idea is to fuly remove the C:\WSUS\WSUSContent on the same server and not have anymore updates go into that folder, instead go into E:\WSUS. I see the sharing of WSUSContent is automatically moved after that command finished so I believe its safe to just delete this duplicate data off C:\WSUS\WSUSContent. Is that correct?

    Thanks ahead of time. Great post will recommend to others ;)

    Will

  28. Kevin Greenway says:

    Yep great post thanks a lot! Had to move the wsus content to another server due to shortage of space, just like others..worked a treat.

  29. Dan Wilson says:

    Procedure completely destroyed WSUS on an x64 server. The API/Tools installation requires .Net framework 1.1, which makes the WSUS console and update services not work anymore. The API/Tools can’t export the server settings on an x64 machine (returns an error). Had to remove WSUS completely, and start over from scratch on another server.

  30. I migrated WSUS to another server following the above steps and it seems to be working without any problems. It was the easiest migration I think I’ve ever performed. Thanks for the documentation.

  31. Mohammed Alani says:

    Thanks alote ….

  32. Hey Paul,
    After migration of WSUS 3.0 SP1 to the new server, We have synced the new server with the old WSUS servers and imported the configuration setting from old WSUS server to the new WSUS server after that computer group are showing but in the group no machine are listed all the machine are showing in the unassigned group, But in the old server all the computes are listed in the respective computer groups.
    Do we have to manually move the machines to the respective group?

    • If your computers were assigned to groups via GPO that should handle it automatically. If you were using manual assignment then you’ll probably need to go ahead and redo all the assignments manually.

  33. Thanks Paul…

  34. Does this solution work when we have downstream servers and we need to move the primary one on the new hardware?

  35. Hi Paul.

    When I try and export the setting I get the follwing error, I see it’s the same as posted by Andrew. Any advice ?

    WsusMigrationExport failed with the below exception!
    System.Net.WebException: The operation has timed out
    at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest
    request)
    at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequ
    est request)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodN
    ame, Object[] parameters)
    at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchUpdates(Strin
    g updateScopeXml, String preferredCulture, Int32 publicationState)
    at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.Exec
    uteSPSearchUpdates(String updateScopeXml, String preferredCulture, ExtendedPubli
    cationState publicationState)
    at Microsoft.UpdateServices.Internal.BaseApi.Update.SearchUpdates(UpdateScope
    searchScope, ExtendedPublicationState publicationState, UpdateServer updateServ
    er)
    at Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetUpdates()
    at Microsoft.WsusMigrationTools.ExportServerStatus.DumpData(XmlTextWriter dat
    aWriter)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

  36. Gary Bledsoe says:

    Paul, I followed your procedures and it worked fine until the import step. I’m moving from a Server 2003 platform with WSUS SP2 and SQL Express 2005 installation to a Server 2008 R2 platform with WSUS SP2 and SQL Express 2008.

    I got the following error:
    WsusMigration failed with the below exception!
    Microsoft.UpdateServices.Administration.WsusInvalidServerException: Exception of
    type ‘Microsoft.UpdateServices.Administration.WsusInvalidServerException’ was thrown.
    at Microsoft.UpdateServices.Administration.AdminProxy.GetUpdateServer()
    at Microsoft.WsusMigrationTools.ImportServerStatus.ImportData(XmlTextReader reader)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

    Not sure where the error is being created. Is there a mis-match between source and destination in configuration or just too big a jump?

  37. Hey Paul,

    Found this page while googling. Your instructions worked perfectly for exporting/importing from a prod to test server, but let me just run it by you to see your thoughts, if you’re still checking this.

    Right now we have one upstream server which gets updates from MU, and then we have 3 autonomous WSUS servers at different physical locations which sync to the upstream server. This was set up “before my time” and it’s my goal to move these 3 servers into a replication model so I don’t have to approve 50-60 updates per server each time we have a patch cycle (we do quarterly patching). In the new system, these 3 servers would be replicas and all groups and updates would be pushed from the upstream server.

    My current plan, using your instructions here, is to export xml files from these 3 autonomous servers, disable WSUS services on them, and then import them into the existing upstream server. I would then re-enable the 3 WSUS downstream servers in replica mode. In theory (in my head), the new replicas will then sync with the upstream which now holds all computer groups and approvals. We have a ton of groups and thousands upon thousands of approvals set, so “starting over” isn’t really an option here. Do you think this plan will work out?

  38. Thanks a lot, i followed ur steps and it was sucessfull which saved my time.
    Just like to share one more thing, when i deployed WSUS on new server it created computers groups but not the computers, the computers will be populated once the users connect to ths new server after GPO change. Which would agian be manual task to move compuetrs based upon OU and time consuming.
    I got one free to download tool which will help to migrate computers from old server to new WSUS server.

    https://www.eminentware.com/cs2008/media/p/430.aspx

  39. So in answer to the folks who had the exception with the import on a Windows 2008/Windows 2008 R2… be sure to run your command prompt using ‘Run as Administrator’ and it works like a charm!

  40. I ran through this process and it seemed to work well. I have a couple questions:

    1. I am assigning target groups via GPO; however, as clients cotnact the new WSUS server, they are being put in the Unassigned group. What did I do wrong?

    2. What do I need to look for to verify a successful connection to the new server?

    Thanks,

    jeff

  41. Hi Jeff, if you’ve set up group assignments in your GPOs make sure the WSUS server is also configured to use GPO group assignments and not manual assignments.

    You can use the WSUS Client Diagnostic Tools from Microsoft to test connections to the server.

  42. When you make the “New” server a replica server, this mirror’s all approvals, settings, computers and groups from the parent.
    So why do you have the run the script to export/import approvals and groups, as these should of been sychronized already?

    Or the procedure of converting a replica server to a stand-alone server, remove these approvals and groups?

  43. To those saying it doesn’t work on Windows Server 2008 x64, there have already been a few people posting they’ve done it successfully. I’m happy to say that so have I (at least it seems that way). We’ve gone from a physical 2003 x86 machine to a virtual 2008 x64 SP2 machine.

    When trying to install “WSUS API Samples and Tools” I received the message “This setup required .net framework version 1.1.4322″.
    I tried to install it using: https://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en
    I received a warning regarding compatibility issues. I took a snapshot of the VM, then proceeded to install it anyway. The export/import of settings seemed to work fine.

    The only oddity at the moment is that despite using GPOs successfully in the past for client side targeting (putting clients in to computer groups) on the old WSUS server, this doesn’t appear to be working on the new WSUS server.
    I cloned the original GPO, modifying only:
    “Set the intranet update service for detecting updates”
    “Set the intranet statistics server”
    to reflect the new server.
    Despite this, and using gpupdate /force and rebooting the clients multiple times, they remain in the unassigned group on the new server. They report their update status to the new WSUS server without issue.

    Hmmm.

  44. Ah, the solution had already been posted – make sure your WSUS server is set to “Use Group Policy or registry settings on computers”.

    http://dl.dropbox.com/u/273709/wsusdoh.png

    Why doesn’t it include in this setting in the settings migration? Doh!

    So, 2003 x86 -> 2008 x64, all good!

    Many thanks :)

  45. Hi Paul,

    We have recently purchased a new server for the WSUS. I have migrated across the old WSUS to the new.
    I followed your instructions and everything seemed to go ok, except i noticed when doing the initial sync from the original server it only downloaded 25GB of updates and the old servers updates database is 40GB

    Only 5 computers have so far showed up in the console, I have reset the group policy to comply with the new update location but still i have noticed majority of the desktops are still pointing to the old server in the windows update log.

    I have restarted both server and computers numerous times, have you got any ideas on what this could be?

    Thanks!

    • Brett, I’m a bit rusty on WSUS but I think the new server will only download updates that clients *need*, not necessarily every update the old server had already downloaded.

      For those clients not reporting to the correct server, run gpupdate /force and then double-check the registry key for Windows Update settings and make sure that it has updated to the new server. If it hasn’t then look for GPO processing errors, or perhaps the GPOs are not properly applying to those clients.

      You should also check that the WSUS server is set to GPO assigned computer groups, not manually assigned ones.

  46. I’m receiving this error message when i try to import:
    C:\Program Files\Update Services 3.0 API Samples and Tools\WsusMigrate\WsusMigra
    tionImport>WsusMigrationImport.exe settings.xml All None
    WsusMigration failed with the below exception!
    System.IO.FileNotFoundException: Could not find file ‘C:\Program Files\Update Se
    rvices 3.0 API Samples and Tools\WsusMigrate\WsusMigrationImport\settings.xml’.
    File name: ‘C:\Program Files\Update Services 3.0 API Samples and Tools\WsusMigra
    te\WsusMigrationImport\settings.xml’
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
    nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
    ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
    FileShare share, Int32 bufferSize)
    at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)

    at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofO
    bjectToReturn)
    at System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver)
    at System.Threading.CompressedStack.runTryCode(Object userData)
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCl
    eanup(TryCode code, CleanupCode backoutCode, Object userData)
    at System.Threading.CompressedStack.Run(CompressedStack compressedStack, Cont
    extCallback callback, Object state)
    at System.Xml.XmlTextReaderImpl.OpenUrl()
    at System.Xml.XmlTextReaderImpl.Read()
    at System.Xml.XmlTextReader.Read()
    at System.Xml.XmlReader.MoveToContent()
    at Microsoft.WsusMigrationTools.ImportServerStatus.ImportData(XmlTextReader r
    eader)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)
    I have followed the instructions but not sure where to go with this. I have read other post in here and i have seen similar messages but I haven’t seen this one.

    • Amy, this part of the error is interesting:

      System.IO.FileNotFoundException: Could not find file ‘C:\Program Files\Update Se
      rvices 3.0 API Samples and Tools\WsusMigrate\WsusMigrationImport\settings.xml’.

      Is that where your settings.xml file is located? You might need to specify the exact path to settings.xml when you are running the import tool.

      • I have no settings.xml file in the WsusMigrationImports directory. In your step 9-I copied the settings.xml from the old server to the new server in the following directory C:\Program Files\Update Se
        rvices 3.0 API Samples and Tools\WsusMigrate\WsusMigrationExport folder. Is this correct?

      • You can copy it anywhere you want, but when you run the import tool it will look in the current directory you’re in unless you specifically tell it the full path to the settings.xml file.

        So if the file was in C:\temp\settings.xml you would run:

        wsusmigrationimport.exe c:\temp\settings.xml All None

  47. It worked! thanks!! question-we have GPO setup already, so when do the computers start to show in WSUS. I disabled the old WSUS server NIC and I’m using the static IP address from there? Do i need to shutdown and reboot the server?

    • They’ll start reporting in on whatever schedule is set in the GPO.

      If you want to manually initiate the cycle you can use:

      wuauclt /detectnow
      wuauclt /reportnow

      from a command line on the client machines.

  48. One more question-we have two downstream servers and i don’t see them in WSUS setup. when will they show up?

  49. Everything seems to be working now but I have a question. should the downstream servers have the same amount of patches as the upstream? I’m showing our downstream servers have more patches than the upstream server.

  50. James "Atreidae" Arber says:

    Hey for those getting an error importing the setting XML similar to below.

    Microsoft.UpdateServices.Administration.WsusInvalidServerException: Exception of type ‘Microsoft.UpdateServices.Administration.WsusInvalidServerException’ was thrown.

    Before delving too far into things, make sure your running the command prompt as administrator on newer versions of windows.

  51. Dale Smith says:

    Thanks for this guide – best one I found so far.

    I did a fresh WSUS 3.0 SP2 install on a 2008 R2 host and set it up as a replica of our existing 2003 SP2-based 3.0 SP2 installation and all my approvals came across in the replica sync.

    I didn’t do steps 7-10 because at first I got a weird error (none related to any listed here) – but checked known custom approvals for target groups and they were all there.

    All is running happily by just setting it as a replica and waiting for the initial sync, then swapping back.

    Be nice if MS let us use a custom DB name, rather than be locked to ‘SUSDB’ – I could’ve avoided the extra work of having to take WSUS down to detach the WID SUSDB and then attach it to our SQL Server cluster after decommissioning the old WSUS host.

    I know you can change the name of the database used in the Registry – but I’ve also read that it’s not recommended as some functions and stored procedures may be hardcoded to reference ‘SUSDB’.

  52. Hello,

    I want to move my wsus server 2003 to a new 2003 box with more space. Can I follow the same steps as per the instroctions on this site? I’m running the sus database in a separate SQL server can some one please advice?

    Thank you.

  53. Ziv Shadar says:

    Hi Paul,
    One correction, this is not installation using sql express but installation using Windows Internal Database, which is based on sql but is not sql express. If you want to use sql express then you have to install it manualy before.

    Regards

  54. Vince Dinenna says:

    Nice work! Best “howto” on the subject on the net.

    Had a problem showing groups after syncronization, but moving a computer for Unassigned group to the proper group populated all the groups in the left window pane.

    Thanks and regards!

    Vince

  55. Great walkthrough! Works neatly.
    Thanks

  56. Excellent instructions. Saved me a lot of work,thanks!

  57. Erik Willadsen says:

    Step 11 should be moved to being step 3.5

    I followed the directions and everything worked great until step 11 when I added products to my download list after switching back to the Microsoft server. I have an additional 50GB of downloads.

    Thanks for the instructions!

  58. Hi,
    I have WSUS on Windows 2008 x64 server with remote instance on MS SQL 2008. Now I want to migrate it to Windows 2008R2 x64 server. Can I only migrate the settings from old server to new server and then detach the volume with WSUS content on old server and attach it on the new server? What to do next? Thanx Martin

  59. WsusMigrationExport failed with the below exception!
    System.InvalidOperationException: There is an error in XML document (5, 3195514). —> System.Xml.
    xception: ‘

  60. Hello,
    I followed the article and I have the following problem with export settings:

    WsusMigrationExport failed with the below exception!
    System.InvalidOperationException: There is an error in XML document (5, 3195514). —> System.Xml.
    xception: ‘

  61. Hello,
    I have following problem with export:

    WsusMigrationExport failed with the below exception!
    System.InvalidOperationException: There is an error in XML document (5, 3195514). —> System.Xml.
    xception: ‘

  62. Hey everyone! Great article here…

    after trying another method (from TechNet – which failed…) I decided to give this a whirl..

    everything was clockwork up until running the export command, I was getting errors similar to others.

    What I did was REMOVE the WSUS API Samples and TOols and then “re-installed it” but this time I selected “Everyone” can use it (not “just me”) in the install wizard.

    Also, I made sure that my Command Prompt that I was running the tools in was in the Administrator Context. On W2K3, right-click and say run as and then make sure it has Administrator checked, **BUT MAKE SURE you de-select “Run in restricted mode”…

    once I figured this out the rest of the process was smooth… I am still waiting for my clients to restart and hook into the new WSUS server, once the GPO deploys I’m hoping all is well…

    Take care! Thanks again for all the great info!
    JIm

  63. Great instructions!
    Still, I am missing the old computers not reporting before the migration…
    There is a way/tool to import them in the new server?
    Thanks,
    Tic

    • Run a GPResult or RSOP report to make sure the correct WSUS settings are applying to the computers.

      • Thanks, here is the case :some mobile/laptop users reported once to previous sever, but not on the new wsus (summer vacation in education…)! so I do not have access to the laptops, I just want to keep track of previous (not reporting) clients, instead of comparing to a previous server/report…the main ideea: there is more info in previous database (not replicated)

  64. Vishal Kumar SIngh says:

    HI Mark,

    Thanks for the article….a smooth transition from WSUS 3.o SP1 (win 2003 server) to WSUS 3.0 SP2 (win 2008 r2 server). Still waiting for first synchronization from MS update services. hopefully it will be fine..!

  65. Hi Paul,

    Thanks for the great instructions. I sucessfully migrated WSUS 3 SP2 from a Win 2008 x86 to Win 2008 R2 x64 server. Everything worked exactly as shown.

  66. Hello, I made all these steps and it was working good. I updated all GPO to new server but one day I can’t open wsus console, takes long minutes and finally shows me errors: “The snap-in is not responding”. There are many events 1309.

    Event code: 3001

    Event message: The request has been aborted.
    Event time: 10/10/2011 6:24:53 PM
    Event time (UTC): 10/10/2011 11:24:53 PM
    Event ID: 82a3b61a231c4c5f9e546395b64427bd
    Event sequence: 2114
    Event occurrence: 73
    Event detail code: 0

    Application information:

    Application domain: /LM/W3SVC/1/ROOT/ClientWebService-3-129627621622743830
    Trust level: Full
    Application Virtual Path: /ClientWebService
    Application Path: c:\Program Files\Update Services\WebServices\ClientWebService\
    Machine name: RSIAPP02

    Process information:

    Process ID: 2660
    Process name: w3wp.exe
    Account name: NT AUTHORITY\NETWORK SERVICE

    Exception information:

    Exception type: HttpException
    Exception message: Request timed out.

    Request information:

    Request URL: http://rsiapp02/ClientWebService/client.asmx
    Request path: /ClientWebService/client.asmx
    User host address: 10.21.118.40
    User:
    Is authenticated: False
    Authentication Type:
    Thread account name: NT AUTHORITY\NETWORK SERVICE

    Thread information:

    Thread ID: 14
    Thread account name: NT AUTHORITY\NETWORK SERVICE
    Is impersonating: False
    Stack trace:

    I restarted IIS, Update Services and also I delete wsus file in %appdata%\Microsoft\MMC but I noticed that process w3wp.exe is full 100% in task manager.

    What can I do?

  67. Rakesh Desai says:

    Thanks
    This information is really help to me for moving to another server 2003

  68. john holcomb says:

    C:\Program Files (x86)\Update Services 3.0 API Samples and Tools\WsusMigrate\Wsu
    sMigrationImport>wsusmigrationimport.exe settings.xml All None
    WsusMigration failed with the below exception!
    Microsoft.UpdateServices.Administration.WsusInvalidServerException: Exception of
    type ‘Microsoft.UpdateServices.Administration.WsusInvalidServerException’ was t
    hrown.
    at Microsoft.UpdateServices.Administration.AdminProxy.GetUpdateServer()
    at Microsoft.WsusMigrationTools.ImportServerStatus.ImportData(XmlTextReader r
    eader)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

    C:\Program Files (x86)\Update Services 3.0 API Samples and Tools\WsusMigrate\Wsu
    sMigrationImport>

  69. Pasquale says:

    Hi Paul,

    I have been tasked in upgrading 10 WSUS servers running Windows 2003 R2 to
    Windows 2008 R2. I don’t have much experience with WSUS as I have used
    Shavlik which is now VMWare Vcenter protect for the last 8 years. My issue
    is the destination server has to have the same name and IP address of the
    host server. The database is the “Windows Internal Database.”

    Can you give me some ideas to help me out in upgrading
    WSUS it would be greatly appreciated.

    Thanks,

    Pasquale

  70. Brilliant article mate, really appreciate the time taken for you to post this

  71. Hi Paul

    Please help me , after wsus migration from 2003 to 2008 R2 SP1 .I get This error on cliet side when I want to update them : Code 800B0001

    I just went through your instructions . and installed “Microsoft Report view 2008 Redistributable”
    for getting report from clients on WSUS

    Please help

  72. Great Help, I will try this and update.

    Thanks a Ton.

  73. Hi. Thank you for the very clear guideline. I went through the whole migration without issues but I have a question regarding approved updates. After I was done, the WSUS is requesting to re-approve thousands of updates. Is it safe to re-approve them? Here’s a link to what I see. Thanks in advance.

    http://i.imgur.com/Lc6fR.jpg

    • Actually. I figured out that this was not my problem. The WSUS installation did not created the IIS website WSUS Administration thus nothing can reach the server. Have any body experienced this issue? Thanks!

      • Once again. I got this part resolved but now I found that all of the computers are in the unassigned section of computers. None of the computers got into their respective OU. Shouldn’t the migration part had taken care of this? Do I need to reassign all computers manually? I imagine that there is an automatic way to accomplish this. Thanks for the help.

  74. You definitely have to reassign them again.

  75. Hi All,

    This issue with export / import is caused for 2 reasons.

    1) Several .Net 2.0 dll GAC files not present from where you are running the WsusMigrationImport or the WsusMigrationExport
    a. Microsoft.UpdateServices.Administration.dll
    b. Microsoft.UpdateServices.Common.dll
    2) You need to get the latest version of WsusMigrationImport & WsusMigrationExport of which you can get from http://www.microsoft.com/en-gb/download/details.aspx?id=1172 and replace the old files with the new ones.

    To obtain the files (a & b above) do as follows – On your old 2003 server you need to do as follows to create the two files as described above….

    Open a command prompt… and follows as I did (this is a copy and paste from my cmd prompt, yours may differ slightly).

    Follow what I did in bold

    C:\>cd WINDOWS

    C:\WINDOWS>cd assembly

    C:\WINDOWS\assembly>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly

    16/01/2012 20:23 GAC
    17/11/2009 03:06 GAC_32
    18/08/2011 13:25 GAC_MSIL
    16/07/2012 21:42 NativeImages1_v1.1.4322
    17/11/2009 03:21 NativeImages_v2.0.50727_32
    16/07/2012 21:42 temp
    16/07/2012 21:42 tmp
    0 File(s) 0 bytes
    7 Dir(s) 11,274,915,840 bytes free

    C:\WINDOWS\assembly>cd GAC

    C:\WINDOWS\assembly\GAC>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC

    16/01/2012 20:23 .
    16/01/2012 20:23 ..
    18/01/2008 14:16 Accessibility
    18/01/2008 14:16 cscompmgd
    18/01/2008 14:16 CustomMarshalers
    23/01/2008 09:42 IEExecRemote
    23/01/2008 09:42 IEHost
    18/01/2008 14:16 IIEHost
    18/01/2008 14:16 ISymWrapper
    23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
    23/01/2008 09:42 Microsoft.JScript
    18/08/2011 13:25 Microsoft.UpdateServices.Administration
    18/08/2011 13:25 Microsoft.UpdateServices.Common
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
    ources
    23/01/2008 09:42 Microsoft.VisualBasic
    18/01/2008 14:16 Microsoft.VisualBasic.Vsa
    18/01/2008 14:16 Microsoft.VisualC
    18/01/2008 14:16 Microsoft.Vsa
    18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
    18/01/2008 14:16 Microsoft_VsaVb
    18/01/2008 14:16 mscorcfg
    23/01/2008 09:42 Regcode
    16/07/2012 21:42 System
    18/01/2008 14:16 System.Configuration.Install
    23/01/2008 09:42 System.Data
    23/01/2008 09:42 System.Data.OracleClient
    23/01/2008 09:42 System.Design
    23/01/2008 09:42 System.DirectoryServices
    22/05/2012 00:27 System.Drawing
    18/01/2008 14:16 System.Drawing.Design
    23/01/2008 09:42 System.EnterpriseServices
    23/01/2008 09:42 System.Management
    23/01/2008 09:42 System.Messaging
    23/01/2008 09:42 System.Runtime.Remoting
    23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

    20/07/2010 01:15 System.Security
    23/01/2008 09:42 System.ServiceProcess
    16/01/2012 20:23 System.Web
    23/01/2008 09:42 System.Web.Mobile
    23/01/2008 09:42 System.Web.RegularExpressions
    23/01/2008 09:42 System.Web.Services
    16/07/2012 21:42 System.Windows.Forms
    23/01/2008 09:42 System.Xml
    0 File(s) 0 bytes
    44 Dir(s) 11,273,846,784 bytes free

    C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Administration

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
    0 File(s) 0 bytes
    3 Dir(s) 11,274,649,600 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
    6ad364e35>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.
    0.0.0__31bf3856ad364e35

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:21 71,584 Microsoft.UpdateServices.Administration.dll
    18/08/2011 13:25 227 __AssemblyInfo__.ini
    2 File(s) 71,811 bytes
    2 Dir(s) 11,274,649,600 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:\
    1 file(s) copied.

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
    6ad364e35>cd ..

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd ..

    C:\WINDOWS\assembly\GAC>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC

    16/01/2012 20:23 .
    16/01/2012 20:23 ..
    18/01/2008 14:16 Accessibility
    18/01/2008 14:16 cscompmgd
    18/01/2008 14:16 CustomMarshalers
    23/01/2008 09:42 IEExecRemote
    23/01/2008 09:42 IEHost
    18/01/2008 14:16 IIEHost
    18/01/2008 14:16 ISymWrapper
    23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
    23/01/2008 09:42 Microsoft.JScript
    18/08/2011 13:25 Microsoft.UpdateServices.Administration
    18/08/2011 13:25 Microsoft.UpdateServices.Common
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
    ources
    23/01/2008 09:42 Microsoft.VisualBasic
    18/01/2008 14:16 Microsoft.VisualBasic.Vsa
    18/01/2008 14:16 Microsoft.VisualC
    18/01/2008 14:16 Microsoft.Vsa
    18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
    18/01/2008 14:16 Microsoft_VsaVb
    18/01/2008 14:16 mscorcfg
    23/01/2008 09:42 Regcode
    16/07/2012 21:42 System
    18/01/2008 14:16 System.Configuration.Install
    23/01/2008 09:42 System.Data
    23/01/2008 09:42 System.Data.OracleClient
    23/01/2008 09:42 System.Design
    23/01/2008 09:42 System.DirectoryServices
    22/05/2012 00:27 System.Drawing
    18/01/2008 14:16 System.Drawing.Design
    23/01/2008 09:42 System.EnterpriseServices
    23/01/2008 09:42 System.Management
    23/01/2008 09:42 System.Messaging
    23/01/2008 09:42 System.Runtime.Remoting
    23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

    20/07/2010 01:15 System.Security
    23/01/2008 09:42 System.ServiceProcess
    16/01/2012 20:23 System.Web
    23/01/2008 09:42 System.Web.Mobile
    23/01/2008 09:42 System.Web.RegularExpressions
    23/01/2008 09:42 System.Web.Services
    16/07/2012 21:42 System.Windows.Forms
    23/01/2008 09:42 System.Xml
    0 File(s) 0 bytes
    44 Dir(s) 11,274,399,744 bytes free

    C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Common

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
    0 File(s) 0 bytes
    3 Dir(s) 11,274,391,552 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common\2.0.0.0__31bf3856ad364e3
    5>copy Microsoft.UpdateServices.Common.dll c:\
    1 file(s) copied.

    Open the root of you C:\ you will see the 2 files you just exported.

    1) Microsoft.UpdateServices.Administration.dll
    2) Microsoft.UpdateServices.Common.dll

    Copy them to the location you are running WsusMigrationImport or WsusMigrationExport from then try the import/export again…once you have obtained the new migrations tools from point 1.

  76. Hi All,

    The issue with export / import is caused for 2 reasons.

    1) Several .Net 2.0 dll GAC files not present from where you are running the WsusMigrationImport or the WsusMigrationExport
    a. Microsoft.UpdateServices.Administration.dll
    b. Microsoft.UpdateServices.Common.dll
    2) You need to get the latest version of WsusMigrationImport & WsusMigrationExport of which you can get from http://www.microsoft.com/en-gb/download/details.aspx?id=1172 and replace the old files with the new ones.

    To obtain the files (a & b above) do as follows – On your old 2003 server you need to do as follows to create the two files as described above….

    Open a command prompt… and follows as I did (this is a copy and paste from my cmd prompt, yours may differ slightly).

    See if you can follow what I did to fix this.
    C:\>cd WINDOWS

    C:\WINDOWS>cd assembly

    C:\WINDOWS\assembly>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly

    16/01/2012 20:23 GAC
    17/11/2009 03:06 GAC_32
    18/08/2011 13:25 GAC_MSIL
    16/07/2012 21:42 NativeImages1_v1.1.4322
    17/11/2009 03:21 NativeImages_v2.0.50727_32
    16/07/2012 21:42 temp
    16/07/2012 21:42 tmp
    0 File(s) 0 bytes
    7 Dir(s) 11,274,915,840 bytes free

    C:\WINDOWS\assembly>cd GAC

    C:\WINDOWS\assembly\GAC>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC

    16/01/2012 20:23 .
    16/01/2012 20:23 ..
    18/01/2008 14:16 Accessibility
    18/01/2008 14:16 cscompmgd
    18/01/2008 14:16 CustomMarshalers
    23/01/2008 09:42 IEExecRemote
    23/01/2008 09:42 IEHost
    18/01/2008 14:16 IIEHost
    18/01/2008 14:16 ISymWrapper
    23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
    23/01/2008 09:42 Microsoft.JScript
    18/08/2011 13:25 Microsoft.UpdateServices.Administration
    18/08/2011 13:25 Microsoft.UpdateServices.Common
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
    ources
    23/01/2008 09:42 Microsoft.VisualBasic
    18/01/2008 14:16 Microsoft.VisualBasic.Vsa
    18/01/2008 14:16 Microsoft.VisualC
    18/01/2008 14:16 Microsoft.Vsa
    18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
    18/01/2008 14:16 Microsoft_VsaVb
    18/01/2008 14:16 mscorcfg
    23/01/2008 09:42 Regcode
    16/07/2012 21:42 System
    18/01/2008 14:16 System.Configuration.Install
    23/01/2008 09:42 System.Data
    23/01/2008 09:42 System.Data.OracleClient
    23/01/2008 09:42 System.Design
    23/01/2008 09:42 System.DirectoryServices
    22/05/2012 00:27 System.Drawing
    18/01/2008 14:16 System.Drawing.Design
    23/01/2008 09:42 System.EnterpriseServices
    23/01/2008 09:42 System.Management
    23/01/2008 09:42 System.Messaging
    23/01/2008 09:42 System.Runtime.Remoting
    23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

    20/07/2010 01:15 System.Security
    23/01/2008 09:42 System.ServiceProcess
    16/01/2012 20:23 System.Web
    23/01/2008 09:42 System.Web.Mobile
    23/01/2008 09:42 System.Web.RegularExpressions
    23/01/2008 09:42 System.Web.Services
    16/07/2012 21:42 System.Windows.Forms
    23/01/2008 09:42 System.Xml
    0 File(s) 0 bytes
    44 Dir(s) 11,273,846,784 bytes free

    C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Administration

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
    0 File(s) 0 bytes
    3 Dir(s) 11,274,649,600 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
    6ad364e35>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.
    0.0.0__31bf3856ad364e35

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:21 71,584 Microsoft.UpdateServices.Administration.dll
    18/08/2011 13:25 227 __AssemblyInfo__.ini
    2 File(s) 71,811 bytes
    2 Dir(s) 11,274,649,600 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:\
    1 file(s) copied.

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration\2.0.0.0__31bf385
    6ad364e35>cd ..

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Administration>cd ..

    C:\WINDOWS\assembly\GAC>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC

    16/01/2012 20:23 .
    16/01/2012 20:23 ..
    18/01/2008 14:16 Accessibility
    18/01/2008 14:16 cscompmgd
    18/01/2008 14:16 CustomMarshalers
    23/01/2008 09:42 IEExecRemote
    23/01/2008 09:42 IEHost
    18/01/2008 14:16 IIEHost
    18/01/2008 14:16 ISymWrapper
    23/01/2008 09:51 Microsoft.Interop.Security.AzRoles
    23/01/2008 09:42 Microsoft.JScript
    18/08/2011 13:25 Microsoft.UpdateServices.Administration
    18/08/2011 13:25 Microsoft.UpdateServices.Common
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources
    18/08/2011 13:25 Microsoft.UpdateServices.StringResources.res
    ources
    23/01/2008 09:42 Microsoft.VisualBasic
    18/01/2008 14:16 Microsoft.VisualBasic.Vsa
    18/01/2008 14:16 Microsoft.VisualC
    18/01/2008 14:16 Microsoft.Vsa
    18/01/2008 14:16 Microsoft.Vsa.Vb.CodeDOMProcessor
    18/01/2008 14:16 Microsoft_VsaVb
    18/01/2008 14:16 mscorcfg
    23/01/2008 09:42 Regcode
    16/07/2012 21:42 System
    18/01/2008 14:16 System.Configuration.Install
    23/01/2008 09:42 System.Data
    23/01/2008 09:42 System.Data.OracleClient
    23/01/2008 09:42 System.Design
    23/01/2008 09:42 System.DirectoryServices
    22/05/2012 00:27 System.Drawing
    18/01/2008 14:16 System.Drawing.Design
    23/01/2008 09:42 System.EnterpriseServices
    23/01/2008 09:42 System.Management
    23/01/2008 09:42 System.Messaging
    23/01/2008 09:42 System.Runtime.Remoting
    23/01/2008 09:42 System.Runtime.Serialization.Formatters.Soap

    20/07/2010 01:15 System.Security
    23/01/2008 09:42 System.ServiceProcess
    16/01/2012 20:23 System.Web
    23/01/2008 09:42 System.Web.Mobile
    23/01/2008 09:42 System.Web.RegularExpressions
    23/01/2008 09:42 System.Web.Services
    16/07/2012 21:42 System.Windows.Forms
    23/01/2008 09:42 System.Xml
    0 File(s) 0 bytes
    44 Dir(s) 11,274,399,744 bytes free

    C:\WINDOWS\assembly\GAC>cd Microsoft.UpdateServices.Common

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common

    18/08/2011 13:25 .
    18/08/2011 13:25 ..
    18/08/2011 13:25 2.0.0.0__31bf3856ad364e35
    0 File(s) 0 bytes
    3 Dir(s) 11,274,391,552 bytes free

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

    C:\WINDOWS\assembly\GAC\Microsoft.UpdateServices.Common\2.0.0.0__31bf3856ad364e3
    5>copy Microsoft.UpdateServices.Common.dll c:\
    1 file(s) copied.

    Open the root of you C:\ you will see the 2 files you just exported.

    1) Microsoft.UpdateServices.Administration.dll
    2) Microsoft.UpdateServices.Common.dll

    Copy them to the location you are running WsusMigrationImport or WsusMigrationExport from then try the import/export again…once you have obtained the new migrations tools from point 1.

  77. Hi,

    We have 02 standalone WSUS server one at San Francisco and other at Crawley . The configuration of both the servers are different mainly “computer groups” . I have an assignment to configure the crawley WSUS server as downstream & SFO WSUS as upstream server . My main concern is about the groups & computers that are existing in crawley server . Once i will configure crawley server as replica server , then all the setting of upstream will be copied to downstream server and overwrite the configuration of crawley .

    Please suggest the steps to perform this configuration successfully .

    Reply will be really appreciable ………….

  78. When trying to change the server to Standalone (from replica in step 5) I keep getting a database error in the WSUS console, and it wont let me change it to standalone. I am using WIndows Internal Database…..

  79. error I am getting when trying to change the NEW wsus server to a standalone from replica (as in step 5)… I am using WIndows Internal database, not sql

    The WSUS administration console was unable to connect to the WSUS Server Database.

    Verify that SQL server is running on the WSUS Server. If the problem persists, try restarting SQL.

    System.Data.SqlClient.SqlException — Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32).
    Info:spSetConfiguration – SyncToMU or UpstreamServerName config value changed – no reset

    Source
    .Net SqlClient Data Provider

    Stack Trace:
    at Microsoft.UpdateServices.UI.AdminApiAccess.UpdateServerConfigurationManager.SaveServerConfiguration(IUpdateServerConfiguration configuration)
    at Microsoft.UpdateServices.UI.SnapIn.Dialogs.UssConnectionSettingsDialog.SaveAllSettings()
    at Microsoft.UpdateServices.UI.SnapIn.Dialogs.BaseSettingsDialog.ApplyDialogButton_Click(Object sender, EventArgs e)

  80. Gaetano Ragusa says:

    Great man, thanks for the article!

  81. Eamonn Deering says:

    Using damian.flynn dot net 45 version I migrated to 2012 R2.

Leave a Comment

*

We are an Authorized DigiCert™ SSL Partner.