Sunday, 5 April 2015

C# With PowerShell Import Module Active Directory



How to import Module ActiveDirectory in C#, This is just an example how can you integrate powershell with C#, If you are ITPro code looks simple with the help of powershell.

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 GetDN(string args)
{
string z="Get-Aduser -identity"+ " " + args;
using (PowerShell powershell = PowerShell.Create().AddScript(@"import-module ActiveDirectory").AddScript(z))
{
foreach (PSObject result in powershell.Invoke())
{
return result.Members["DistinguishedName"].Value.ToString();
}
}
return "";
}
static void Main(string[] args)
{
string x = "anirban";
string v = GetDN(x);
Console.WriteLine("The value is {0}", v);
Console.ReadLine();
}
}
}
view raw gistfile1.cs hosted with ❤ by GitHub


ConsoleApplication and Powershell


Saturday, 4 April 2015

Calling Powershell from C#.

Calling Powershell from C#



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.


ServiceNow onboarding Sailpoint