Login Converter – Utility for mass updating Login IDs

Updating a Remedy system when a Login ID has to changed can be a long and slow process if you want to keep the integrity of the data after changing the Login ID.  BMC provides the Data Wizard tool to do this however it has many limitations such as:

  • Only being able to update one LoginID at a time
  • Requires customization to target custom forms/fields
  • Is generally slow and doesn’t search within all fields (only target fields important to ITSM workings)

There are also other third party tools developed for the same goal such as the RRR|LoginConv ( build which utilize arsPerl and since arsPerl has fallen a bit behind from a support perspective, an more up-to-date alternative is something that has been asked for on the ARSList.

Building upon some previous work I’ve done, I’ve put together a utility based upon the Java API that will perform the following tasks:

  • High performance updates from an old LoginID to a new LoginID utilizing merge action that bypasses workflow
    • Updates all Character Fields (regardless of size)
      • Match exact
      • (optional) Match surrounded by single/double quotes
      • (optional) Match surrounded by separators such as white-space, comma, period, pipe, semi-colon or colon
    • (optional) Updates all Status History entries
    • (optional) Updates all Diary Field entries

Here is a peak at what it looks like running through a multiple Login ID update:


Some key features of this utility include:

  • Ability to load in list of conversions from file when doing multiple updates per run
  • Pre-loaded list of all data forms from your connected AR System into the Specific Form field (with auto-fill capabilities)
  • Ability to specify a list of specific forms to update or all forms
  • Ability to specify a semi-colon delimited list of specific fields to update or all matching character/diary/status history fields
  • Two progress bars show displaying progress by the currently processing form and the overall end to end process.
  • Ability to control the speed by way of a delay slider that will slow down or speed up the processing dynamically
  • Ability to pause / resume the processing
  • Ability to cancel in-flight updates (doesn’t not roll back, just stops wherever it happens to be)
  • Ability to toggle on/off the scope/matching capabilities
  • Ability to specify all forms to be checked or a specific form only
  • Ability to ‘simulate’ the run without actually make any changes
  • Detailed output provided on forms processed and matches found

Recommend you test this in a non-production environment and gauge the results prior to running this against a production system.  I also recommend using JRE 1.7 (64-bit) while directly on the AR System server you are connecting to to execute this program for optimum performance.  It will run just fine from any host that can connect to the AR System via API but due to the type of work being done, running this utility on the server itself will increase the throughput considerably and take the network layer out of the equation.

NOTICE:  If you have a very large system (10s or 100s of millions of rows), the initial time to get the entry totals may take awhile before you see the program start to process forms.

NOTICE:  If you begin to see too much performance degradation on your AR System and want to lessen the impact, simply move up the slider bar to introduce delay between processing which will elongate the processing but reduce the load on the system greatly.  You can even pause it during prime business hours to resume it later when there are less users on the system.

If any issues arise, please let me know and I will make adjustments.   You can download the program below


Version 1.1 Released – October 28

  • Added ability to pre-load list of Login IDs to update via file import

Version 1.2 Released – October 28

  • Fixed some visual anomalies
  • Added more detailed output to found matches, you’ll now see all the fields that matched and will be updated

Version 2.0 Released – October 28

  • Reworked the UI to be more efficient and consistent
  • Changed specific form field into menu with pre-loaded remedy forms with auto-fill support
  • Improved how detailed output is generated and provided more consistent information on how many updates per form and what field specifically are update

Version 2.1 Released – October 30

  • Added ability to specify multiple specific forms rather then just one or all
  • Added ability to specify multiple field IDs in a semi-colon (;) delimited list instead of always running against all character/diary/status history fields
  • Added ability to show/collapse Options section while job is running in order to give more real-estate to the detailed output window when needed.
  • Added additional error checking for bad input from user in various sections
  • Small re-factoring and UI fixes

Version 2.2 Released – Nov 18

  • Switched to H2 database for login profiles and lay groundwork for eventual capability of saving configuration profiles for repeatable updates
  • Don’t stop when a form throws an error in the pre-processing phase

Version 2.5

  • Returned to SQLite DB
  • Added ability to specify forms via import file
  • Added debugging capabilities with the -debug option flag
  • Updated User Interface and Libraries

Version 2.6 (yanked – do not use)

  • Faster processing
  • Attempt to fix a bug with some versions of AR System / Customer environment terminating after the first match

Version 2.7

  • Reduced number of API calls to the system considerably for better speed-ups compared to v2.6
  • FIx some outputting errors / ommissions in the display panel
  • Fix corner case where status history was not being updated correctly



22 thoughts on “Login Converter – Utility for mass updating Login IDs

    1. Hi Vel,

      Sorry I was forced to do an upgrade to my site over the weekend and it apparently lost all my download links. I have fixed the one for the login converter and will be fixing the others as time permits. You should see it at the end of the post now.

      Again sorry for the inconvenience.


  1. Hi Curtis,
    We are working on a project to modify Remedy login ids for all our users. Your tool is a big help. I have question. Does it also re-index the fields that will change via this tool? This is something I noticed in Data Management Tool. It does the re-indexing process.


    1. Thanks for the feedback on the usefulness of the tool 🙂

      Currently this tool will not enact a re-index as the only updates it makes leverage the API whereas the DMT Data Wizard does things with direct SQL (and without looking into it, I assume issue the appropriate re-indexing queries for the target DB or possibly simply issues the FTS re-indexing process?). This is an option I could add in a future version if we feel it would be beneficial.


  2. Hi Curtis,

    Currently I am on 3 different versions 8.1/8.1.02/9.0 would it work for all the versions, and would it change login id’s for all the forms be it custom forms. I hope it doesn’t have any special character limitations. Also If I want to skip 2-3 forms can I do so?

  3. Curtis,

    First, this looks like a very promising tool! We are in the middle of moving to a SAML authentication with AZURE AD and the existing login IDs in Remedy do no match what AZURE AD will be passing, so we needed to find a way to mass update ~10,000 users.

    I ran the tool against a test environment with a single user and it ran all the way through form AP:Detail and then said it was finished.

    Any thoughts?

    1. Hi Brian,

      There is one other user who had the same experience where it just stopped after AP:Detail, many others have used the utility successfully from what I’ve been told so you are the 2nd to run into this perticular issue. The first time the user didn’t have a chance to keep following up with me to isolate the issue so he went a different path so I never did nail down what caused it for him.

      Can you provide me some information about your environment? E.g. versions of everything, copy of ar.conf/cfg, etc. I’m going away for a few days but I can probably take a look at the issue next week if you are willing to go back and forth on a few things.


  4. How hard would it be to allow the list of schemas to be processed to be loaded from a file rather than loaded manually.

    Saving the list of schemas into the H2 database after it’s loaded might also be useful. That way, after the initial load, all processing could be done within the tool rather than depending upon an external file containing a list of schema names.

    1. I am working as time permits to allow storing the list of forms specified back into the local storage for quick recall so I think that will satisfy what you are looking for. Not sure when I’ll put out the next release with this capability yet though so stay tuned.


  5. Hi,

    Fantastic utility, running it over a bespoke application but one question – is there an option for excluding forms?

    We have a number of forms that are archives of the “main” form and we don’t want to look at those, let alone modify anything in them.



    1. I have an in-progress build where I allow an ‘Add All’ capability and then you can individual remove the forms from the list you don’t want anymore so I think that would satisfy your need. I haven’t released it yet as I wanted to also allow for saving the final list of forms to the H2 database for quick recall. Not sure when I’ll get time to complete that last part of the requirement but if you are interested in just the ability to add all and then remove specific forms I can send you my latest dev build to try out.

      Let me know,

      1. Curtis,

        Your in-progress build would do the trick but my customer can’t/won’t give me a list of forms to process so they’ll just have to live with the projected 14 hours run time…


  6. Hi,

    Under what circumstances would a record NOT get updated – I have an example whereby a Login ID that should have been changed on a form has not, screenshot available.


  7. Curtis Gallant: we are about to begin testing this Login ID Converter utility. Thank goodness for dedicated, capable developers like you who fill in the gaps when BMC OOTB products (e.g., Data Wizard) are imperfect and accepted/”On Roadmap” BMC RFE’s (e.g., take years to implement.

    We hope to give your company some business going forward.

    – have you added any new features to the 2.3 DEV version since the last version you published?
    – would you like to declare 2.3 DEV as gold code?
    – the holy grail: what recommendations would you make for customers who would like to attempt to automate this functionality via workflow – e.g., accepting arguments via cmd line and calling this program via each row in a staging table containing ‘Old Login ID’ and ‘New Login ID’ fields, etc.?

  8. Great tool. One question / request. We only want to update like 15 forms. I see I can go in and select t hose every time I run the tool but is there a way to “save” that so when I open the tool to run it, those 15 forms are added.

    1. This is definitely on my todo list, the ability to save profiles, unfortunately I have been quite busy with some project work these past few months so many utilities I’ve had to put on hold for enhancements but I hope to revisite this tool in the coming weeks.

  9. Hi Chris,

    This tool is wonderful and will save lot of time for us.But I want to just update forms that data wizard tool updates(imitate).We have 400 login IDs to be updated so think this is a better tool than data wizard tool.So just wondering if you are any chance aware of the forms that data wizard tool updates for LoginID

Leave a Reply

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