Release Notes for JRButils for AD v12

Changes to multiple programs

  • Added the ability to create error and log files in UTF-8 format.
  • Added two new values for environment variable JRBDATETIME. A value of ISO displays date and times using local time in ISO format i.e. 20180524132145. A value of ISOZ displays dates and times using GMT time in ISO format e.g. 20180524012145Z.
  • Added the ability to accept date/times in ISO format, either in local, or GMT time if ‘Z’ is appended. Not all variations on the ISO format are accepted but the following are:
    • A date may be given in the form yyyymmdd or yyyy-mm-dd e.g. 2018-08-23.
    • A time may be given in the form hhmmss or hh:mm:ss e.g. 21:19:03.
    • The minutes and seconds may be omitted as per the traditional date/time formats.
    • A date and time may be concatenated together without a separator e.g. 2018-08-2321:19:03 or separated by ‘T’ e.g. 2018-08-23T21:19:03.
    • ‘Z’ may be appended to a date and time to indicate that the value is in GMT time rather than local time.
  • Updated relevant programs to support Active Directory auxiliary classes and their attributes. Program specific comments are included below.
  • Updated various programs to work internally, entirely in unicode rather than single byte characters. This is a work in progress, all programs will eventually be converted. Those done to date include:
    adcreate adlookup
    addelete admakememb
    addelattr admove
    adgetrest adrename
    adgetobjsec adschema
    adgetval adsetobjsec
    adgrpadd adsetrest
    adgrpdel adsetval
    adgrplist adtrstlist
    adimport adusergrps
    Where programs have corresponding fully GUI versions, they have also been updated.
  • Updated all programs to accept input files containing unicode (big-endian or little-endian), or UTF-8 as indicated by a byte order marker (BOM). The unicode options may be useful when processing files created from a spreadsheet or PowerShell.
  • Updated all programs accepting input files, either as a command line parameter, or as an option value, to check for a comma and keyword appended to the file name indicating that the file contains single byte ANSI characters in OEM or CHAR format e.g. p:\temp\users.txt,char. Files containing unicode or utf-8 can be identified via a BOM at the start of the file but there is no such marker for single byte files, and no way to programmatically determine if the contents use the OEM or CHAR character set. Programs in JRButils assume OEM by default, but will now correctly process files containing CHAR providing “,char” is appended to the name. Note that distinguishing between OEM and CHAR is relevant only when the file contains extended characters such as .
  • Fixed some issues in the fully GUI programs where selecting the domain name at the top of the tree in the browser, did not always work as expected, and was not consistent across programs.
  • Fixed an issue where programs were failing to validate names given in NT style (e.g. kiwi\anne) or canonical form (e.g. abc/staff/anne) when working in a different domain from that to which the workstation belonged.
  • Updated programs adding ACEs to a file system DACL to recognise when an ACE with non-propagated rights is being added or removed. Since the ACE is not inheritable, the inheritance of child objects does not need updating and a different function is used to rewrite the DACL which can result in the operation completing much faster.
  • Updated programs adding file system ACEs to recognise that permissions of GR+GX are translated to RX by NTFS, and hence to avoid unnecessary updates to the DACL, which can be slow as a result of inheritance being updated for child objects.