Home » Exchange Server » How to move WSUS 3.0 to a new server

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 FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigrationExport 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 FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigrationImport 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.

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server

136 comments

  1. 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?

  2. Paul says:

    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.

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

  4. 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?

  5. Paul says:

    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?

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

  7. Paul says:

    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 FilesUpdate ServicesTools
    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://practical365.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.

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

    • CW says:

      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:WINDOWSassembly>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:WINDOWSassembly

      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:WINDOWSassembly>cd GAC

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

      Directory of C:WINDOWSassemblyGAC

      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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Administration

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
      6ad364e35>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.
      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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:
      1 file(s) copied.

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
      6ad364e35>cd ..

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd ..

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

      Directory of C:WINDOWSassemblyGAC

      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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Common

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>dir
      Volume in drive C has no label.
      Volume Serial Number is 58B5-EF5C

      Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

      C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common2.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.

  9. Paul says:

    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.

  10. Mike says:

    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

  11. Andrew says:

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

  12. Paul says:

    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?

  13. Andrew says:

    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…

  14. Dave says:

    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

    • Paul says:

      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.

  15. Rodeca says:

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

  16. Paul says:

    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.

  17. Tobias says:

    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 😉

  18. DC says:

    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.

  19. Dan says:

    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.

  20. 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:WSUSWSUSContent 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:WSUSWSUSContent. Is that correct?

    Thanks ahead of time. Great post will recommend to others 😉

    Will

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

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

  23. Deepesh says:

    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.

  24. Deepesh says:

    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.

  25. Bogdan says:

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

  26. Ronnie says:

    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)

  27. 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?

  28. Steve says:

    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?

  29. Asif says:

    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

  30. Lisa says:

    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!

  31. Jeff says:

    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

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

  33. Brent says:

    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?

  34. Robin says:

    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.

  35. Brett says:

    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.

  36. Amy says:

    I’m receiving this error message when i try to import:
    C:Program FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigra
    tionImport>WsusMigrationImport.exe settings.xml All None
    WsusMigration failed with the below exception!
    System.IO.FileNotFoundException: Could not find file ‘C:Program FilesUpdate Se
    rvices 3.0 API Samples and ToolsWsusMigrateWsusMigrationImportsettings.xml’.
    File name: ‘C:Program FilesUpdate Services 3.0 API Samples and ToolsWsusMigra
    teWsusMigrationImportsettings.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 FilesUpdate Se
      rvices 3.0 API Samples and ToolsWsusMigrateWsusMigrationImportsettings.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.

      • Amy says:

        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 FilesUpdate Se
        rvices 3.0 API Samples and ToolsWsusMigrateWsusMigrationExport 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:tempsettings.xml you would run:

        wsusmigrationimport.exe c:tempsettings.xml All None

  37. Amy says:

    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.

  38. Amy says:

    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.

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

  40. 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’.

  41. JR says:

    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.

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

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

  44. 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!

  45. Martin says:

    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

  46. Martin says:

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

  47. Martin says:

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

  48. Martin says:

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

  49. Jim says:

    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

  50. tic says:

    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

      • tic says:

        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)

  51. 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..!

  52. Craig says:

    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.

  53. Daniel says:

    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 FilesUpdate ServicesWebServicesClientWebService
    Machine name: RSIAPP02

    Process information:

    Process ID: 2660
    Process name: w3wp.exe
    Account name: NT AUTHORITYNETWORK 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 AUTHORITYNETWORK SERVICE

    Thread information:

    Thread ID: 14
    Thread account name: NT AUTHORITYNETWORK SERVICE
    Is impersonating: False
    Stack trace:

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

    What can I do?

  54. john holcomb says:

    C:Program Files (x86)Update Services 3.0 API Samples and ToolsWsusMigrateWsu
    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 ToolsWsusMigrateWsu
    sMigrationImport>

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

  56. Sima says:

    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

  57. Alberto says:

    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

    • Alberto says:

      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!

      • Alberto says:

        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.

  58. CW says:

    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:WINDOWSassembly>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassembly

    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:WINDOWSassembly>cd GAC

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

    Directory of C:WINDOWSassemblyGAC

    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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Administration

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
    6ad364e35>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.
    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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:
    1 file(s) copied.

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
    6ad364e35>cd ..

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd ..

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

    Directory of C:WINDOWSassemblyGAC

    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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Common

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common2.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.

  59. CW says:

    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:WINDOWSassembly>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassembly

    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:WINDOWSassembly>cd GAC

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

    Directory of C:WINDOWSassemblyGAC

    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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Administration

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd 2.0.0.0__31bf3856ad364e35

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
    6ad364e35>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.
    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:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf3856ad364e35>copy Microsoft.UpdateServices.Administration.dll c:
    1 file(s) copied.

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration2.0.0.0__31bf385
    6ad364e35>cd ..

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Administration>cd ..

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

    Directory of C:WINDOWSassemblyGAC

    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:WINDOWSassemblyGAC>cd Microsoft.UpdateServices.Common

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>dir
    Volume in drive C has no label.
    Volume Serial Number is 58B5-EF5C

    Directory of C:WINDOWSassemblyGACMicrosoft.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:WINDOWSassemblyGACMicrosoft.UpdateServices.Common>cd 2.0.0.0__31bf3856ad364e35

    C:WINDOWSassemblyGACMicrosoft.UpdateServices.Common2.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.

  60. Hemant says:

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

  61. Lee says:

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

  62. Lee says:

    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)

  63. Sherlock says:

    Does this procedure valid for migrating from server 2003 to server 2012 R2 ?
    Also I tried this procedure and when I try to Import the settings it gives me the following error message
    C:Program Files (x86)Update Services 3.0 API Samples and ToolsWsusMigrateWsu
    sMigrationImport>WsusMigrationImport.exe settings.xml All None
    WsusMigration failed with the below exception!
    System.IO.FileNotFoundException: Could not load file or assembly ‘Microsoft.Upda
    teServices.Administration, Version=3.0.6000.273, Culture=neutral, PublicKeyToken
    =31bf3856ad364e35’ or one of its dependencies. The system cannot find the file s
    pecified.
    File name: ‘Microsoft.UpdateServices.Administration, Version=3.0.6000.273, Cultu
    re=neutral, PublicKeyToken=31bf3856ad364e35’
    at Microsoft.WsusMigrationTools.ImportServerStatus.ImportData(XmlTextReader r
    eader)
    at Microsoft.WsusMigrationTools.WsusMigrationTool.Main(String[] args)

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLMSoftwareM
    icrosoftFusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure lo
    gging.
    To turn this feature off, remove the registry value [HKLMSoftwareMicrosoftFus
    ion!EnableLog].

    I’ve placed the settings file on the same folder, but it still doesn’t work.
    I was wondering if it is applicable on server 2012 R2 and how to fix it ?

  64. kjstech says:

    Instead of changing all of our GPO’s from wsus.domain.com to wsus2.domain.com can I just alter a cname DNS record so wsus points to wsus2 ?

    On the new wsus2 server, I already requested and installed an ssl certificate with the SAN names wsus, wsus.domain.com, wsus2, wsus2.domain.com and tested in IE that there are no certificate errors (and even modified my hosts file and hit it with the original servers hostname).

    After migration, I was originally going to rename the new WSUS2 server to WSUS (after renaming the old one of course since you can’t have a duplicate name in AD or the network), but I read a lot of people had issues with IIS and/or the database when renaming a WSUS server.

    Thing is for public ally accessible kiosk machines that we have or DMZ servers, they are not on the domain (for security purposes), so we have to remote on and alter their local policy one by one to point to the wsus address, so I’d rather not have to alter the name in the GPO’s / local policies.

  65. AJ says:

    When you have to do a transfer between 2003 WSUS to 2012 R2 WSUS, simply make 2012 R2 a replica with internal database. Then change group policies to point to the new server. Wait until it all applies and that is it.

  66. Corey Carmickle says:

    I did my best to look through all the comments to see if my question was answered before and didn’t see it.
    I successfully installed and migrated all SUS content/ settings from a Windows 2K3 to 2K8 Standard. I then changed to stand-alone and ran a sync with MU. All works like a charm. To test before I just change the Domain GPO I took one computer and locally changed the GPO to point to the new WSUS server. I cannot get it to connect. I have allowed inbound traffic on the server port 8530, verified that the reg settings are pointing to the correct server. Ran the command ‘wuauclt.exe /resetauthorization /detectnow’ from the client side. But when I check for updates it fails with the error code 80072EE2on the client. Server side I get the error in Event Viewer: Source: Windows Server Update Services Event ID: 13051 No client computers have ever contacted the server

    • Corey Carmickle says:

      Adding to this challenge; I find this morning my current WSUS server synced 6 new updates from MU last night at the scheduled time. The new WSUS server says it ran a successful sync (it has the same schedule, Products and Classsifications) but did not get any new updates. I did get an email report from the new server but still no contact with the client. Any suggesations?

      • Corey Carmickle says:

        I believe this occured because the new server synced with MU after syncing with the old server and before the old server synced with MU.

    • Corey Carmickle says:

      Looks like I solved this by checking for updates from Microsoft Updates on my WSUS server. It needed a BITS update, a WSUS update, and a couple of .NET framework updates. Once I got them installed the clients started reporting. I did have a couple of the test clients fail the check for updates. I needed to have them check in with MU first then they were able to check the new WSUS.

  67. JR says:

    Hello,

    Where does the XML goes or installed fter running the following below?

    On the new server open a command prompt and navigate to C:Program FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigrationImport folder. Run “wsusmigrationimport.exe settings.xml All None”.

    • Sheena says:

      Once exported, the “settings.xml” file needs to be put into the “WsusMigrationImport” folder in the new server environment (C:Program FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigrationImport). Make sure you wait until the export is complete before you move it (I was impatient when I first started).

      When it’s finished, open the command prompt in your new server environment.
      Navigate to this path:
      C:Program FilesUpdate Services 3.0 API Samples and ToolsWsusMigrateWsusMigrationImport folder.

      Then run the command “wsusmigrationimport.exe settings.xml All None”.

      On my computer, the files were stored in C:Program Files (x86) instead of C:Program Files.

      Good luck!

  68. Sheena says:

    I tried this fix recently after going through Microsoft’s website and got nowhere. These instructions were clear, easy to use, and I was able to migrate from 2003 x64 to 2008 R2 x64 successfully.

    Thank you!

  69. Jim Reece says:

    Hi–I need something similar to this, but with an important twist. We have two identically set up 2008R2 servers running WSUS (in VMs), but the two servers cannot connect to each other. One is online and gets updates from MS–the other is on an isolated network which cannot connect to any external network. The issue is to take updates from the online WSUS and “carry” them to the offline instance and have the offline system be able to update all the computers on the private network to current patch level. This would be done once per quarter. Taking the entire WSUS database content each time would be awkward, since we have to use throw-away media (e.g. DVD/BluRay) to do the physical move. So the need is to be able to somehow export just the incremental updates from the online WSUS and carry a managable sized chunk over to the offline WSUS. Sort of a really delayed Sync.

    Can anyone suggest a method which would work for this situation? Or maybe I need to be posting this to a different thread. Thanks for any help or pointers.

  70. Salah says:

    I have WSUS server in my Company and work fine update every sunday but the problem is Anti virus . We have system center endpoint protection ( software ) installed in all Servers and clients . Do you have way to update just only Antivirus everyday and window update every Sunday.

  71. Kerry Archambault says:

    Hi,
    I am getting the following error after step 3.
    “no connection could be made because the target machine actively refused it”
    Do I need to configure something on my old WSUS server?

  72. Kerry Archambault says:

    Hi Paul,
    I am getting stuck at import. I have tried different administrators to load CMD. I have tried specifying the location of the settings.xml and changing the path of the xml to C:Temp
    I still get the System.IO.FileNotFoundException.

    I am migrating from XP to Server 2012 R2. and I did download the latest migration tool…
    Any thoughts?

Leave a Reply

Your email address will not be published. Required fields are marked *