diff --git a/lib/agent/actions/wipe/index.js b/lib/agent/actions/wipe/index.js index ae45794f4..fa1f2c2bb 100644 --- a/lib/agent/actions/wipe/index.js +++ b/lib/agent/actions/wipe/index.js @@ -2,6 +2,7 @@ var join = require('path').join, Emitter = require('events').EventEmitter, wipe = require('./wipe'), common = require('./../../common'), + os_name = common.os_name, logger = common.logger.prefix('wipe'), system = common.system; @@ -10,7 +11,7 @@ var emitter, var node_bin = join(system.paths.current, 'bin', 'node'); -if (common.os_name == 'windows') +if (os_name == 'windows') node_bin = node_bin + '.exe'; var valid_types = function(hash) { @@ -63,7 +64,14 @@ exports.start = function(opts, cb) { var args = [join(__dirname, 'runner.js')].concat(items); system.spawn_as_logged_user(node_bin, args, function(err, child) { - if (err) return finished(err); + if (err) { + if (err.toString().includes('No logged user') && os_name == 'windows') { + logger.warn('Not logged user found, proceding without impersonation') + queue(items); + } + else + return finished(err); + } child.stdout.on('data', function(str) { var lines = str.toString().split(/\n/);