Im trying to run a ps1 script out of the resource Folder in c#
Thanks to Yevhen Cherkes
.NET Get embedded Resource File
Load C# Embedded Resource Path into PowerShell Command Class
Got me closer.
Changing
private void button1_Click_1(object sender, EventArgs e)
{
PowerShell ps = PowerShell.Create();
string skriptpfad = $@"C:\Users\username\Desktop\1Tool_Final\WinformsTool\bin\Debug\zuordnung.ps1";
ps.AddCommand(skriptpfad);
ps.AddParameter("Source", folderBrowserDialog1.SelectedPath);
ps.AddParameter("Destination", folderBrowserDialog2.SelectedPath);
ps.Invoke();
}
to
private void button1_Click_1(object sender, EventArgs e)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "zuordnung_test.Resources.zuordnung.ps1";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string skriptpfad = reader.ReadToEnd();
PowerShell ps = PowerShell.Create();
//string skriptpfad = $@"C:\zuordnung.ps1";
ps.AddCommand(skriptpfad);
ps.AddParameter("Source", folderBrowserDialog1.SelectedPath);
ps.AddParameter("Destination", folderBrowserDialog2.SelectedPath);
ps.Invoke();
}
}
This only throws an exception with the whole ps script - not known as cmdlet - though, it does read it but addcommand
ran the script before. Is it simply AddScript now or am i still approaching it wrong ?
Thanks in Advance