This is where you will see all the discovered printers in user profiles (network printers) or locally installed printers on workstations. You are able to see the name of the printer, if it is a network printer or a local printer (only network printers can be influenced by the VBScript by default) and what the status of the printer is. If it is replaced, you see with what the printer is replaced with and when it was last seen by the VBScript on any client / user session. The last seen can come up years later in theory if a user logs on to a workstation he didn’t log on for a very long time – the VBScript would report it and take appropriate action.

Note that you could extend the VBScript to read more printer details, it is kept simple so far – in theory the WMI object that is used provides way more details.

Here you can as well define what to do with a printer – let’s say you want to replace PRN001 with PRN002 – you would follow those steps:

  1. make sure PRN002 is shared already
  2. connect it to your current user profile / workstation from the share
  3. execute the VBScript to make sure the database knows the printer
    1. manual entries are prohibited by default to avoid typos
  4. open the Access database front end
  5. go to manage printers
  6. select the printer PRN001
    1. change the ControlStatusID to “replace
    2. change the ReplaceWithID to “”\\server\PRN002
    3. save the record

The next time the VBScript is executed and the printer PRN001 is mapped, it will be replaced by PRN002. See here for a more lengthy explanation of the possibilities.

Notes to version 2.0:

In version 2.0 you can aditionally chose between a Windows Vista and newer printer (default printers) and a ReplaceWithIDXP column that will work for Windows XP / 2003 and earlier. The reason behind this is simple – Microsoft changed on how Windows clients pull and work with printer drivers and Windows XP systems do not support this. If you have legacy systems that cause you to keep such old Windows versions around, this might come in useful – redirecting those systems to special print-servers (2008 R2 or earlier – after it V4 drivers take over completely).

Example:

  • Printers are normally all on \\printers
  • The server was renewed and XP clients can’t use it
  • Redirect the XP clients to \\printerXP or \\printerLegacy (an older print-server) therefor
  • if you don’t want load other then legacy clients – but the user-base is the same, you can also make sure that you redirect Win7 and newer client from \\printerXP or \\printerLegacy to \\printers

See this Microsoft link for more information about this topic and the difference between the V3 and V4 printer driver model: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj134171(v=ws.11)