private void bt_RunCommand_Click(object sender, RoutedEventArgs e) { Mouse.OverrideCursor = Cursors.Wait; try { UInt32?oResult = oAgent.Client.Process.CreateProcess(tb_Command.Text); if (oResult == null) { Listener.WriteError("Unable to create process."); } else { Listener.WriteLine("Process started with Id:" + oResult.ToString()); sccmclictr.automation.functions.ExtProcess oNewProc = oAgent.Client.Process.GetExtProcess(oResult.ToString()); iProcesses.Add(oNewProc); iProcesses.GroupBy(t => t.Name); dataGrid1.Items.Refresh(); } } catch (Exception ex) { ex.Message.ToString(); } Mouse.OverrideCursor = Cursors.Arrow; }
private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e) { sccmclictr.automation.functions.ExtProcess item = e.Row.Item as sccmclictr.automation.functions.ExtProcess; if (item != null) { if (DateTime.Now - item.CreationDate < new TimeSpan(0, 0, 10)) { e.Row.Background = new SolidColorBrush(Colors.LightGreen); } } }
/// <summary> /// Get a single Process /// </summary> /// <param name="ProcessID">ProcessID of the process</param> /// <returns></returns> public ExtProcess GetExtProcess(string ProcessID) { TimeSpan orgTime = cacheTime; List <PSObject> oObj = GetObjectsFromPS("Get-WMIObject win32_Process -filter \"ProcessId = " + ProcessID + "\" | Foreach { $owner = $_.GetOwner(); $_ | Add-Member -MemberType \"Noteproperty\" -name \"Owner\" -value $(\"{0}\\{1}\" -f $owner.Domain, $owner.User) -passthru }", true); foreach (PSObject PSObj in oObj) { //Get AppDTs sub Objects ExtProcess oCIEx = new ExtProcess(PSObj, remoteRunspace, pSCode); oCIEx.remoteRunspace = remoteRunspace; oCIEx.pSCode = pSCode; return(oCIEx); } return(null); }
internal List <ExtProcess> LoadExtProcess(bool Reload) { List <ExtProcess> lCache = new List <ExtProcess>(); TimeSpan orgTime = cacheTime; //Set Cache TTL to 10seconds. cacheTime = new TimeSpan(0, 0, 10); List <PSObject> oObj = GetObjectsFromPS("Get-WMIObject win32_Process | Foreach { $owner = $_.GetOwner(); $_ | Add-Member -MemberType \"Noteproperty\" -name \"Owner\" -value $(\"{0}\\{1}\" -f $owner.Domain, $owner.User) -passthru }", Reload); foreach (PSObject PSObj in oObj) { //Get AppDTs sub Objects ExtProcess oCIEx = new ExtProcess(PSObj, remoteRunspace, pSCode); oCIEx.remoteRunspace = remoteRunspace; oCIEx.pSCode = pSCode; lCache.Add(oCIEx); } cacheTime = orgTime; return(lCache); }