Calling Powershell from C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management.Automation;
using System.Management.Automation.Host;
using System.Management.Automation.Provider;
using System.Management.Automation.Runspaces;
using System.Collections.ObjectModel;
namespace PowerShell_Call
{
class Program
{
public static string name(string args)
{
using (PowerShell powershell = PowerShell.Create().AddCommand("Get-Process").AddArgument(args))
{
foreach (PSObject result in powershell.Invoke())
{
return result.Members["id"].Value.ToString();
}
}
return "";
}
static void Main(string[] args)
{
string x = "apnmcp";
string v=name(x);
Console.WriteLine("The value is {0}", v);
Console.ReadLine();
}
}
}
In the solution explorer, add a project reference to the System.Management.Automation. I always found this in
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management.Automation;
using System.Management.Automation.Host;
using System.Management.Automation.Provider;
using System.Management.Automation.Runspaces;
using System.Collections.ObjectModel;
namespace PowerShell_Call
{
class Program
{
public static string name(string args)
{
using (PowerShell powershell = PowerShell.Create().AddCommand("Get-Process").AddArgument(args))
{
foreach (PSObject result in powershell.Invoke())
{
return result.Members["id"].Value.ToString();
}
}
return "";
}
static void Main(string[] args)
{
string x = "apnmcp";
string v=name(x);
Console.WriteLine("The value is {0}", v);
Console.ReadLine();
}
}
}
Output :
Console Application
Powershell Output.
No comments:
Post a Comment