C# sample to open command prompt for other than currently logged user
.Net frameworks 2.0 have some new cool managed APIs. Here is one sample. It is common need to run a process on a user account other than currently logged on user. Following is the simple handy code which I use to open a command prompt with amin previleges, when I am logged on as normal user. There may be many other usage we could find for this Process.Start() API to make our life easier.
using System;
using System.Security;
using System.Diagnostics;
public class RunAs{
public static void Main(string[] args) {
try {
Console.Write(@"User Name [domain\user] : ");
string[] userInfo = (Console.ReadLine()).Split('\\');
SecureString secPass = ReadPassword();
Process.Start("cmd",userInfo[1],secPass,userInfo[0]);
}
catch(Exception e){
Console.WriteLine("\n"+e.Message);
}
}
public static SecureString ReadPassword()
{
SecureString secPass = new SecureString();
Console.Write("Enter your password : ");
ConsoleKeyInfo key = Console.ReadKey(true);
while(key.KeyChar != '\r')
{
secPass.AppendChar(key.KeyChar);
key = Console.ReadKey(true);
}
return secPass;
}
}
This posting is provided "AS IS" with no warranties, and confers no rights
Comments
- Anonymous
October 07, 2004
C# sample to open command prompt for other than currently logged user - Anonymous
December 12, 2005
The comment has been removed - Anonymous
September 16, 2008
You work at Microsoft? This is the dumbest code I've ever seen - has no value, waste of your time man. - Anonymous
December 19, 2009
this code works if you have a dos-project.sorry you have put up bad code