我正在尝试从c#wpf GUI调用以前制作的powershell脚本
我找到了有关如何包含正确引用的说明,所以我确实有System.Management.Automation
我尝试了多种不同的调用,并且已经确认直接从PowerShell运行时,powershell文件可以工作。我正在使用一个简单的Add-Content -Path "C:\Test.txt" -Value "It Worked!"
我尝试使用完整路径和相对路径来指定文件位置。
我已经确认,在C#中,可以使按钮关闭窗口,因此我知道问题与调用Powershell有关。
我也尝试过BeginInvoke()
private void Btn_WU_Click(object sender, RoutedEventArgs e)
{
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript(@". .\Scripts\Test.ps1").Invoke();
}
}
我现在只希望被调用的PowerShell文件在C:中创建一个文件。
答案 0 :(得分:0)
类似这样的东西应该更接近工作版本:
private void Btn_WU_Click(object sender, RoutedEventArgs e)
{
using (PowerShell PowerShellInstance = PowerShell.Create())
{
var scriptContent = File.ReadAllText(@"full\path\to\your\script.ps1");
PowerShellInstance.AddScript(scriptContent).Invoke();
}
}