SAM Agent Version History


Introduction

SummitAI Asset Management Agent (SAM) is a virtual agent that is installed on the client’s machine to systematically track, evaluate, and manage the Hardware and Software that are installed on the machine. The goal of SAM agent is to reduce IT expenditures, human resource overhead, and risks inherent in owning and managing the Hardware and Software Assets. The SAM Agent helps in reporting the online or offline status of the machine, establishing remote connection using stealth mode, and retrieving license keys and device information. The SAM Agent is written in dot net framework. The SAM Agent version is always prefixed by the number 2.x.x.x.

The VAPT Compliance requirements are vital to access SAM Agent Installation folder. To know more, refer to this document Security Permissions for VAPT Compliance.

To perform Auto Update on SAM Agent, refer to the below segment: 

 SAM Agent Auto Update

Silent SAM Agent Upgrades: The Auto Upgrade feature seamlessly updates SAM Agent on endpoint machines from older versions to newer ones, silently implementing the configurations specified in the designated Upgrade Set.

The Auto Upgrade feature is essential for maintaining endpoint efficiency and security. By seamlessly updating endpoints according to designated configurations, it ensures optimal performance and minimizes the risk of vulnerabilities associated with outdated software.

Problem Statement
Occasionally, the Agent Auto Update process encounters failures due to changes in environment or various other reasons. In end machines, configuration files have .txt extensions, causing agents to be unable to read proxy URLs for data posting.


Solution

The solution involves addressing two scenarios:
1. How to configure Auto Update for the first time?
2. How to Resolve the incomplete Auto Upgrade for not contacted agents?


Scenario 1

How to configure Auto Update for the first time?
To configure Auto Update for the first time, perform the following steps:

  1. Admin must download the SAM Auto Update folder from the following link:
    https://summitbuild.blob.core.windows.net/sam-agent/SAMAutoUpdate.zip

  2. The downloaded file will be a zip file. Unzip the zip file.

    Note

    Due to unzipping action, the SAMAutoUpdate folder can create a sub folder within its folder containing the required files. Make sure to copy the single folder with files. 

  3. Copy the folder SAMAutoUpdate from unzipped file to \SUMMIT\Proxy Agent\ in Proxy Machine by replacing the existing folder.

  4. Launch AutoUpdateUI.exe application in administrator mode.

  5. Type in the version that you want to upgrade to in the Agent Upgrade To Version field. A folder will be created with this version name.

  6. Type in the location of the proxy server in the Summit Proxy Base URL field.

  7. Click Enable Auto Update to enable the settings for Auto Update.

    Figure: SAM Agent Auto-Update Configuration pop-up

  8. Auto Update confirmation success message is displayed.

    Figure: Auto Update configuration success message

  9. Click Validate Config

  10. The Agent Auto Update process can be completed by copying the latest files to the folder created in step 5.


Scenario 2

How to Resolve the incomplete Auto Upgrade for not contacted agents?

The agent is unable to establish a connection to the proxy server due to the absence of necessary configuration files. This issue arises during the auto-update process, where specific .txt files fail to be converted into .config files.
To resolve this issue, perform the following step:


1. Execute RenameTextFiles.bat on endpoint machine manually by following means:

  • With administrator privilege
                    OR
  • Through Summit Software Delivery feature of the Summit Application
                    OR
  • Any third party systems

Note

RenameTextFiles.bat batch file halts SAM Agent and associated processes and services, changes the extensions of files with the .config.txt extension to .config, and then restarts SAM Agent along with its related processes and services.

After completion, the configuration files will possess the correct extensions. Agents will then extract Proxy URLs from these configuration files and continue posting data to the Proxy.

Info

SAM Agent utilizes WMI queries, accesses the Windows Registry and other system resources to discover Hardware and Software details. This triggers events with ID 4703 when the Security Auditing is enabled in the machine. In environments like Windows Servers, these events can accumulate significantly. As SAM Agent runs continuously under the System Account, these events are expected due to regular authorization checks for accessing system resources.

Microsoft recommends evaluating the need for Security Auditing for successful events and possibly disabling it for system performance optimization.

For more information, refer to the following links:


SAM Versions and Enhancements

The following table describes the various versions of the SAM Agent and the fixes and enhancements available in each of these versions:

Version#

Fixes and EnhancementsApplication Version
2.5.6.23

The ability to download and install KB3154520 has been disabled as it was repeatedly being downloaded in customer environments.

Note

KB3154520 enables support for the system default versions of TLS in .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2.

Applicable to all available versions
2.5.6.22

SAM Agent previously encountered a System Overflow Exception when retrieving device details on 64-bit machines. The mentioned issue is addressed in this version.


2.5.6.21 

SAM Agent retrieves both the Active IP address and MAC address. 

What is active IP and MAC address?

When a machine has multiple NICs, it can have multiple IP addresses, but not all are active. At least one NIC is assigned a Default Gateway through which network traffic flows. The IP and MAC addresses associated with these active NICs are considered active.


2.5.6.19

Fixed defect of Summit Asset Management service is not getting created. Fixed defect of OneDrive pop-up is getting displayed, and applications are getting downloaded from OneDrive.


2.5.6.18

SAM Agent retrieves the Monitor details. Installer modifies the folder permissions.


2.5.6.17

Detect and display superseded patches.


2.5.6.16 

SAM Agent logs will grow a maximum of 5 MB and will recycle after 5 MB.

Denali SP3 HF14 onwards
2.5.6.15 

SFTP software deployment is implemented, and this feature is supported in “DENALI.SP3.HF14” onwards.

  • If Customer is using less than DENALI.SP3.HF14 and using higher version of SAM Agent which is v2.5.6.15 or above, then apply the below two SPs in customer instance to work with Agent based software deployment feature without any issues.

     Software-Deployment-Fix-forAgent_v2.5.6.15.sql

    /* 
        -If Customer is using less than DENALI.SP3.HF14 and using higher version of SAM Agent which is v2.5.6.15 or above, then apply the below two SPs in customer instance.
        1. [USP_AM_GetPatchDetailsForExecution]
        2. USP_AM_GetPatchSessionDetails

    */
    ALTER PROCEDURE [dbo].[USP_AM_GetPatchDetailsForExecution] (@IPAddress NVARCHAR(255), @MachineName NVARCHAR(500))
    AS
    BEGIN


    DECLARE @MasterPatchDetails TABLE(PatchId INT,IsConditionMatched BIT)
    DECLARE @RBATicketDetails TABLE(PatchID INT, TicketId INT, ModuleType NVARCHAR(10),IsDependent BIT,SmartActionQueueID INT,AssetID INT)
    DECLARE @DependentTickets Table(RID int Identity(1,1),PatchID Int,TicketId INT, ModuleType NVARCHAR(10),SmartActionQueueID INT,DependentActionOutput NVARCHAR(MAX),
    DependentActionStatus NVARCHAR(100),Module NVARCHAR(50),ConditionCriteria NVARCHAR(100),ConditionValue NVARCHAR(500), Isvalid BIT,NextRunDate DATETIME,ExecutedTime DATETIME)
     

    ---- Patch details wich has no reference to RBA
    INSERT INTO @MasterPatchDetails(patchid,IsConditionMatched)
    SELECT Distinct PSS.Session_ID,1 
    FROM Patch_Session_Status PSS
    INNER JOIN Patch_master PM ON PSS.PatchID = PM.PatchID 
    INNER JOIN AM_PatchScan_Master PSM ON PSM.PatchScan_ID = PSS.Session_ID AND PSM.PushPatchBy = 'Agent' 
    WHERE 1 = 1 and PSM.Active = 1 AND (PSS.IPAddress = @IPAddress or PSS.IPAddress = @MachineName) AND PSS.Status IN('Not Started','ReStart') and ISNULL(RefType,'') = '' and ISNULL(RefID,0) = 0


    INSERT INTO @RBATicketDetails(PatchID, TicketId, ModuleType,AssetID)
    Select SS.Session_ID,PSM.RefID,RefType,SS.Asset_ID from Patch_Session_Status SS
    INNER JOIN AM_PatchScan_Master PSM ON PSM.PatchScan_ID = SS.Session_ID AND PSM.PushPatchBy = 'Agent' 
    WHERE 1 = 1 and PSM.Active = 1 AND (SS.IPAddress = @IPAddress or SS.IPAddress = @MachineName) AND SS.Status IN('Not Started','ReStart') and ISNULL(RefType,'') <> '' and ISNULL(RefID,0) > 0

    if exists (Select 1 from @RBATicketDetails)
    BEGIN
        ---- filter condition order 
        UPDATE AM SET IsDependent = 1, AM.SmartActionQueueID = ISQ.SmartActionQueueID 
        from  @RBATicketDetails AM
        LEFT JOIN  IM_SmartAction_Queue ISQ ON AM.PatchID = ISQ.PatchScanMasterUID 
        LEFT JOIN Adm_Selfhealing_actions ASA with(nolock) ON ASA.UID=ISQ.SelfHealingActionID and isnull(ASA.IsActive,1)=1
        Where ISNULL(ASA.ConditionOrder,0) > 0 and ISNULL(ASA.ConditionCriteria,'') <> '' 

        Insert into @MasterPatchDetails (PatchID,IsConditionMatched)
        Select PatchID,1 from @RBATicketDetails Where ISNULL(IsDependent,0) = 0 
        
        INSERT INTO @DependentTickets(PatchID,TicketId,ModuleType,SmartActionQueueID,DependentActionOutput,DependentActionStatus,Module,ConditionCriteria,ConditionValue,NextRunDate,ExecutedTime)
        
        Select DISTINCT AM.PatchID,AM.TicketId,AM.ModuleType,AM.SmartActionQueueID, tbl.Output as DependentActionOutput,tbl.Status as DependentActionStatus,IsNull(ISQ.Module,'IM') Module
        ,ASA.ConditionCriteria,ASA.ConditionValue,tbl.NextRunDate,tbl.ExecutedTime
        from  @RBATicketDetails AM
        INNER JOIN  IM_SmartAction_Queue ISQ ON  ISQ.SmartActionQueueID = Am.SmartActionQueueID 
        LEFT JOIN Adm_Selfhealing_actions ASA with(nolock) ON ASA.UID=ISQ.SelfHealingActionID and isnull(ASA.IsActive,1)=1
        LEFT OUTER JOIN (select ISQ1.Output ,ISQ1.Status,ISQ1.TICKETID, ISQ1.ExecutionOrder,ISQ1.SelfHealingMasterID,ISQ1.SmartActionQueueID,ISQ1.CI_ID,ISQ1.NextRunDate,ISQ1.ExecutedTime
            from IM_SmartAction_Queue ISQ1 with(nolock) 
            INNER JOIN Adm_Selfhealing_actions ASQ1 with(nolock) ON ASQ1.SelfHealingMasterID=ISQ1.SelfHealingMasterID AND ASQ1.ConditionOrder=ISQ1.ExecutionOrder
        ) as tbl on tbl.ExecutionOrder=ASA.ConditionOrder and tbl.TicketID=ISQ.TicketID and tbl.SelfHealingMasterID=ISQ.SelfHealingMasterID and ISNULL(tbl.CI_ID,0)=ISNULL(ISQ.CI_ID,0)
        Where IsDependent = 1 and isnull(ASA.IsActive,1)=1 and ISNULL(ConditionCriteria,'') <> '' and ISNULL(ConditionValue,'') <> ''
        
        
        UPDATE @DependentTickets SET IsValid = Case When ConditionCriteria = 'CONTAINS' then CASE WHEN DependentActionOutput like '%'+ConditionValue+'%' then 1 Else 0 End  
             When ConditionCriteria = 'EQ' then CASE When DependentActionOutput = ConditionValue Then 1 Else 0 End
             When ConditionCriteria = 'NEQ' then CASE When DependentActionOutput <> ConditionValue Then 1 Else 0 End
             When ConditionCriteria = 'GT' then CASE When DependentActionOutput > ConditionValue Then 1 Else 0 End
             When ConditionCriteria = 'LT' then CASE When DependentActionOutput < ConditionValue Then 1 Else 0 End
        END

        Insert into @MasterPatchDetails (PatchID,IsConditionMatched)
        Select PatchID,Isvalid from @DependentTickets Where ISNULL(NextRunDate,'') = '' and DependentActionStatus not in ('New','In-Progress') 

    END

    ---Select * from @MasterPatchDetails

    SELECT Distinct PSS.Session_ID ,PSS.IPAddress ,PSS.Status
    ,PSS.Messages ,PM.PatchID ,PM.Org_ID ,PM.P_Type ,PM.P_Name
    ,PM.P_Args ,PM.P_Version ,PM.P_Description ,PM.P_Vendor
    ,PM.P_FilePath ,PM.Active ,PM.InsertDT ,PM.InsertBy ,PM.UpdateDT, PM.IsRemotePath,PM.StorageServer,PM.PathType,PM.ProxyServer,PM.FTPUserName,PM.FTPPassword
    ,PM.UpdateBy,PSS.UID as PatchSessionUID,UM.Domain as Domain,UM.PWD as Password,UM.UID as UserName , PSM.RefID,MPD.IsConditionMatched
    ,''  SFTPPassword,''  SFTPUserName, '' SFTPServerName, '' SFTPProtocol
    FROM Patch_Session_Status PSS
    INNER JOIN @MasterPatchDetails MPD ON MPD.PatchId = PSS.Session_ID
    INNER JOIN Patch_master PM ON PSS.PatchID = PM.PatchID 
    INNER JOIN AM_PatchScan_Master PSM ON PSM.PatchScan_ID = PSS.Session_ID AND PSM.PushPatchBy = 'Agent' 
    LEFT JOIN UID_Master UM ON UM.WMI_Usr_ID = PSM.Patch_UserID 

    WHERE 1 = 1 and PSM.Active = 1 AND (PSS.IPAddress = @IPAddress or PSS.IPAddress = @MachineName)  AND PSS.Status IN('Not Started','ReStart')

    END
    GO

    ALTER PROC [dbo].[USP_AM_GetPatchSessionDetails] (@SessionID INT,@PatchID INT,@IPAddress NVARCHAR(255))
    AS
    BEGIN

    DECLARE @SQL NVARCHAR(MAX) 
    SET @SQL = ''

    SET @SQL = ' DECLARE @AllPatchDetails TABLE(SessionUID INT,SessionID INT,PatchId INT,IPAddress NVARCHAR(300),AssetID INT)
    DECLARE @MasterPatchDetails TABLE(SessionUID INT,SessionID INT,PatchId INT,IPAddress NVARCHAR(300),AssetID INT,IsConditionMatched BIT)
    DECLARE @RBATicketDetails TABLE(SessionUID INT,SessionID INT,PatchId INT,IPAddress NVARCHAR(300),AssetID INT,PatchScanID INT, TicketId INT, ModuleType NVARCHAR(10),IsDependent BIT,SmartActionQueueID INT)
    DECLARE @DependentTickets Table(SessionUID Int,SessionID INT,PatchId INT,IPAddress NVARCHAR(300),AssetID INT,TicketId INT, ModuleType NVARCHAR(10),SmartActionQueueID INT,DependentActionOutput NVARCHAR(MAX),
    DependentActionStatus NVARCHAR(100),Module NVARCHAR(50),ConditionCriteria NVARCHAR(100),ConditionValue NVARCHAR(500), Isvalid BIT,NextRunDate DATETIME,ExecutedTime DATETIME)
     '
    ----- All Session Assets Details into parent Table
    SET @SQL = @SQL + ' INSERT INTO @AllPatchDetails(SessionUID,SessionID,PatchId,IPAddress,AssetID)
    SELECT PSS.UID,PSS.Session_ID ,PSS.PatchID ,PSS.IPAddress, PSS.Asset_ID 
    FROM Patch_Session_Status PSS
    INNER JOIN Patch_master PM ON PSS.PatchID = PM.PatchID
    WHERE 1 = 1 '

    IF(ISNULL(@SessionID,0) > 0)
    BEGIN
        SET @SQL = @SQL + ' AND Session_ID =' + CONVERT(NVARCHAR(100), @SessionID)    
    END
    IF(ISNULL(@PatchID,0) > 0)
    BEGIN
        SET @SQL = @SQL + ' AND PSS.PatchID =' + CONVERT(NVARCHAR(10), @PatchID)    
    END
    IF(ISNULL(@IPAddress,'') != '')
    BEGIN
        SET @SQL = @SQL + ' AND PSS.IPAddress =''' + @IPAddress + ''''
    END

    ---- Take Only Patches not belonged to RBA 
    SET @SQL = @SQL + ' INSERT INTO @MasterPatchDetails (SessionUID,SessionID,PatchId,IPAddress,AssetID,IsConditionMatched)
    Select SessionUID,SessionID,PatchId,IPAddress,AssetID,1 from @AllPatchDetails Where ISNULL(AssetID,'''') = '''' '

    ---- Take Only Patches belonged to RBA 
    SET @SQL = @SQL + ' INSERT INTO @RBATicketDetails (SessionUID,SessionID,PatchId,IPAddress,AssetID)
    Select SessionUID,SessionID,PatchId,IPAddress,AssetID from @AllPatchDetails Where ISNULL(AssetID,'''') <> '''' '

    ---- RBA Condition Check -----
    SET @SQL = @SQL + ' IF EXISTS(Select 1 from @RBATicketDetails)
    BEGIN

        UPDATE AM SET AM.PatchScanID =  PM.PatchScan_ID,TicketId = RefID,ModuleType = RefType
        from @RBATicketDetails AM 
        INNER JOIN AM_PatchScan_Master PM ON PM.PatchScan_ID = SessionID

        UPDATE AM SET IsDependent = 1, AM.SmartActionQueueID = ISQ.SmartActionQueueID 
        from  @RBATicketDetails AM
        LEFT JOIN  IM_SmartAction_Queue ISQ ON AM.PatchScanID = ISQ.PatchScanMasterUID 
        LEFT JOIN Adm_Selfhealing_actions ASA with(nolock) ON ASA.UID=ISQ.SelfHealingActionID and isnull(ASA.IsActive,1)=1
        Where ISNULL(ASA.ConditionOrder,0) > 0 and ISNULL(ASA.ConditionCriteria,'''') <> '''' 

        Insert into @MasterPatchDetails (SessionUID,SessionID,PatchId,IPAddress,AssetID,IsConditionMatched)
        Select SessionUID,SessionID,PatchId,IPAddress,AssetID,1 from @RBATicketDetails Where ISNULL(IsDependent,0) = 0


        INSERT INTO @DependentTickets(SessionUID,SessionID,PatchId,IPAddress,AssetID,TicketId,ModuleType,SmartActionQueueID,DependentActionOutput,DependentActionStatus,Module,ConditionCriteria,ConditionValue,NextRunDate,ExecutedTime)
        Select DISTINCT AM.SessionUID,AM.SessionID,AM.PatchId,AM.IPAddress,AM.AssetID,AM.TicketId,AM.ModuleType,AM.SmartActionQueueID, tbl.Output as DependentActionOutput,tbl.Status as DependentActionStatus,IsNull(ISQ.Module,''IM'') Module
        ,ASA.ConditionCriteria,ASA.ConditionValue,tbl.NextRunDate,tbl.ExecutedTime
        from  @RBATicketDetails AM
        INNER JOIN  IM_SmartAction_Queue ISQ ON  ISQ.SmartActionQueueID = Am.SmartActionQueueID 
        LEFT JOIN Adm_Selfhealing_actions ASA with(nolock) ON ASA.UID=ISQ.SelfHealingActionID and isnull(ASA.IsActive,1)=1
        LEFT OUTER JOIN (select ISQ1.Output ,ISQ1.Status,ISQ1.TICKETID, ISQ1.ExecutionOrder,ISQ1.SelfHealingMasterID,ISQ1.SmartActionQueueID,ISQ1.CI_ID,ISQ1.NextRunDate,ISQ1.ExecutedTime
            from IM_SmartAction_Queue ISQ1 with(nolock) 
            INNER JOIN Adm_Selfhealing_actions ASQ1 with(nolock) ON ASQ1.SelfHealingMasterID=ISQ1.SelfHealingMasterID AND ASQ1.ConditionOrder=ISQ1.ExecutionOrder
        ) as tbl on tbl.ExecutionOrder=ASA.ConditionOrder and tbl.TicketID=ISQ.TicketID and tbl.SelfHealingMasterID=ISQ.SelfHealingMasterID and ISNULL(tbl.CI_ID,0)=ISNULL(ISQ.CI_ID,0)
        Where IsDependent = 1 and isnull(ASA.IsActive,1)=1 and ISNULL(ConditionCriteria,'''') <> '''' and ISNULL(ConditionValue,'''') <> ''''

        UPDATE @DependentTickets SET IsValid = Case When ConditionCriteria = ''CONTAINS'' then CASE WHEN DependentActionOutput like ''%''+ConditionValue+''%'' then 1 Else 0 End  
             When ConditionCriteria = ''EQ'' then CASE When DependentActionOutput = ConditionValue Then 1 Else 0 End
             When ConditionCriteria = ''NEQ'' then CASE When DependentActionOutput <> ConditionValue Then 1 Else 0 End
             When ConditionCriteria = ''GT'' then CASE When DependentActionOutput > ConditionValue Then 1 Else 0 End
             When ConditionCriteria = ''LT'' then CASE When DependentActionOutput < ConditionValue Then 1 Else 0 End
        END

        Insert into @MasterPatchDetails (SessionUID,SessionID,PatchId,IPAddress,AssetID,IsConditionMatched)
        Select SessionUID,SessionID,PatchId,IPAddress,AssetID,Isvalid from @DependentTickets Where ISNULL(NextRunDate,'''') = '''' and DependentActionStatus not in (''New'',''In-Progress'') 
    END '


    ----- All Session Patches  
    SET @SQL = @SQL + ' SELECT PSS.UID,PSS.Session_ID ,PSS.PatchID ,PSS.IPAddress ,PSS.Status,PSS.Messages ,PM.PatchID ,PM.Org_ID ,PM.P_Type ,PM.P_Name
    ,PM.P_Args ,PM.P_Version ,PM.P_Description ,PM.P_Vendor    ,PM.P_FilePath ,PM.Active ,PM.InsertDT ,PM.InsertBy ,PM.UpdateDT, PM.IsRemotePath,
    PM.StorageServer,PM.PathType,PM.ProxyServer,PM.FTPUserName,PM.FTPPassword ,PM.UpdateBy,PM.InteractiveDesktop ,IsConditionMatched,AssetID
    ,'' SFTPPassword,'' SFTPUserName, '' SFTPServerName, '' SFTPProtocol
    FROM Patch_Session_Status PSS
    INNER JOIN @MasterPatchDetails MAS ON MAS.SessionUID = PSS.UID
    INNER JOIN Patch_master PM ON PSS.PatchID = PM.PatchID

    WHERE 1 = 1 '


    ----Select (@SQL)

    EXEC(@SQL)


    END

    GO

    • [USP_AM_GetPatchDetailsForExecution]
    • [USP_AM_GetPatchSessionDetails
Denali SP3 HF14 onwards
2.5.6.14

A connection timeout error is displayed on few environments, while downloading more than one approved patches at the same time using HTTP protocol. This is fixed for all HTTP connections.


DENALI SP3 HF02 Onwards

















2.5.6.13

While installing the patches, SAM Agent displayed an error, Error:11.
Error:11- You cannot service a running 64-bit operating system with a 32-bit version of DISM.
Please use the version of DISM that corresponds to your computer's architecture.

A connection timeout error is displayed on few environments, while downloading more than one approved patches at the same time using HTTP protocol.

2.5.6.12

The IP Addresses were not populated in the Agent online status report for a few machines when machines are connected using the dongle network. Whereas, IP Address was correctly displayed in the Hardware information discovery section.

Also, a TLS error occurred, and the auto KB installation was not getting removed post-installation.

The above issues are fixed in this version.

2.5.6.11

The following merges are taken care of in this version:

  • Merge from v2.0.4.34 App control crash on a bigger profile to TLS1.2 Window 10 upgrade v2.5.6.11.
  • Merge from v2.5.5.21 TLS1.2 agent changes are merged to TLS1.2 Window 10 upgrade v2.5.6.11.
2.5.6.10

This version is enriched with the windows 10 build upgrade support. The base code for this version is v2.5.5.19.

2.5.5.27A connection timeout error is displayed on few environments, while downloading more than one approved patches at the same time using HTTP protocol. This is fixed for all HTTP connections. DENALI SP3 HF01 Onwards
2.5.5.26

While installing the patches, SAM Agent displayed an error, Error:11.
Error: 11- You cannot service a running 64-bit operating system with a 32-bit version of DISM.
Please use the version of DISM that corresponds to your computer's architecture.

A connection timeout error is displayed on few environments, while downloading more than one approved patches at the same time using HTTP protocol.

2.5.5.23

The IP Addresses were not populated in the Agent online status report for a few machines when machines are connected using  the dongle network. Whereas, IP Address was correctly displayed in the Hardware information discovery section.

Also, a TLS error occurred, and the auto KB installation was not getting removed post-installation.

The above issues are fixed in this version.
2.5.5.22

The following issues are fixed in this version:

  • The SAM Agent now discovers additional network IP addresses with its properties, and displays them as an additional IP address option under the Hardware discovered tab or remote desktop.
  • When a large application control profile is applied, the SAM agent doesn’t crash during the profile encryption or decryption.
2.5.5.21

Earlier, the system was fetching a maximum of 15 characters of the computer hostname even though the hostname was containing more than 15 characters.

This issue is fixed in this version.
2.5.5.19This version is enriched with the TLS1.2 support for .Net framework 2.0 or above. The base code for this version is v2.0.5.16.
2.2.4.40System Type for 2-in-1 laptops was displayed as "Others". This issue is fixed.
Now the System Type for 2-in-1 laptops is displayed as "Laptop"
.
2.2.4.39

A connection timeout error is displayed on few environments, while downloading more than one approved patches at the same time using HTTP protocol. This is fixed for all HTTP connections.



Above SUMMIT v5.7 SP3 and below SUMMIT ALPS version



2.2.4.38Patch offline .cab file information is fetched from Agent Machine and displayed in UI.
2.2.4.37

While installing patches, SAM Agent displayed an error, Error:11.

Error: 11- You cannot service a running 64-bit operating system with a 32-bit version of DISM.

Please use the version of DISM that corresponds to your computer's architecture.

2.2.4.35Last logged on username was not getting derived from 64-bit machines in some scenarios.
2.2.4.34

In the earlier version, the patch management scan was happening due to code obfuscation.

This issue is fixed in this version.

2.2.4.33This version is enriched with the TLS1.2 support for .Net framework 4.5 or above. The base code for this version is v2.0.4.33.
2.0.5.16

The last logged-in username was discovered as the SYSTEM account name even though some users logged in remotely. This issue occurred when the WMI query output for the remotely logged-in machines was empty for the username parameter.

This issue is now fixed by using different commands.




Above SUMMIT ALPS HF01 version



When software information is discovered, few of the software versions are picked from the MSI database as the original version (that is the version when it was installed). But later, the same software was upgraded to the latest version, and the summit was shown as the older version by comparing the MSI database version.

The issue is fixed in this version.
2.0.5.15Includes the fixes of the various versions (2.0.4.26, 2.0.4.27, 2.0.4.28, 2.0.4.29, 2.0.4.30, and 2.0.4.31)
2.0.5.12, 2.0.5.11In this version, the "Unquoted Service Path" and "Improper Permissions" vulnerability issues of the Agent are fixed. Also, the access to everyone permission to the SummitAI installation folder is removed if provided earlier.
2.0.5.10This version is enriched with the Endpoint Automation script execution feature as part of SAM Agent.
2.0.4.34 After adding more software in application profile mapping the application controller was not working. This issue is fixed in this version.


Above SUMMIT v5.7 SP3 and below SUMMIT ALPS version


2.0.4.33, 2.0.4.32

The last logged-in username was discovered as the SYSTEM account name even though some users logged in remotely. This issue occurred when the WMI query output for the remotely logged-in machines was empty for the username parameter. This issue is now fixed by using different commands.

When software information is discovered, few of the software versions are picked from the MSI database as the original version (that is the version when it was installed). But later, the same software was upgraded to the latest version, and the summit was shown as the older version by comparing the MSI database version. The issue is fixed in this version.

2.0.4.311. The last logged on username was discovered as the SYSTEM account name even though some users logged in remotely. This issue occurred when the WMI query output for the remotely logged in machines was empty for the username parameter. This issue is fixed by using different commands.Above SUMMIT v5.7 SP3 and below SUMMIT ALPS version
2. When secure Boot is enabled, then the unsigned system drivers (i.e., the drivers for which the Microsoft digital certificate is not available) are prevented by the Windows operating system to executing/starting the booting operation.
3. Earlier, while discovering the software details, different versions of the same software were captured in the registry and MSI folder. Due to this, the SummitAI application was considering the software version in the MSI database as the latest version. Now, the SummitAI application considers the registry version as the priority version.
2.0.4.30Earlier, in the specific environment/machine, if the machine is required to install more than one patches, then at a time only one patch was getting downloaded. Now, multiple patches are downloaded by completely clearing the previous download request before the next download starts.
2.0.4.29In some machines, the Windows OS build number was not discovered earlier properly, could be discovered in this version.
2.0.4.28Earlier, the users were able to run an application from a shared folder even though the respective application was configured as blocked for execution. In this version, the issue is fixed.
2.0.4.27Earlier, the Software installation and uninstallation are not getting triggered correctly. The issue is fixed in this version.
2.0.4.26For Patch Management, if Patches are downloaded from an HTTP path, the path was not framed correctly. The issue is fixed in this version.
2.0.4.25, 2.0.4.24In this version, the "Unquoted Service Path" and "Improper Permissions" vulnerability issues of the Agent are fixed. Also, the access to everyone permission to the SummitAI installation folder is removed if provided earlier.
2.0.4.23This version is enriched with Orchestration Script execution at the agent level via Service request feature.
2.0.3.25Earlier, while discovering the software details, different versions of the same software were captured in the registry and MSI folder. Due to this, the SummitAI application was considering the software version in the MSI database as the latest version. Now, the SummitAI application considers the registry version as the priority version.Above SUMMIT v5.6 and below SUMMIT v5.7 SP3
2.0.3.23, 2.0.3.22In this version, the "Unquoted Service Path" and "Improper Permissions" vulnerability issues of the Agent are fixed. Also, the access to everyone permission to the SummitAI installation folder is removed if provided earlier.
2.0.3.20Now, Admin can disable the desired data that must not be captured from the end point machine by adding the "DISABLE_SCAN" key in the SAMAgent.exe.config file. By default, all the required information is captured from the endpoint machine.
add key="DISABLE_SCAN" value="USAGE|LOGON|ADDTIONAL|DEVMGR|LIC" /
2.0.3.19In the previous versions of the SummitAI application, when the SAM Agent was in idle state, it was utilizing some amount of CPU and RAM. This was causing Application performance issues.
Now, the SAM Agent is optimized to utilize very less memory and CPU even though it is in idle state. While scanning an Asset, CPU utilization spikes a little and then comes down.
2.0.3.17Using stealth mode option, earlier the "SymRemote" was installed as an application. So, when any UAC prompt appeared on the user machine, the Analyst was not able to control the user machine. From this version, the "SymRemote" is installed as a Service, which enables the Analysts to control the user machine in case of UAC prompts.
2.0.2.17In the previous versions of the SummitAI application, when the SAM Agent was in idle state, it was utilizing some amount of CPU and RAM. This was causing Application performance issues.Below SUMMIT v5.6
Now, the SAM Agent is optimized to utilize very less memory and CPU even though it is in idle state. While scanning an Asset, CPU utilization spikes a little and then comes down.