Remap client printers after migrating to new print server

Discussion in 'Server Migration' started by Gaza, Nov 22, 2007.

  1. Gaza

    Gaza Guest

    We have consolidated 3 print servers into one and before switching off the
    old print servers we need to remap the client machines to the new server.

    In the days of NT4 we used the tool CHGPRINT.exe to do this, which worked a
    treat. Anyone know of a tool/script that will run as part of logon script,
    search the clients list of connected printers, remap the printer to a
    different server and possibly different sharename.

    I have tried running chgprint.exe but does not appear to work under W2k3 R2
    Sp1 server & WinXP SP2 clients. I have approx 1800 clients and 175 printers.

    thanks in advance,
    Gaza, Nov 22, 2007
    1. Advertisements

  2. Mathieu CHATEAU, Nov 22, 2007
    1. Advertisements

  3. Gaza

    Gaza Guest

    A nice addition to your script would be to allow for the printer share name
    changing too. The old chgprint.exe tool read a list of old
    \\printoldsrv\prshare1 to new \\printnewsrv\prshare99 from a text file.

    As we are also moving from 3 servers to one, and at the same time changing
    the printer name standard, the above feature would be beneficial.

    Gaza, Nov 22, 2007
  4. the original one does it, i will include it back after some cleaning

    are you in a hurry ?
    Mathieu CHATEAU, Nov 22, 2007
  5. Gaza

    Gaza Guest

    Change over is planned for next week .. if you could do this, then that
    would be great.

    Gaza, Nov 23, 2007
  6. ok it would be ready soon
    Mathieu CHATEAU, Nov 23, 2007
  7. Gaza

    Gaza Guest


    I have managed to get "chgprint.exe" to work. The printer definition on the
    client were using fully qualified domain name for the old servers.

    However, your script is still very useful as chgprint gives no logging or
    error detection.

    Gaza, Nov 23, 2007
  8. Hello,

    here is the updated script version:

    Now you have to set:
    -A folder where a log per username is created:
    Set objFile = objFSO.CreateTextFile ("\\fileserver\Logs\printers\" &
    UserName & ".log")

    -The new print server name in this file
    Set objFileServer = objFSO.OpenTextFile (LogonServer &
    "\netlogon\printers\default.txt", ForReading)

    -A CSV for changing printer name:
    Set objfiletable = objFSO.OpenTextFile (LogonServer &
    "\netlogon\printers\Convtable.txt", ForReading)
    syntax is :
    Mathieu CHATEAU, Nov 27, 2007
  9. Hello,

    need to add a "if" statement.

    If you have a cluster, you should only and only point to the virtual name,
    never the node names.
    Do you get where to put the if or do you need help ?

    Mathieu CHATEAU
    English blog:
    French blog:


    This script is working great! One minor issue that I think I can get
    around, but I want to see what you have to say about it.

    The script will try to convert all network printers regardless of what
    print server that printer is on. In my case there are only certain
    printers on one printer server that we are migrating and only the
    printers on that one server will be migrated. So for the printers
    that were on that server, the script worked beautifully, however, for
    printers that were on a different print server, it simply tried to
    covert it but failed and the printer was deleted. I know this is
    asking much, but is there a way around that. In others words, can we
    have the script just look to convert printers that are on one
    particular print server. Just to throw a curveball, the print server
    is clustered, so it can be referred to by 1 of 3 names. Thanks again
    for all of your help.

    Mathieu CHATEAU, Jan 4, 2008
  10. Gaza

    Andy Jad Guest

    Hi Mathieu,

    Not sure if i'm using the right way to execute the script.

    I placed this script on a desktop to try, in cmd, i typed 'cscript printmigrator.vbs'

    Nothing seems to happen, no error, no log files, but cscript process took up 100% of usgae and slowed down the entire system.

    Did i miss some steps in between ?
    Andy Jad, Aug 30, 2010
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.