Description of TAMSHelper.
        internal override void Execute()
        {
            var cmdlet = (CompareTamsObjectCommand)Cmdlet;

            TAMSHelper.CompareObjects(
                cmdlet,
                cmdlet.ReferenceObject,
                cmdlet.DifferenceObject);
        }
Exemple #2
0
        internal override void Execute()
        {
            var cmdlet = (GetTamsMemorySnapshotCommand)Cmdlet;

            int[] processIds       = null;
            var   processIdObjects = new ArrayList();

            if (null != cmdlet.InputObject && 0 < cmdlet.InputObject.Length)
            {
                foreach (Process process in cmdlet.InputObject)
                {
                    processIdObjects.Add(process.Id);
                }
                processIds = (int[])processIdObjects.ToArray(typeof(int));
            }
            else if (null != cmdlet.ProcessName && 0 < cmdlet.ProcessName.Length)
            {
                foreach (string processName in cmdlet.ProcessName)
                {
                    try {
                        Process[] processes = Process.GetProcessesByName(processName);
                        foreach (Process process in processes)
                        {
                            processIdObjects.Add(process.Id);
                        }
                    }
                    catch (Exception eGetProcess) {
                        cmdlet.WriteError(
                            cmdlet,
                            "Failed to get a process. " +
                            eGetProcess.Message,
                            "FailedToGetProcess",
                            ErrorCategory.InvalidArgument,
                            false);
                    }
                }
                processIds = (int[])processIdObjects.ToArray(typeof(int));
            }
            else if (null != cmdlet.ProcessId && 0 < cmdlet.ProcessId.Length)
            {
                processIds = cmdlet.ProcessId;
            }
            TAMSHelper.GetMemoryShapshot(cmdlet, processIds);
        }