mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	add Defender for Windows Server (#5646)
Signed-off-by: si458 <simonsmith5521@gmail.com>
This commit is contained in:
		
							parent
							
								
									45722c70d4
								
							
						
					
					
						commit
						f33dbd31e5
					
				
					 5 changed files with 47 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -239,12 +239,29 @@ function installedApps()
 | 
			
		|||
    return (ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function defender(){
 | 
			
		||||
    var promise = require('promise');
 | 
			
		||||
    var ret = new promise(function (a, r) { this._resolve = a; this._reject = r; });
 | 
			
		||||
    ret.child = require('child_process').execFile(process.env['windir'] + '\\System32\\WindowsPowerShell\\v1.0\\powershell.exe', ['powershell', '-noprofile', '-nologo', '-command', '-'], {});
 | 
			
		||||
    ret.child.promise = ret;
 | 
			
		||||
    ret.child.stdout.str = ''; ret.child.stdout.on('data', function (c) { this.str += c.toString(); });
 | 
			
		||||
    ret.child.stderr.str = ''; ret.child.stderr.on('data', function (c) { this.str += c.toString(); });
 | 
			
		||||
    ret.child.stdin.write('Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled,IsTamperProtected | ConvertTo-JSON\r\n');
 | 
			
		||||
    ret.child.stdin.write('exit\r\n');
 | 
			
		||||
    ret.child.on('exit', function (c) { 
 | 
			
		||||
        if (this.stdout.str == '') { this.promise._resolve({}); return; }
 | 
			
		||||
        var abc = JSON.parse(this.stdout.str.trim())
 | 
			
		||||
        this.promise._resolve({ RealTimeProtection: abc.RealTimeProtectionEnabled, TamperProtected: abc.IsTamperProtected });
 | 
			
		||||
    });
 | 
			
		||||
    return (ret);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (process.platform == 'win32')
 | 
			
		||||
{
 | 
			
		||||
    module.exports = { qfe: qfe, av: av, defrag: defrag, pendingReboot: pendingReboot, installedApps: installedApps };
 | 
			
		||||
    module.exports = { qfe: qfe, av: av, defrag: defrag, pendingReboot: pendingReboot, installedApps: installedApps, defender: defender };
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    var not_supported = function () { throw (process.platform + ' not supported'); };
 | 
			
		||||
    module.exports = { qfe: not_supported, av: not_supported, defrag: not_supported, pendingReboot: not_supported, installedApps: not_supported };
 | 
			
		||||
    module.exports = { qfe: not_supported, av: not_supported, defrag: not_supported, pendingReboot: not_supported, installedApps: not_supported, defender: not_supported };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue