remifalcon
Messages postés62Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention20 novembre 2008
-
11 juil. 2008 à 11:39
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 2014
-
17 juil. 2008 à 15:54
Bonjour à tous
Je souhaiterai faire un programme qui permette d'exécuter un autre prog en tant que admin avec le mon de passe
j'utilise la fonction System.Diagnostics.Process.Start()
Mais ca ne marche pas, ça me met en debug que le nom d'utilisateur ou mdp n'est pas le bon . (alors qu' ils sont bons)
Quelqu'un aurait une solution?
---------------------------------------------------------------------------------------
String passwordPre = "monPass";
System.Security.SecureString password = new System.Security.SecureString();
char[] monArray = passwordPre.ToCharArray();
foreach (char c in monArray)
{
password.AppendChar(c);
Console.WriteLine("->"+c);
}
remifalcon
Messages postés62Date d'inscriptionmercredi 22 février 2006StatutMembreDernière intervention20 novembre 2008 11 juil. 2008 à 13:16
Re
Bon j'ai regardé je galère à fond.
Le code à pourtant l'air de compilé
Peux tu me dire ce que tu aurais rajouté?
voici mon fichier cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
[DllImport("advapi32.dll", EntryPoint = "CreateProcessAsUser")]
public static extern int CreateProcessAsUserA(int hToken, string lpApplicationName, string lpCommandLine, SECURITY_ATTRIBUTES lpProcessAttributes, SECURITY_ATTRIBUTES lpThreadAttributes, int bInheritHandles, int dwCreationFlags, string lpEnvironment, string lpCurrentDirectory, STARTUPINFO lpStartupInfo, PROCESS_INFORMATION lpProcessInformation);
public struct PROCESS_INFORMATION
{
int hProcess;
int hThread;
int dwProcessId;
int dwThreadId;
}
public struct STARTUPINFO
{
int cb;
string lpReserved;
string lpDesktop;
string lpTitle;
int dwX;
int dwY;
int dwXSize;
int dwYSize;
int dwXCountChars;
int dwYCountChars;
int dwFillAttribute;
int dwFlags;
short wShowWindow;
short cbReserved2;
byte lpReserved2;
int hStdInput;
int hStdOutput;
int hStdError;
}
public struct SECURITY_ATTRIBUTES
{
int nLength;
int lpSecurityDescriptor;
int bInheritHandle;
}
static void Main(string[] args)
{
String passwordPre = "monPass";
System.Security.SecureString password = new System.Security.SecureString();
char[] monArray = passwordPre.ToCharArray();
foreach (char c in monArray)
{
password.AppendChar(c);
}
String test = password.ToString();
Console.WriteLine("->" + test);
Process p = new Process();
//// On renseigne les informations nécessaires
ProcessStartInfo psi = new ProcessStartInfo(@"C:\configvisio.reg");
psi.UserName = "cbadmin";
psi.Password = password;
Vulkan51
Messages postés10Date d'inscriptionsamedi 2 décembre 2006StatutMembreDernière intervention16 juillet 2008 11 juil. 2008 à 17:18
il faudrait aussi peut etre regarder du coté d'une authentification windows integrée avec impersonnation (=heritage des droits du compte avec lekel tu te log) ;)
mais il faudrait alors se logger avec ton log et mot de passe admin windows dès que tu veut utiliser ton programme
Vous n’avez pas trouvé la réponse que vous recherchez ?