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);
         }
     }
 }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        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);
        }