Cómo iniciar un proceso de IIS con un nombre de usuario y contraseña específicos

Estoy intentando ejecutar una aplicación desde nuestro sitio web interno. Cuando uso Process.Start("notepad"); Puedo ver que el proceso del bloc de notas se inició en nuestro servidor web con la identidad predeterminada mencionada en la configuración del grupo de aplicaciones.

Pero tengo que iniciar el proceso con un nombre de usuario y contraseña específicos. Así que intenté ejecutar esta línea de código.

string password = "XXXXX";
System.Security.SecureString securePwd = new System.Security.SecureString();
foreach (char c in password)
{
    // Append the character to the password.
    securePwd.AppendChar(c);
}
Process.Start("notepad", "username", securePwd, "domain");

En este caso, ni siquiera veo ningún proceso de bloc de notas iniciado en el servidor web. Las líneas de código se ejecutan porque cuando paso una contraseña incorrecta, puedo ver que mi página web arroja un error de "nombre de usuario o contraseña incorrectos".

preguntado el 16 de mayo de 11 a las 19:05

2 Respuestas

Gracias a todos por su respuesta. Aquí obtuve la solución y ahora mi proceso comienza con un usuario suplantado.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;889251

Gracias.

contestado el 23 de mayo de 11 a las 23:05

El código que ha escrito me parece bien. Quizás el problema es

Ni siquiera veo ningún proceso de bloc de notas

Probaría lo siguiente

Capture la identificación y escríbala al cliente, p. Ej.

Process note = Process.Start("notepad", "username", securePwd, "domain");
Response.Write( note.ID ); //Or whatever mechanism you prefer. 

Luego inicie sesión en el servidor y con PowerShell consulte el proceso

p.ej

PS C:\> get-process notepad  | Select ProcessName, Id 
ProcessName                                                                  Id
-----------                                                                  --
notepad                                                                    5512

La identificación debe coincidir con lo que se escribió para el cliente.

contestado el 17 de mayo de 11 a las 00:05

Gracias por responder. Capturé la identificación del proceso y la imprimí en el control de etiquetas. Cada vez que ejecuto ese proceso puedo ver un nuevo ID de proceso. Pero cuando voy a Power Shell y busco ese proceso, aparece el error "Get-Process: No se puede encontrar un proceso con el nombre" bloc de notas ". Verifique el nombre del proceso y vuelva a llamar al cmdlet". - Pritam Karmakar

@Pritam Karmakar. Eso es raro. Eso significa que el proceso se creó pero se destruyó antes de la llamada de PowerShell. - Conrad Frix

Es un comportamiento realmente muy extraño. ¿Hay alguna otra forma de ejecutar una aplicación con un nombre de usuario específico? - Pritam Karmakar

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.