예제 #1
0
        public Collection <PSObject> Invoke(bool discardOutput = false)
        {
            discardOutput = discardOutput || DiscardOutput;
            if (discardOutput)
            {
                PsInstance.AddCommand("Out-Null");
            }

            Collection <PSObject> result;

            try
            {
                result = PsInstance.Invoke();
            }
            catch (Exception e)
            {
                Logger.WriteError(e.GetExceptionMessage(), null);
                ErrorOccurred?.Invoke(this, new ErrorEventArgs(e));
                throw;
            }
            finally
            {
                PsInstance.Commands.Clear();
            }

            if (AutoDumpBufferLogger && Logger is BufferInterface bl)
            {
                bl.Dump();
            }

            return(result);
        }
예제 #2
0
 public void RegisterVariable(string name, object value)
 {
     PsInstance
     .AddCommand("Set-Variable")
     .AddParameter("Name", name)
     .AddParameter("Value", value);
     Invoke();
 }
예제 #3
0
 public PsRunner AddCommand(string cmdletName)
 {
     PsInstance.AddCommand(cmdletName);
     return(this);
 }