var oAPI = new ActiveXObject("MOM.ScriptAPI");
var oShell = new ActiveXObject("WScript.Shell");
var oBag = oAPI.CreatePropertyBag();
var oArgs = WScript.Arguments;
var SCRIPT_NAME = "RestartACSForwarder.js";
var ENU_MESSAGE_BASE = "Restarting Audit Collection Services Forwarder. ";
var SW_HIDE = 0;
var CREATE_BREAKAWAY_FROM_JOB = 0x1000000;
var strCommand = oShell.ExpandEnvironmentStrings("%ComSpec% /c net stop adtagent & net start adtagent & net start adtagent & net start adtagent & net start adtagent");
var objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2");
// Configure the process to break away from the job
var objStartup = objWMIService.Get("Win32_ProcessStartup");
var objConfig = objStartup.SpawnInstance_();
objConfig.ShowWindow = SW_HIDE;
objConfig.CreateFlags = CREATE_BREAKAWAY_FROM_JOB;
// Create the process
var objProcess = objWMIService.Get("Win32_Process");
var intProcessID;
var intReturn = objProcess.Create(strCommand, null, objConfig, intProcessID);