Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ShellExecute, Batch über runas starten (https://www.delphipraxis.net/189022-shellexecute-batch-ueber-runas-starten.html)

waldforest 11. Sep 2016 15:38

AW: ShellExecute, Batch über runas starten
 
Hallo,
ist es möglich shellexecute mit runas und den Profildaten eines Admins als Parameter zu übergeben.

Hintergrund: ich habe einen Rechner, der 2 Benutzerprofile besitzt, eines mit Administrationsrecht, das Andere als klassischer Nutzer.
Nun möchte ich vom Nutzer ohne Adminrechte aus meiner Anwendung, ohne jedes mal den Benutzer und das Passwort eingeben zu müssen, über Shellexecute eine Batch starten. Diese soll mit Adminrechte gestartet werden.

Geht dies überhaupt mit shellexecute oder wie kann ich so etwas realisieren ?

himitsu 11. Sep 2016 19:14

AW: ShellExecute, Batch über runas starten
 
Code:
[Win] CMD [Enter] runus [Enter]

waldforest 12. Sep 2016 06:45

AW: ShellExecute, Batch über runas starten
 
Hallo,
mir schwebt eher der eine Möglichkeit aus meiner Anwendung heraus vor.
Ich habe da Problem wie folgt gelöst.

Delphi-Quellcode:
function RunAsWithLogon(const User, PW, Application, CmdLine: WideString): DWORD;
var
  si               : TStartupInfoW;
  pif              : TProcessInformation;
  s                : WideString;
begin
  ZeroMemory(@si, sizeof(si));
  si.cb := sizeof(si);
  si.dwFlags := STARTF_USESHOWWINDOW;
  si.wShowWindow := 1;

  if CmdLine = '' then
    s := Application
  else
    s := Application + ' ' + CmdLine;

  SetLastError(0);
  CreateProcessWithLogonW(PWideChar(User), nil, PWideChar(PW), 0, nil, PWideChar(s), CREATE_DEFAULT_ERROR_MODE, nil,
    nil, @si, @pif);
  Result := GetLastError;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz