親フォルダ
$code = @"
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;

public class Program
{
	[STAThread]
	public static void Main()
	{

		OpenFileDialog openFileDialog = new OpenFileDialog();
		openFileDialog.Filter = "テキスト|*.txt|全て|*.*";
		openFileDialog.FilterIndex = 2;
		openFileDialog.InitialDirectory = @"C:\";

		if (openFileDialog.ShowDialog() != DialogResult.OK)
		{
			return;
		}

		Console.WriteLine(openFileDialog.FileName);

		string path = openFileDialog.FileName;
		if ( File.Exists(path) )
		{
			Console.WriteLine("{0} は存在しています", path );
		}

		// SHIFT_JIS
		Encoding Enc = Encoding.GetEncoding(932);

		try
		{
			using (StreamReader ReadFile = new StreamReader(path, Enc))
			{
				// 読込み
				string Text = ReadFile.ReadToEnd();

				// 全て読み込んでいるので閉じる
				ReadFile.Close();

				Console.WriteLine(Text);
			}

		}
		catch (Exception ex)
		{
			Console.WriteLine(ex.Message);
		}

		Console.ReadLine();
	}
}
"@

Add-Type -Language CSharp -TypeDefinition $code -ReferencedAssemblies ("System.Windows.Forms")
 
[Program]::Main()