add tpm to csv (#5660)

Simon Smith committed Jan 3, 2024 at 14:44 UTC b0bb66fee8af0caa07819289669b0bb064edd288
1 file changed +33 -3
meshuser.js
+33 -3
@@ -4940,7 +4940,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4940 if (type == 'csv') {
4941 try {
4942 // Create the CSV file
4943 - output = 'id,name,rname,host,icon,ip,osdesc,groupname,av,update,firewall,bitlocker,avdetails,tags,cpu,osbuild,biosDate,biosVendor,biosVersion,boardName,boardVendor,boardVersion,productUuid,totalMemory,agentOpenSSL,agentCommitDate,agentCommitHash,agentCompileTime,netIfCount,macs,addresses,lastConnectTime,lastConnectAddr\r\n';
4943 + output = 'id,name,rname,host,icon,ip,osdesc,groupname,av,update,firewall,bitlocker,avdetails,tags,cpu,osbuild,biosDate,biosVendor,biosVersion,boardName,boardVendor,boardVersion,productUuid,tpmversion,tpmmanufacturer,tpmmanufacturerversion,tpmisactivated,tpmisenabled,tpmisowned,totalMemory,agentOpenSSL,agentCommitDate,agentCommitHash,agentCompileTime,netIfCount,macs,addresses,lastConnectTime,lastConnectAddr\r\n';
4944 for (var i = 0; i < results.length; i++) {
4945 const nodeinfo = results[i];
4946
@@ -4973,7 +4973,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4973 output += ',';
4974 }
4975 } else {
4976 - output += ',,,,,,,,,,,,,';
4976 + output += ',,,,,,,,,,,,,,,,,,,';
4977 }
4978
4979 // System infomation
@@ -4998,6 +4998,18 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4998 output += ',';
4999 if (nodeinfo.sys.hardware.identifiers && (nodeinfo.sys.hardware.identifiers.product_uuid)) { output += csvClean(nodeinfo.sys.hardware.identifiers.product_uuid); }
5000 output += ',';
5001 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.SpecVersion) { output += csvClean(nodeinfo.sys.hardware.tpm.SpecVersion); }
5002 + output += ',';
5003 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.ManufacturerId) { output += csvClean(nodeinfo.sys.hardware.tpm.ManufacturerId); }
5004 + output += ',';
5005 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.ManufacturerVersion) { output += csvClean(nodeinfo.sys.hardware.tpm.ManufacturerVersion); }
5006 + output += ',';
5007 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsActivated) { output += csvClean(nodeinfo.sys.hardware.tpm.IsActivated ? 'true' : 'false'); }
5008 + output += ',';
5009 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsEnabled) { output += csvClean(nodeinfo.sys.hardware.tpm.IsEnabled ? 'true' : 'false'); }
5010 + output += ',';
5011 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsOwned) { output += csvClean(nodeinfo.sys.hardware.tpm.IsOwned ? 'true' : 'false'); }
5012 + output += ',';
5013 if (nodeinfo.sys.hardware.windows.memory) {
5014 var totalMemory = 0;
5015 for (var j in nodeinfo.sys.hardware.windows.memory) {
@@ -5024,6 +5036,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5036 output += ',';
5037 if (nodeinfo.sys.hardware.mobile && (nodeinfo.sys.hardware.mobile.id)) { output += csvClean(nodeinfo.sys.hardware.mobile.id); }
5038 output += ',';
5039 + output += ',';
5040 + output += ',';
5041 + output += ',';
5042 + output += ',';
5043 + output += ',';
5044 + output += ',';
5045 } else if ((nodeinfo.sys) && (nodeinfo.sys.hardware) && (nodeinfo.sys.hardware.windows) && (nodeinfo.sys.hardware.linux)) {
5046 // Linux
5047 output += ',';
@@ -5043,8 +5061,20 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5061 output += ',';
5062 if (nodeinfo.sys.hardware.linux && (nodeinfo.sys.hardware.linux.product_uuid)) { output += csvClean(nodeinfo.sys.hardware.linux.product_uuid); }
5063 output += ',';
5064 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.SpecVersion) { output += csvClean(nodeinfo.sys.hardware.tpm.SpecVersion); }
5065 + output += ',';
5066 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.ManufacturerId) { output += csvClean(nodeinfo.sys.hardware.tpm.ManufacturerId); }
5067 + output += ',';
5068 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.ManufacturerVersion) { output += csvClean(nodeinfo.sys.hardware.tpm.ManufacturerVersion); }
5069 + output += ',';
5070 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsActivated) { output += csvClean(nodeinfo.sys.hardware.tpm.IsActivated ? 'true' : 'false'); }
5071 + output += ',';
5072 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsEnabled) { output += csvClean(nodeinfo.sys.hardware.tpm.IsEnabled ? 'true' : 'false'); }
5073 + output += ',';
5074 + if (nodeinfo.sys.hardware.tpm && nodeinfo.sys.hardware.tpm.IsOwned) { output += csvClean(nodeinfo.sys.hardware.tpm.IsOwned ? 'true' : 'false'); }
5075 + output += ',';
5076 } else {
5047 - output += ',,,,,,,,,,';
5077 + output += ',,,,,,,,,,,,,,,,';
5078 }
5079
5080 // Agent information