Release Notes for JRButils for AD v14

Changes to Individual Programs

Adchkhome

  • Added /g allowing processing only user’s home directory paths which are in a given format. This allows displaying only network paths (UNC format), local paths (drive letter), or paths in any other format.
  • Added the ability to check for the lowest level of the home directory path equalling the display name.

Adcreate

  • Updated the documentation for a feature added last year which somehow made neither the documentation nor the release notes. Almost any attribute can now be set when creating objects by using parameters of the form attr=value e.g. firstname=“Mary Lou”.
  • Updated so that when required attributes (e.g. samAccountName) are specified via parameters of the form attr=value, they are set at creation time, rather than later, replacing a constructed value.
  • Updated when creating users so that a display name, if not provided, is constructed from the first and last names if they are provided.
  • Replaced /b which formerly specified a display name (now doable via attr=value) with an option to replace existing values for a multi-valued attribute. This may be useful to force values given via attr=value to replace values copied from a template.

Addelhome

  • Added the ability to select via /m, the name (cn, displayName, samAccountName or userID) used when checking that the correct path will be processed. It is assumed that the lowest level of the path will match one of these names. Previously, only the cn could be checked.

Adgetdirquota

  • Added the ability to list the quota templates defined on the server via /g. For each, the name, quota, quota status (hard, soft, etc), description and any warning thresholds may be displayed.
  • Added the ability to display the warning thresholds plus their associated actions for each quota or template.
  • Added the ability to display restrictive quotas at a higher level and their paths.
  • Updated to run from a non-domain workstation or from a workstation with only a local login. In this situation, it cannot show quota information for user home directories.
  • Updated to use the jrbserv system service to get directory information. See under “Changes to multiple programs”.
  • Fixed a rounding error when displaying a negative free space value in MB.

Adgetval

  • Fixed an issue where it displayed a zero value in hexadecimal for lockoutTime when using /b=h and that attribute did not exist.
  • Fixed an issue in the GUI versions where in rare circumstances, there were delays in program exit when exiting immediately after startup. The issue was a Windows networking function with a long timeout when it failed to connect to a target host. The function was used when locating available domains.

Adgetvolquota

  • Added the ability to display the default quota and warning threshold for the volume via /d.
  • Fixed an issue when including the volume in the output, it used the internally mapped drive letter (e.g. N:) instead of the actual volume e.g. \\neptune\d$.
  • Fixed a rounding error when displaying a negative free space value in MB.

Adgroups

  • Fixed a cosmetic issue where the label for the group edit box has been inadvertently moved out of alignment.
  • Fixed an issue where it was not accepting names in canonical format in a list of members to exclude from the output.
  • Added a checkbox when removing group members to allow matching members to remove on name only, ignoring their object class. This may be useful to remove all members regardless of their class.
  • Moved the selection of group types, shown when displaying group members and when displaying groups belonged to, from the “Other” tab to its own tab. The “Other” tab has now been renamed “Name format”. The command line option /m=o to suppress displaying the “Other” tab has been replaced with /m=n and /m=g.
  • Fixed an issue where secondary sorting was not working.
  • Fixed an issue where excluding selected members from the output did not work with some group expressions e.g. !comp101.
  • Fixed an issue where setting the list of members to exclude via /z on the command line was not working. This option has been changed to /u for consistency with adgrpadd.
  • Added the ability to set the group inclusion and exclusion lists from the command line when displaying the groups belonged to. Use /i to set groups to include when showing groups belonged to, and /z to set groups to exclude. Each list may be the name of a file, or a semicolon separated list of names as per /u in adgrplist.
  • Added the ability to use wildcards in the common names of inclusion and exclusion lists.
  • Fixed an issue where, adgroups only processed the first entry in exclusion and inclusion lists when the first entry was a non-domain object.
  • Fixed an issue where filtering group members by object class was not working for local groups.

Adgrpdel

  • Fixed an issue where using /o to specify an object class, was not working correctly when <entity> was a group and /m was used to remove group members. Now only members of the specified object class are removed.

Adgrplist

  • Fixed an issue where using /u to exclude selected members from the output did not work with some group expressions e.g. !comp101.
  • Fixed a minor issue in the parts 2 and 5 versions where a blank line appeared at the top of an output log file even when /j was used.
  • Added the ability to use wildcards in names given in an exclusion list via /u.

Adgrpmemb

  • Updated /x which can execute a command when the user is a member of the group. Adgrpmemb previously used the “system” function, which opens another command prompt, but now uses function CreateProcess as recommended by Microsoft. This option now works correctly when a URL is given.

Adhomedirs

  • Added a filter allowing the display of local paths only.

Adimport

  • Made a cosmetic change so that it now reports when the same value is already set for volume quota values and warning thresholds. This is now consistent with other settings made by adimport.
  • Fixed an issue where it did not report an error for invalid group names given in canonical format, until it tried to use the name.

Adopenfile

  • Added /w=x providing a convenient way to display all available output fields without having to specify them individually.
  • Fixed an issue with /w to select the output fields where if only ‘q’, ‘;’ or ‘,’ were specified, it did not display the default output fields.

Adprdel

  • Added a check on the job status before deleting a job. If the status is “deleting”, adprdel now reports that deletion is already in progress. Jobs are not always removed instantly from the queue.

Adprjobs

  • Added the ability to display job statuses “retained” and “rendering locally” which were not defined when the program was originally written.
  • Modified to report when no matching printers are found.
  • Widened the column for job priority so the header could be displayed in full.
  • Added an option to sort the jobs in each queue by any of the fields which can be displayed. The jobs from all matching queues may also be merged and sorted together. As a consequence output option ‘r’ to display the print processor has been changed to ‘k’ to allow ‘r’ to be used for requesting a sort in the reverse order.
  • Added output field “Job parameters”.
  • Added output option ‘x’ which adds all fields not already present to the output list. This provides an easy way to display all fields.
  • Added output options ‘q’, ‘,’ and ‘;’ to produce output delimited by either a comma or semicolon and optionally enclosed in double quotes. These are consistent with adopenfile and adsessions.
  • Modified /a to allow displaying jobs with any print status instead of just paused jobs. A range of status values may be combined e.g. /a=on displays jobs with a status of “Printer is offline” or “Printer is out of paper”.

Adpwdexp

  • Fixed an issue where an extraneous error could be displayed when the Micro Focus client for OES Enterprise Server was installed on the workstation. This issue was new in V13.
  • Added the ability via /x to execute any external command such as opening a URL when the “Change it now” button is clicked in the dialog warning of impending password expiration. This is done instead of bringing up the password change dialog box.

Adquotas

  • Added the ability to list the directory quota templates defined on the server. For each, the name, quota, quota status (hard, soft, etc), description and any warning thresholds may be displayed. The quota, status and description may be modified via right clicking in the relevant columns.
  • Added the ability to create a new template by right clicking in the template name column.
  • Modified to display all five possible directory quota thresholds. Previously, it displayed only the first three.
  • Added the ability to display the actions associated with each threshold for each quota or template.
  • Updated to run from a non-domain workstation or from a workstation with only a local login. In this situation, some options are not available.
  • Updated to use the jrbserv system service to get directory information. See under “Changes to multiple programs”.
  • Fixed an issue where one of the directory quota options might not be hidden when changing back to volume quotas, depending on other options selected.
  • Moved the options to their own tab sheet to simply the main page.
  • Added the ability to set volume quota thresholds en masse.
  • Fixed an issue when setting a directory quota for a single user and it had displayed the current value, adquotas could then report a thread error when attempting to set the new quota. This worked correctly on the second attempt.
  • Updated to set values via the jrbserv system service. This includes all fields set via right click options when displaying quota values.
  • Fixed an issue where right clicking in the “Peak usage time” column did not display the peak usage reset dialog box.
  • Fixed an issue where changing a template via right click did not result in all values associated with the new template being retrieved and displayed.

Adrename

  • Modified to allow the current and new names to be the same when /n=c is used. This provides a means of updating attributes with values pertaining to a previous name without doing an actual rename.

Adsessions

  • Added /w=x providing a convenient way to display all available output fields without having to specify them individually.
  • Fixed an issue where it might not display the Windows versions for connected computers.
  • Updated to only retrieve fields to be displayed, which may speed up execution by avoiding unnecessary DNS lookups.
  • Changed /n so that when working across domains, adsessions now does not attempt to authenticate to AD in the target domain by default. This could introduce significant delays. Use /n to do so.

Adsetdirquota

  • Updated to set directory quotas via the jrbserv system service. This provides a means to modify values from a workstation. The directory quota APIs can only be used on the machine on which the quotas exist. The programs, when not running on the target host, check if the system service is running, and if so, send the requested changes to the service.
  • Added a new option to /i which prevents making quota changes when an entry already exists. Using /i=s now allows changing quotas and templates but not setting a quota when a template is applied and vice versa.
  • Added the ability to specify “none” as a template value which will result in removal of the quota entry. Previously entries (whether using a template, or a directly applied quota) had to be removed by specifying a quota of “none”.

Adsethome

  • Added the ability to use the display name for the lowest level of the home directory path.

Adsetval

  • Adsetval contains a list of well-known attributes which cannot be deleted, and will not attempt to delete these. But the list is not exhaustive and when attempting to delete an attribute not on the list which cannot be deleted, it could report “The server is unwilling to process the requestrldquo; or in some cases “A constraint violation occurred”. When these errors occur it now reports that the attribute cannot be deleted.
  • Fixed an issue where it could report deleting a value of zero or false when deleting a boolean, integer or large integer attribute, and no value was provided.
  • Fixed an issue when deleting an integer value, and a value was supplied which did not match the existing value, then the existing value was still removed.

Adsetvolquota

  • Updated to run from a non-domain workstation or from a workstation with only a local login. In this situation, it cannot set/modify quota information for user home directories by reading the path from AD. The volume must be specified directly.
  • Added the ability to delete volume quota entries using a quota value of “delete”. Note that this is successfully only when the user has zero associated usage.
  • Fixed an issue when including the volume in the output, it used the internally mapped drive letter (e.g. N:\) instead of the actual volume e.g. \\neptune\d$.
  • Added the ability to set a default quota and threshold on a volume via /d.
  • Tidied the handling of attempts to delete a volume quota entry when it cannot be deleted due to non-zero usage.

Adspace

  • Updated to use the jrbserv system service to get directory information. See under “Changes to multiple programs”.
  • Modified /m so that it now has two options:
    d
    Do not use the system service to retrieve values. This is the same as using /m without a value, for backward compatibility.
    s
    Force use of the system service. This may be useful to ensure that communication with the system service is working correctly.
  • Added /q=g to force it to use the GetDiskFreeSpaceEx function.

Adwhodidit

  • Added the ability to display a share name and its associated permissions for any NTFS directory.
  • Fixed an issue with filtering by attribute value where some fields were not retrieved unless they were also in the list of fields to be displayed.
  • Added the ability to display directory quotas on NTFS directories. These may be retrieved directly if running on the server itself, or via the jrbserv system service if in use.
  • Fixed an issue where command line versions would not display the number of files in a directory.
  • Added the ability to display the number of subdirectories in a directory.
  • Updated to support units of terabytes (TB) for displaying quota and disk usage values.
  • Added /z to allow displaying information for a file or directory, one field per line. By default, all information is displayed for a file, and all quickly retrievable information for a directory. Fields which may take time to retrieve are those relating to the directory contents i.e. number of files and directories, total space used in the directory when there is no quota, and total space used ignoring subdirectories. These can all be displayed by using /z=a, and selected fields can be added by also using /o e.g. using /z and /o=nf,ng will add counts for files and subdirectories.

Jrbserv

  • Fixed an issue in the 64 bit version where it could unexpectedly change to a stopped state when processing a request. The cause of the issue appeared to be a compiler bug which has been worked around.
  • Added the ability to return directory quota values to programs adspace, adgetdirquotas and adquotas.