Release Notes for JRButils for Micro Focus v27

Changes to Individual Programs

Creatobj

  • Updated to support parameters in the form attr=value allowing almost any attribute to be set for an object being created. A password may also be set via this method using pwd=value or password=value. Values provided this way are also set when the object exists and /t is used.
  • Retired options /b, /q and /u to specify the surname, firstname and full name respectively. These can now be set using parameters in the form attr=value e.g. fullName=“Jim Jones”.
  • Added a new /b for use with parameters of the form attr=value to force replacement of values which may already be set for multi-valued attributes. This provides a means to replace values copied from a template.

Delobj

  • Updated to, by default, delete any volume quota on a user's home directory when the directory is deleted. Volume quotas are not automatically removed when a user is deleted. This action can be suppressed by using /n=q.

Dquota

  • Fixed an issue introduced in a recent release where it failed to correctly display negative values for free space when the usage exceeded the quota.
  • Fixed a rounding error when displaying a negative usage value in MB.

Fsupdate

  • Added /n=d to suppress copying directories, as per netcopy. This might be useful to mirror trustees only.
  • Added /n=v to suppress receipt of messages broadcast by the client for OES Enterprise Server.

Getname

  • Made some changes to the handling of the field width for the object name. Previously, a value for the width was ignored if less than 30 which was unintended. The following rules now apply:
    • A default width of 30 is used and the value will be truncated to this width when /b=q and /c are not used.
    • The default width is ignored when /b=q is used to place the value in double quotes or /c is used to produce delimited output.
    • A specified width (as in /a=%objectName\15,%title") is honoured regardless of the use of /b=q or /c.

Getquota

  • Fixed an issue introduced in a recent release where it failed to correctly display negative values for free space when the usage exceeded the quota.
  • Fixed a rounding error when displaying a negative usage value in MB.

Groups

  • 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.
  • Added the ability to set inclusion and exclusion lists from the command line. /u may be used to set a list of members to exclude, /i to set groups to include when showing groups belonged to, and /z to set groups to exclude when showing groups belonged to. Each list may be the name of a file, or a comma separated list of names as per /u in grplist.

Grplist

  • Fixed a minor issue, introduced when adding support for showing member addition dates, where it could list deleted members for a short period after deletion. This was a consequence of a change in API behaviour where it returned deleted, but not yet removed, values when also retrieving the value modification date.
  • Fixed an issue where using /u to exclude selected members from the output did not work with some group expressions e.g. !comp101.
  • Added the ability to use wildcards in a member exclusion list given via /u.

Grpmemb

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

Gwgroups

  • Added the following output fields:

    gg   The group’s group membership count
    gh The group’s membership count
    gk The group’s administrators count
    gp The users of a closed group (those with a READ ACL)

Gwgroups and gwusers

  • Added the following output fields. The minimum GroupWise version is given in parenthesis where applicable:

    cc   Client license type (2014)
    na Number of gateway aliases (2014)
    ng Number of groups belonged to
    nk Number of nicknames
    nl Number of library accesses (2014)
    np Number of personal signatures (18.2)
    ns Number of resources owned
    ps User can update their own picture (2014)
    va Vacation rule active (rule present, enabled, within date range) (18.0)

  • Added the ability to modify the following fields

    cc   Client license type

  • Fixed an issue where errors would occur for each user if an attempt was made to display values for some of the new fields added in v26 (e.g. total emails) when the users were in external GroupWise or external non-GroupWise domains where these values are not applicable.
  • Updated the code for retrieving and displaying “Proxies granted”. It appears the format of the returned data was changed in 18.2 resulting in only the proxy name being displayed.

Gwresources

  • Added the following output fields. The minimum GroupWise version is given in parenthesis where applicable:

    na   Number of gateway aliases (2014)
    ng Number of groups belonged to
    nk Number of nicknames

Gwusers

  • Retired /m and /n which allowed setting a mailbox expiration date and nicknames respectively. These can be set from the command line using parameters of the form me=value and nn=value.
  • Added a new /n to limit the output to those users where a specific attribute has or does not have a value. This is intended for use with string values such as location but may also be used with some numeric values such as the mailbox expiration date. The attribute to which the filtering applies is the first non-naming attribute in the list given via /v, unless /m is used to specify a particular attribute.
  • Added a new /m to specify a filtering attribute for use with /n e.g. /m=ci.

Jrbimprt

  • Fixed an obscure issue when setting a value only when there is no existing value, where it failed to ignore attribute values marked as deleted, but not yet removed by the janitor process.
  • Fixed an issue where the part 5 version would not run without the presence of the client for OES Enterprise Server. In this situation, it can still work with users in GroupWise 2014 onwards.

Jrbpurge

  • Updated to accept a 64 bit value for /z when filtering on file size. The size may now also be given in hexadecimal.
  • Added /x to force using the pre-OES2018 APIs for working with deleted files (see above). The new function for retrieving deleted file details currently returns only a 32 bit file size. This option is needed only when filtering on file size via /z and the filter value exceeds 4.3GB.

Jrbusers

  • Made various changes to the layout in the GUI versions:
    • Changed the method of selecting fields from individual check boxes to a DisplayCheckListBox.
    • Changed the method of selecting sorting fields from radio buttons to a dropdown list.
    • Minor tweaks in various locations.
  • Upgraded the code in the GUI versions for retrieving a connection’s open files. See further comments under openfile.

Ndsrghts

  • Fixed an issue where it failed to display each user’s full name when the output was sorted.
  • Added the ability to use wildcards in the attribute parameter which provides the ability to display the rights to all or selected attributes of an object. Note that the wildcards are matched against attributes holding values, not the full list of attributes for the object class.
  • Added the ability to give a comma separated list of attributes e.g. “given name”,“first name”,title.
  • Added the ability to sort by attribute name and target object name.
  • Added the ability to produce delimited output via /h. Any delimiter may be specified and values may optionally be enclosed in double quotes.

Openfile

  • Completely revamped the code for getting a connection’s open files, and for getting the connections holding a file open. This had long been messy for entries with extended characters as the functions NWScanOpenFilesByConn2 and NWScanConnectionsUsingFile date back to NW 2.x, and hence require or return ASCII DOS paths in the server code page. These are two of very few NCP requests for which new versions supporting UTF-8 encoded long paths are not available. However, the limitations have been worked around after closer inspection of the actual NCP requests and responses. By coding customised versions of these NCPs and the use of a couple of somewhat obscure NCP requests, the translation to UTF-8 encoded names in the long name space is now handled at the server end making the process considerably simpler and more robust.
  • Fixed an issue where there was extraneous text in the output line when doing a merged sort and producing comma delimited output.
  • Updated to report an error on invalid object names.
  • In the GUI versions, changed the method of selecting sorting fields from radio buttons to a dropdown list.
  • In the GUI versions, changed the method of selecting fields for display from individual check boxes to a DisplayCheckListBox.

Pwdexp

  • Updated the Windows GUI versions so that /x tmay be used 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 displaying the password change dialog box.

Requests

  • Upgraded the code in the GUI versions for retrieving a connection’s open files. See further comments under openfile.

Salvlist

  • Made various changes to the layout in the GUI versions:
    • Changed the method of selecting fields from individual check boxes to a DisplayCheckListBox.
    • Changed the method of selecting sorting fields from radio buttons to a dropdown list.
    • Moved the filtering options from the main tab to a separate tab, thereby decluttering the opening window.
    • Numerous other minor improvements.
  • Fixed an issue in the parts 4 and 5 versions where they could quit prematurely when formatting the deleted file size. The problem appeared following a Visual Studio 64 bit compiler upgrade. A change of format specifier solved the issue.
  • Made more efficient when translating object IDs to names, by keeping track of previous translations.
  • See also “Deleted file APIs new in OES 2018” above for further changes.

Setacl

  • Added the ability to filter ACLs by trustee object class via /w. A comma separated list of classes may be given e.g. /w=user,group. Special classes “container” and “other” may be used to display ACLs with a trustee of any container class, and to display ACLs with non-object trustees such as [Public], [This], etc.

Setname

  • Fixed an issue introduced in v25 where it would no longer set a telephone number.
  • Fixed an obscure issue with /v=u, where it failed to ignore attribute values marked as deleted, but not yet removed by the janitor process.

Spacemon

  • Worked around an issue where the 64 bit version in v26 needed files balloonhint.bpl and jbcooltrayicon.bpl. These should have been statically linked into the executable as per the 32 bit version, but were not due to what appears to be a compiler bug in the upgrade installed during 2019.
  • Fixed an issue where the balloon displayed at startup could be incorrectly positioned. This appeared to be due to a timing issue.

Sparse

  • Fixed an issue where it could prematurely stop processing files in a directory after encountering a file larger than 4.3 GB.
  • Worked around a bug in OES2015 through OES2018 SP2 where an incorrect physical size would be shown for sparse files with a logical size greater than 4.3GB.

Whodidit

  • 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 JRB system service from JRButils for AD.
  • Fixed an issue where command line versions would not display the number of files in a directory.
  • Fixed an issue where the usage in a directory, exclusive of subdirectories, was not being calculated under OES 2015 onwards.
  • 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.
  • Modified to display “None” when the last access date is zero on OES Linux volumes. This will occur for files and directories if “nss /noatime” has been set, and for directories if the command “nss /updateAccessTimeForReaddir” has not been issued. Previously a last access date of 31 December 1979 was displayed.
  • Fixed an issue in the GUI versions where the closing ‘]’ for attributes was not printed when printing at the current display widths.
  • 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, number of deleted files, 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.