Skip to content

Add Feature Software Inventory#7597

Open
esgheorghe wants to merge 6 commits intoYlianst:masterfrom
esgheorghe:master
Open

Add Feature Software Inventory#7597
esgheorghe wants to merge 6 commits intoYlianst:masterfrom
esgheorghe:master

Conversation

@esgheorghe
Copy link

Hello,

I have added a new feature that displays all Windows programmes, including Windows Store apps.
It also allows for silent uninstallation of programmes and Store apps.

Each uninstallation is logged under C:\Programdata\MeshAgent_StoreUninstall.log or MeshAgent_Uninstall.log.

Many thanks and best regards,
Stefan

image image image image

Added new Feature Software with Uninstall function
Fix else if
Show Uninstall Button to Admins only!
Change rights for software commands to DeviceDetails.
Add possibility to view / uninstall Windows Apps and Store Apps.

You need ‘Details’ rights to view the software.
You need admin rights in MeshCentral to uninstall the application.
@si458
Copy link
Collaborator

si458 commented Feb 3, 2026

amazing PR!

ive noticed a few commands that are now in powershell

those could be changed to using the built in win-registry module now! (just remembered)
then we dont need to call any external powershell!
also makes AVs happy as we arent opening and closing powershell all the time!

example:

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo');
{"subkeys":["5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA"],"values":[]}

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo\\5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA');
{"subkeys":[],"values":["IdpDomain","TenantId","UserEmail","AttestationLevel","AikCertStatus","TransportKeyStatus","DeviceDisplayName","OsVersion","DdidUpToDate","DnsFullyQualifiedName","LastSyncTime"]}

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo\\5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA','DeviceDisplayName');
Win-11-24h2

@DaanSelen
Copy link
Contributor

Amazing @esgheorghe ! Love this!

@esgheorghe
Copy link
Author

amazing PR!

ive noticed a few commands that are now in powershell

those could be changed to using the built in win-registry module now! (just remembered) then we dont need to call any external powershell! also makes AVs happy as we arent opening and closing powershell all the time!

example:

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo');
{"subkeys":["5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA"],"values":[]}

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo\\5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA');
{"subkeys":[],"values":["IdpDomain","TenantId","UserEmail","AttestationLevel","AikCertStatus","TransportKeyStatus","DeviceDisplayName","OsVersion","DdidUpToDate","DnsFullyQualifiedName","LastSyncTime"]}

const joinInfo = require('win-registry').QueryKey(require('win-registry').HKEY.LocalMachine, 'SYSTEM\\CurrentControlSet\\Control\\CloudDomainJoin\\JoinInfo\\5A0172F10FD5007E9CA54F50AE7DD0813E8E94DA','DeviceDisplayName');
Win-11-24h2

Hi,

With installed apps, it is possible to switch back to the Windows registry, but unfortunately, the situation is not as favorable with StoreApps. They are difficult and unreliable to read in the Windows registry; PowerShell is the only reliable method here.

I would continue to use PowerShell, as it is more future-proof. MS intends to eliminate the registry, as well as OnPrem AD.

Are there many issues with the agent if we continue to use PS?

BR
Stefan

@si458
Copy link
Collaborator

si458 commented Feb 3, 2026

@esgheorghe the main issue we have is AVs keep flagging/blocking powershell commands being run from exe
because meshagent has already been identified as a virus, so we are trying to remove as much running external things as possible and rely on internal things to windows, this minimises the risk of AVs becoming unhappy

edit: one AV blocked the windows task scheduler from creating a simple task! so the end staff cant open up the chat window as we rely on the scheduler to create the task to open as the user

@esgheorghe
Copy link
Author

Amazing @esgheorghe ! Love this!

Thank you.
MeshCentral has so much potential that I enjoy building new features and fixing bugs.
Together, we can make MC really big and even more professional.
There aren't many professional remote solutions in the Gartner Quadrant, and MC can easily compete with them.

@DaanSelen
Copy link
Contributor

Amazing @esgheorghe ! Love this!

Thank you. MeshCentral has so much potential that I enjoy building new features and fixing bugs. Together, we can make MC really big and even more professional. There aren't many professional remote solutions in the Gartner Quadrant, and MC can easily compete with them.

Hi @esgheorghe please join Discord! I and the other devs would love talking with you regarding MeshCentral (at least I would)

@esgheorghe
Copy link
Author

@esgheorghe the main issue we have is AVs keep flagging/blocking powershell commands being run from exe because meshagent has already been identified as a virus, so we are trying to remove as much running external things as possible and rely on internal things to windows, this minimises the risk of AVs becoming unhappy

edit: one AV blocked the windows task scheduler from creating a simple task! so the end staff cant open up the chat window as we rely on the scheduler to create the task to open as the user

I understand. I have now converted the installedApps to RegistryQuery and uploaded them.

Best regards,
Stefan

@esgheorghe
Copy link
Author

Amazing @esgheorghe ! Love this!

Thank you. MeshCentral has so much potential that I enjoy building new features and fixing bugs. Together, we can make MC really big and even more professional. There aren't many professional remote solutions in the Gartner Quadrant, and MC can easily compete with them.

Hi @esgheorghe please join Discord! I and the other devs would love talking with you regarding MeshCentral (at least I would)

Sure, but unfortunately not today, I have to get up early and look after the kids.

Maybe tomorrow evening around 8:30 p.m.?

@stephannn
Copy link
Contributor

Would it be possible to get an attribute in the config to use or don't use this feature?

Nice feature!

@si458
Copy link
Collaborator

si458 commented Feb 4, 2026

@stephannn indeed we can add this!
we still have the permissions to add in yet for each user/meshgroup etc 👍

@jctmf
Copy link

jctmf commented Feb 25, 2026

Nice!

@marclaporte
Copy link
Collaborator

I and the other devs would love talking with you regarding MeshCentral (at least I would)

Me too!

@esgheorghe This would be a good feature to present at an upcoming community meeting
https://github.com/Ylianst/MeshCentral/wiki/Community-Monthly-Meetings

@si458
Copy link
Collaborator

si458 commented Feb 26, 2026

@marclaporte already in my NOTES to remind me to show the screenshots etc and see what people think
the still needs a little bit of work finishing first 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants