Jump to content

Recommended Posts

Posted
How do I get the MAC address of all PCs connected to my Kaspersky Security Center server?
Posted
On 12/27/2025 at 7:06 PM, Tatanimar said:
How do I get the MAC address of all PCs connected to my Kaspersky Security Center server?

As far as I know , It is not possible , Please raise a ticket and raise a feature request using https://companyaccount.kaspersky.com/

Posted

Thank you for your feedback. However, I am going to investigate using the KLAKAUT.exe utility to see if I can extract the data. I will let you know if I still need to raise a formal feature request after my findings.


  • 2 months later...
Tatanimar
Posted

 ci-joint code pour affichier toutes les ardresses MAC des machines gérés par KSC

// --- INITIALISATION DU LOGGING (SANS DATE/HEURE) ---
var g_oFSO = new ActiveXObject("Scripting.FileSystemObject");
var g_oLog = g_oFSO.CreateTextFile("inventaire_machine_complet.log", true);

function Log(msg) {
    WScript.Echo(msg); // Affichage console brut [3]
    g_oLog.WriteLine(msg); // Écriture fichier brute [4]
}

function Main() {
    try {
        // 1. CONNEXION AU SERVEUR (Via KlAkParams pour la compatibilité)
        var oSrvProps = new ActiveXObject("klakaut.KlAkParams");
        oSrvProps.Add("Address", "localhost:13291");
        oSrvProps.Add("UseSSL", true);
        
        var oAdmServer = new ActiveXObject("klakaut.KlAkProxy");
        oAdmServer.Connect(oSrvProps); 

        var oIpConv = new ActiveXObject("klakaut.KlAkIpConversions");
        var oHosts = new ActiveXObject("klakaut.KlAkHosts4");
        oHosts.AdmServer = oAdmServer;

        // 2. RÉCUPÉRATION DE TOUS LES HÔTES AVEC LE NOM DU GROUPE
        var oFields = new ActiveXObject("klakaut.KlAkCollection");
        oFields.SetSize(4);
        oFields.SetAt(0, "KLHST_WKS_HOSTNAME"); 
        oFields.SetAt(1, "KLHST_WKS_DN");       
        oFields.SetAt(2, "KLHST_WKS_IP_LONG");  
        oFields.SetAt(3, "grp_full_name");      // AJOUT : Chemin complet du groupe

        Log("Récupération de la liste complète des machines et des groupes...");
        
        var oAccessor = oHosts.FindHosts("(KLHST_WKS_HOSTNAME = \"*\")", oFields, new ActiveXObject("klakaut.KlAkCollection"));
        
        var mapHosts = {};
        var enumHosts = new Enumerator(oAccessor);
        for (; !enumHosts.atEnd(); enumHosts.moveNext()) {
            var oHost = enumHosts.item();
            var strId = oHost.Item("KLHST_WKS_HOSTNAME");
            var nIpRaw = oHost.Item("KLHST_WKS_IP_LONG");
            
            // Gestion de l'inversion d'IP pour l'affichage (Little-Endian vers Standard)
            var strIp = oIpConv.IpToString(oIpConv.Ip_htonl(nIpRaw)); 
            
            // Stockage étendu incluant le groupe
            mapHosts[strId] = { 
                ip: strIp, 
                name: oHost.Item("KLHST_WKS_DN"),
                group: oHost.Item("grp_full_name") // Stockage du groupe
            };
        }

        // 3. RÉCUPÉRATION DES ADRESSES MAC
        var oSrvView = new ActiveXObject("klakaut.KlAkSrvView3");
        oSrvView.AdmServer = oAdmServer;

        var oViewFields = new ActiveXObject("klakaut.KlAkCollection");
        oViewFields.SetSize(2);
        oViewFields.SetAt(0, "KLHST_WKS_HOSTNAME");
        oViewFields.SetAt(1, "dev_xpar1"); // Adresse MAC

        var oViewAccessor = oSrvView.GetChunkAccessor2(
            "HWInvPCSrvViewName", 
            "(dev_type = 6)", 
            oViewFields, 
            new ActiveXObject("klakaut.KlAkCollection"), 
            new ActiveXObject("klakaut.KlAkParams")
        );

        Log("----------------------------------------------------------------------------------------------------");
        Log("IP_CLIENT\tNOM_MACHINE\tGROUPE_COMPLET\tADRESSE_MAC");
        Log("----------------------------------------------------------------------------------------------------");

        var enumInv = new Enumerator(oViewAccessor);
        for (; !enumInv.atEnd(); enumInv.moveNext()) {
            var oInv = enumInv.item();
            var strHostId = oInv.Item("KLHST_WKS_HOSTNAME");
            var strMac = oInv.Item("dev_xpar1");

            if (mapHosts[strHostId]) {
                var info = mapHosts[strHostId];
                // Affichage final incluant le groupe complet
                Log(info.ip + "\t" + info.name + "\t" + info.group + "\t" + (strMac ? strMac : "N/A"));
            }
        }

    } catch (e) {
        Log("ERREUR : " + e.description);
    } finally {
        if (typeof(g_oLog) != "undefined") g_oLog.Close();
    }
}

Main();

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...