1. C# i uruchamianie procesu z uprawnieniami administratora

    Czasami zachodzi potrzeba wykonania jakiegoś działania na obiektach do których obecnie zalogowany użytkownik nie ma uprawnień. Rozwiązaniem tego problemu jest elewacja uprawnień procesu.

    Niestety nie jest możliwa elewacja uprawnień procesu z którego chcemy wykonać kod, stąd konieczne jest wystartowanie całkiem nowego procesu z parametrem sugerującym systemowi elewację uprawnień (gdy UAC jest wyłączone) lub wyświetlenie komunikatu z prośbą o zalogowanie na konto administracyjne (gdy UAC działa).

    We wpisie mała ściągawka jak to zrobić.

    ProcessStartInfo info = new ProcessStartInfo(@"C:\proces_do_uruchomienia.exe");
    info.Verb = "runas";
    
    Process process = new Process();
    process.StartInfo = info;
    process.Start();

    Jak możecie zauważyć start procesu z wyższymi uprawnieniami różni się od normalnego uruchomienia procesu jedynie określeniem parametru Verb na runas, wszystkie pozostałe rzeczy działają bez zmian.

    Zobacz także

  2. 0 odpowiedzi do wpisu "C# i uruchamianie procesu z uprawnieniami administratora"