diff --git a/src/powershell-run/powershell-simple.assembly-info.cs b/src/powershell-run/powershell-simple.assembly-info.cs
deleted file mode 100644
index 523523c72..000000000
--- a/src/powershell-run/powershell-simple.assembly-info.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-using System.Runtime.CompilerServices;
-using System.Reflection;
-[assembly:AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly:AssemblyVersion("1.0.0.0")]
diff --git a/src/powershell-run/powershell-simple.cs b/src/powershell-run/powershell-simple.cs
deleted file mode 100644
index 5217440df..000000000
--- a/src/powershell-run/powershell-simple.cs
+++ /dev/null
@@ -1,497 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Management.Automation;
-using System.Management.Automation.Runspaces;
-using System.Management.Automation.Host;
-using System.Globalization;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.IO;
-
-namespace ps_hello_world
-{
- // this is all from https://msdn.microsoft.com/en-us/library/ee706570%28v=vs.85%29.aspx
-
- internal class MyRawUserInterface : PSHostRawUserInterface
- {
- ///
- /// Gets or sets the background color of the displayed text.
- /// This maps to the corresponding Console.Background property.
- ///
- public override ConsoleColor BackgroundColor
- {
- get { return Console.BackgroundColor; }
- set { Console.BackgroundColor = value; }
- }
-
- ///
- /// Gets or sets the size of the host buffer. In this example the
- /// buffer size is adapted from the Console buffer size members.
- ///
- public override Size BufferSize
- {
- get { return new Size(200,500); }
- set { }
- //get { return new Size(Console.BufferWidth, Console.BufferHeight); }
- //set { Console.SetBufferSize(value.Width, value.Height); }
- }
-
- ///
- /// Gets or sets the cursor position. In this example this
- /// functionality is not needed so the property throws a
- /// NotImplementException exception.
- ///
- public override Coordinates CursorPosition
- {
- get { throw new NotImplementedException(
- "The method or operation is not implemented."); }
- set { throw new NotImplementedException(
- "The method or operation is not implemented."); }
- }
-
- ///
- /// Gets or sets the size of the displayed cursor. In this example
- /// the cursor size is taken directly from the Console.CursorSize
- /// property.
- ///
- public override int CursorSize
- {
- get { return 12; }
- set { }
- //get { return Console.CursorSize; }
- //set { Console.CursorSize = value; }
- }
-
- ///
- /// Gets or sets the foreground color of the displayed text.
- /// This maps to the corresponding Console.ForgroundColor property.
- ///
- public override ConsoleColor ForegroundColor
- {
- get { return Console.ForegroundColor; }
- set { Console.ForegroundColor = value; }
- }
-
- ///
- /// Gets a value indicating whether the user has pressed a key. This maps
- /// to the corresponding Console.KeyAvailable property.
- ///
- public override bool KeyAvailable
- {
- get { return false; }
- // get { return Console.KeyAvailable; }
- }
-
- ///
- /// Gets the dimensions of the largest window that could be
- /// rendered in the current display, if the buffer was at the least
- /// that large. This example uses the Console.LargestWindowWidth and
- /// Console.LargestWindowHeight properties to determine the returned
- /// value of this property.
- ///
- public override Size MaxPhysicalWindowSize
- {
- // get { return new Size(Console.LargestWindowWidth, Console.LargestWindowHeight); }
- get { return new Size(1024,768); }
- }
-
- ///
- /// Gets the dimentions of the largest window size that can be
- /// displayed. This example uses the Console.LargestWindowWidth and
- /// console.LargestWindowHeight properties to determine the returned
- /// value of this property.
- ///
- public override Size MaxWindowSize
- {
- // get { return new Size(Console.LargestWindowWidth, Console.LargestWindowHeight); }
- get { return new Size(1024,768); }
- }
-
- ///
- /// Gets or sets the position of the displayed window. This example
- /// uses the Console window position APIs to determine the returned
- /// value of this property.
- ///
- public override Coordinates WindowPosition
- {
- // get { return new Coordinates(Console.WindowLeft, Console.WindowTop); }
- // set { Console.SetWindowPosition(value.X, value.Y); }
- get { return new Coordinates(0,0); }
- set { }
- }
-
- ///
- /// Gets or sets the size of the displayed window. This example
- /// uses the corresponding Console window size APIs to determine the
- /// returned value of this property.
- ///
- public override Size WindowSize
- {
- // get { return new Size(Console.WindowWidth, Console.WindowHeight); }
- // set { Console.SetWindowSize(value.Width, value.Height); }
- get { return new Size(1024,768); }
- set { }
- }
-
- ///
- /// Gets or sets the title of the displayed window. The example
- /// maps the Console.Title property to the value of this property.
- ///
- public override string WindowTitle
- {
- // get { return Console.Title; }
- // set { Console.Title = value; }
- get { return "window title"; }
- set { }
- }
-
- ///
- /// This API resets the input buffer. In this example this
- /// functionality is not needed so the method returns nothing.
- ///
- public override void FlushInputBuffer()
- {
- }
-
- ///
- /// This API returns a rectangular region of the screen buffer. In
- /// this example this functionality is not needed so the method throws
- /// a NotImplementException exception.
- ///
- /// Defines the size of the rectangle.
- /// Throws a NotImplementedException exception.
- public override BufferCell[,] GetBufferContents(Rectangle rectangle)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
-
- ///
- /// This API reads a pressed, released, or pressed and released keystroke
- /// from the keyboard device, blocking processing until a keystroke is
- /// typed that matches the specified keystroke options. In this example
- /// this functionality is not needed so the method throws a
- /// NotImplementException exception.
- ///
- /// Options, such as IncludeKeyDown, used when
- /// reading the keyboard.
- /// Throws a NotImplementedException exception.
- public override KeyInfo ReadKey(ReadKeyOptions options)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
-
- ///
- /// This API crops a region of the screen buffer. In this example
- /// this functionality is not needed so the method throws a
- /// NotImplementException exception.
- ///
- /// The region of the screen to be scrolled.
- /// The region of the screen to receive the
- /// source region contents.
- /// The region of the screen to include in the operation.
- /// The character and attributes to be used to fill all cell.
- public override void ScrollBufferContents(Rectangle source, Coordinates destination, Rectangle clip, BufferCell fill)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
-
- ///
- /// This method copies an array of buffer cells into the screen buffer
- /// at a specified location. In this example this functionality is
- /// not needed so the method throws a NotImplementedException exception.
- ///
- /// The parameter is not used.
- /// The parameter is not used.
- public override void SetBufferContents(Coordinates origin,
- BufferCell[,] contents)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
-
- ///
- /// This method copies a given character, foreground color, and background
- /// color to a region of the screen buffer. In this example this
- /// functionality is not needed so the method throws a
- /// NotImplementException exception.///
- /// Defines the area to be filled.
- /// Defines the fill character.
- public override void SetBufferContents(Rectangle rectangle, BufferCell fill)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
- }
-
-
- internal class MyHostUI : PSHostUserInterface
- {
- private MyRawUserInterface myRawUi = new MyRawUserInterface();
-
- public override PSHostRawUserInterface RawUI
- {
- get { return this.myRawUi; }
- }
-
- public override Dictionary Prompt(
- string caption,
- string message,
- System.Collections.ObjectModel.Collection descriptions)
- {
- throw new NotImplementedException(
- "The method or operation is not implemented.");
- }
-
- public override int PromptForChoice(string caption, string message, System.Collections.ObjectModel.Collection choices, int defaultChoice)
- {
- throw new NotImplementedException("The method or operation is not implemented.");
- }
-
- public override PSCredential PromptForCredential(
- string caption,
- string message,
- string userName,
- string targetName)
- {
- throw new NotImplementedException("The method or operation is not implemented.");
- }
-
- public override PSCredential PromptForCredential(
- string caption,
- string message,
- string userName,
- string targetName,
- PSCredentialTypes allowedCredentialTypes,
- PSCredentialUIOptions options)
- {
- throw new NotImplementedException("The method or operation is not implemented.");
- }
-
- public override string ReadLine()
- {
- return Console.ReadLine();
- }
-
- public override System.Security.SecureString ReadLineAsSecureString()
- {
- throw new NotImplementedException("The method or operation is not implemented.");
- }
-
- public override void Write(string value)
- {
- Console.BackgroundColor = ConsoleColor.Black;
- Console.Write(value);
- Console.ResetColor();
- }
-
- public override void Write(
- ConsoleColor foregroundColor,
- ConsoleColor backgroundColor,
- string value)
- {
- // Colors are ignored.
- Console.ForegroundColor = foregroundColor;
- Console.BackgroundColor = backgroundColor;
- Console.Write(value);
- Console.ResetColor();
- }
-
- public override void WriteDebugLine(string message)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.Write(String.Format(
- CultureInfo.CurrentCulture,
- "DEBUG: {0}",
- message));
- Console.ResetColor();
- Console.WriteLine();
- }
-
- public override void WriteErrorLine(string value)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.Write(String.Format(
- CultureInfo.CurrentCulture,
- "ERROR: {0}",
- value));
- Console.ResetColor();
- Console.WriteLine();
- }
-
- public override void WriteLine()
- {
- System.Console.WriteLine();
- }
-
-
-
- public override void WriteLine(string value)
- {
- Write(value);
- Console.WriteLine();
- }
-
- public override void WriteLine(ConsoleColor foregroundColor, ConsoleColor backgroundColor, string value)
- {
- Write(foregroundColor,backgroundColor,value);
- Console.WriteLine();
- }
-
- public override void WriteProgress(long sourceId, ProgressRecord record)
- {
- }
-
- public override void WriteVerboseLine(string message)
- {
- Console.BackgroundColor = ConsoleColor.Gray;
- Console.WriteLine(String.Format(CultureInfo.CurrentCulture, "VERBOSE: {0}", message));
- Console.ResetColor();
- }
-
- public override void WriteWarningLine(string message)
- {
- Console.BackgroundColor = ConsoleColor.Yellow;
- Console.WriteLine(String.Format(CultureInfo.CurrentCulture, "WARNING: {0}", message));
- Console.ResetColor();
- }
- }
-
- internal class MyHost : PSHost
- {
- private Program program;
- private CultureInfo originalCultureInfo = new CultureInfo("en-US");
- private CultureInfo originalUICultureInfo = new CultureInfo("en-US");
- private Guid myId = Guid.NewGuid();
-
- public MyHost(Program program)
- {
- this.program = program;
- }
-
- private MyHostUI myHostUI = new MyHostUI();
-
- public override System.Globalization.CultureInfo CurrentCulture
- {
- get { return this.originalCultureInfo; }
- }
-
- public override System.Globalization.CultureInfo CurrentUICulture
- {
- get { return this.originalUICultureInfo; }
- }
-
- public override Guid InstanceId
- {
- get { return myId; }
- }
-
- public override string Name
- {
- get { return "MyHost"; }
- }
-
- public override PSHostUserInterface UI
- {
- get { return myHostUI; }
- }
-
- public override Version Version
- {
- get { return new Version(0,0,0,0); }
- }
-
- public override void EnterNestedPrompt()
- {
- throw new NotImplementedException("EnterNestedPrompt not implemented");
- }
-
- public override void ExitNestedPrompt()
- {
- throw new NotImplementedException("ExitNestedPrompt not implemented");
- }
-
- public override void NotifyBeginApplication()
- {
- Console.WriteLine("MyHost: NotifyBeginApplication");
- return;
- }
-
- public override void NotifyEndApplication()
- {
- return;
- }
-
- public override void SetShouldExit(int exitCode)
- {
- Console.WriteLine("SetShouldExit: " + exitCode);
- }
- }
-
- class Program
- {
-
- private static void ReportException(Exception e)
- {
- if (e != null)
- {
- object error;
- IContainsErrorRecord icer = e as IContainsErrorRecord;
- if (icer != null)
- {
- error = icer.ErrorRecord;
- }
- else
- {
- error = (object)new ErrorRecord(e, "Host.ReportException", ErrorCategory.NotSpecified, null);
- }
-
- // this should be output through PowerShell, but for simplicity just output it here
- Console.WriteLine(error.ToString());
- }
- }
-
- static void test2(string[] args)
- {
- try
- {
- MyHost myHost = new MyHost(new Program());
-
- InitialSessionState iss = InitialSessionState.CreateDefault2();
-
- using (Runspace rs = RunspaceFactory.CreateRunspace(myHost,iss))
- {
- rs.Open();
- foreach (var arg in args)
- {
- using (PowerShell ps = PowerShell.Create())
- {
- ps.Runspace = rs;
-
- Console.WriteLine("script: " + arg);
- ps.AddScript(arg);
- ps.AddCommand("out-default");
- ps.Commands.Commands[0].MergeMyResults(PipelineResultTypes.Error,PipelineResultTypes.Output);
- ps.Invoke();
- ps.Dispose();
- }
- }
- }
- }
- catch (RuntimeException ex)
- {
- ReportException(ex);
- }
- }
-
- static void Main(string[] args)
- {
- test2(args);
- }
- }
-}