¿Cómo construir la funcionalidad RUNAS / NETONLY en un programa (C # /. NET / WinForms)?

Nuestras estaciones de trabajo no son miembros del dominio en el que está nuestro SQL Server. (En realidad, no están en un dominio, no pregunte).

Cuando usamos SSMS o cualquier cosa para conectarnos al Servidor SQL, usamos RUNAS / NETONLY con DOMAIN \ user. Luego escribimos la contraseña y se inicia el programa. (RUNAS / NETONLY no le permite incluir la contraseña en el archivo por lotes).

Así que tengo una aplicación .NET WinForms que necesita una conexión SQL, y los usuarios tienen que iniciarla ejecutando un archivo por lotes que tiene la línea de comandos RUNAS / NETONLY y luego inicia el EXE.

Si el usuario inicia accidentalmente el EXE directamente, no puede conectarse a SQL Server.

Hacer clic derecho en la aplicación y usar la opción "Ejecutar como ..." no funciona (presumiblemente porque la estación de trabajo realmente no conoce el dominio).

Estoy buscando una manera para que la aplicación haga la funcionalidad RUNAS / NETONLY internamente antes de que comience algo significativo.

Consulte este enlace para obtener una descripción de cómo funciona RUNAS / NETONLY:http: //www.eggheadcafe.com/conversation.aspx? messageid = 32443204 & threadid = 32442982

Estoy pensando que voy a tener que usarLOGON_NETCREDENTIALS_ONLY conCreateProcessWithLogonW

Respuestas a la pregunta(5)

Su respuesta a la pregunta