Contents

Method

GetUserInstallations

ModuleSoftware
LibraryCore
Action

Gets a list of the software installed for specific users, optionally filtered by product and/or publisher.

Parameters

Product (string; optional): If specified, search for just this product.

Publisher (string; optional): If specified, get just this publisher's software.

Return values

A table of:

    • Architecture (string): Platform architecture of this installation (e.g. x86, x64)
    • InstallDate (string): If available, when the product was installed.
    • Product (string): The product name.
    • Publisher (string): The publisher of the product.
    • Sid (string): The user identifier for whom this software has been installed.
    • Username (string): Friendly representation of the Sid - this will only be resolved locally.
    • Version (string): The version of the product.
Example

Get all user specific software:

 Software.GetUserInstallations();
Platforms
  • Windows
Notes
  • Sid resolution may fail as this method will not go over the wire. In this case Username will be NULL.
  • The file modified and accessed time attributes of the NTUSER.dat directory entries under the %USERPROFILE% folder for each user and service principal might be updated to some time during the execution of this method. This is a side effect of loading and unloading the user hive and is housekeeping performed by Windows, not the 1E Client. This can cause "unused" profiles to appear to be used if the modified times are employed to determine whether a user has logged in, which is not a reliable method of establishing this fact.

  • This method reads user uninstall registry keys from HKU, but will not load hives.
  • Installs for this function are retrieved from HKU:\<SID>\Software\Microsoft\Windows\CurrentVersion\Uninstall