![]() |
Admin Exe unter Lokalem User starten ohne Passwortabfrage
Hallo,
ist das möglich? Also beim Start der Admin Exe das Password "übergeben" o.ä.? Danke und beste Grüße |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Ja, wenn du das UAC deaktivierst,
oder wenn du den Rechtelevel entsprechend angibst, also highestAvailable anstatt requireAdministrator. ![]() |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Evtl. mit
![]() |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
UAC ist akiv. Wollte den UAC Dialog "weghaben".
|
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Ahhh, also willst du die EXE nicht "dennoch" starten, auch wenn man den UAC-Dialog weggecklickt hat, also ohne "Admin",
sondern du willst es als "Admin" starten, ohne dass man ein Passwort eingeben muß.
|
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Ich habe folgendes versucht:
Zwei VCL Projekte (Project1 und Project2 im gleichen Ordner - ohne Win32 Ordner). Project2 läuft als Admin. Project1 ruft Project2 mit unterem (im Netz gefunden) Code auf. Geht nicht.
Code:
Was kann ich noch tun? Das alles unter Win10.
const
LOGON_WITH_PROFILE = $00000001; function CreateProcessWithLogonW( lpUsername, lpDomain, lpPassword:PWideChar; dwLogonFlags:dword; lpApplicationName: PWideChar; lpCommandLine: PWideChar; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PWideChar; lpStartupInfo: PStartupInfoW; lpProcessInformation: PProcessInformation ): BOOL; stdcall; external 'advapi32.dll'; function CreateProcessAsLogon(const User, PW, Application, CmdLine: WideString): Boolean; var si : TStartupInfoW; pif : TProcessInformation; begin si.cb := SizeOf(TStartupInfoW); si.dwFlags := STARTF_USESHOWWINDOW; si.wShowWindow := 1; si.lpReserved := nil; si.lpDesktop := nil; si.lpTitle := nil; Result := CreateProcessWithLogonW(PWideChar(User), nil, PWideChar(PW), LOGON_WITH_PROFILE, nil, PWideChar(Application +' '+CmdLine), CREATE_DEFAULT_ERROR_MODE, nil, nil, @si, @pif); end; procedure TForm1.FormClick(Sender: TObject); begin CreateProcessAsLogon('Username', 'Password', 'Project2.exe', ''); end; |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Zitat:
Zitat:
Was für einen Rückgabewert liefert die Funktion
Delphi-Quellcode:
denn?
CreateProcessAsLogon
|
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Zitat:
|
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Guten morgen, ich habe hier noch ungetestete herangehensweisen:
Code:
per shellexecute über cmd.exe, mit folgendem aufruf:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" c:\example\app.exe"
Code:
per windows RUNAS helfer:
RUNAS /trustlevel:<TrustLevel> program /showtrustlevels displays the trust levels that can be used as arguments to /trustlevel. /trustlevel <Level> should be one of levels enumerated in /showtrustlevels.
Code:
Es gibt bestimmt noch mehr Arten wie man das schaffen kann, WinApi wurde ja bereits beschrieben.
per windows system registrierung (so soll die app einen forcierten RUNAS wert erhalten):
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\example\\app.exe"="RunAsInvoker" Ich hoffe das es hilft, wenn ja, bitte teile uns Deine Erfahrungen mit, Danke. |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Zitat:
Zitat:
Insofern würde ich mal sowas machen:
Delphi-Quellcode:
RaiseLastOsError ruft letztlich GetLastError. Dann gibt's hoffentlich genauere Infos, woran es klemmt.
if NOT CreateProcessAsLogon('Username', 'Password', 'Project2.exe', '') then
RaiseLastOSError; Außerdem: "Läuft als Admin" heißt exakt was? Läuft das Programm elevated, also wurde eine UAC-Abfrage bestätigt? Bei aktivierter UAC gilt: Auch wenn ein Nutzer Adminrechte hat bzw. Mitglied der Gruppe der Administratoren ist, muss ein Programm noch lange nicht mit Adminrechten laufen. Grüße Dalai |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Zitat:
Was liefert denn
Delphi-Quellcode:
, wenn du das danach aufrufst?
GetLastError
Was der entsprechende Wert bedeutet, kannst du dann ![]() |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Was RaiseLastOSError zeigt siehe Anhang. |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Wird die zweite EXE gestartet? Erscheint die UAC? Ist für den verwendeten Nutzer ein Passwort gesetzt?
Grüße Dalai |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Also bei mir funktioniert der oben gezeigte Quelltext offenbar:
Korrektes Passwort --> exe startet, falsches Passwort --> nichts passiert |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
@jaenicke:
Bei mir eben nicht. Wie genau bist du vorgegangen? Vielleicht habe ich etwas übersehen... |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Ich habe nur den Quelltext 1:1 kopiert, Benutzername, Passwort und cmd.exe eingetragen.
Wie ist denn deine Benutzerkonstellation? Hast du einen Adminuser mit aktiver UAC, unter dem du das ausführst? Oder einen normalen Benutzer ganz ohne Adminrechte? |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Es soll so funktionieren:
- es läuft ein Lokaler Windows-User (ohne Passwort) - nun muss ich in dieser Umgebung eine Exe starten, die Admin-Rechte erfordert - es existiert ein Windows-Admin-User mit Passwort, dessen Rechte ich benötige (Username und Password sind bekannt) - den UAC Dialog möchte ich nicht haben |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Das Problem ist, dass einige APIs ein Passwort benötigen, also man es angeben muß, aber wenn es kein Passwort gibt, dann geht es nicht.
|
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Zitat:
Wie man trotz UAC Programme mit anderen Rechten (auch Adminrechte) starten kann kann, hat himitsu ja schon in Beitrag #5 ausgeführt. Grüße Dalai |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Vielleicht mal als Denkanstoß.
Für administrative Aufgaben haben wir beim Endanwender einen Dienst registriert. Das kostet natürlich einmalig Energie für die Einrichtung, aber wenn wir Aufgaben haben, die nur ein Administrator durchführen kann, dann übernimmt das der Dienst. LG Incocnito |
AW: Admin Exe unter Lokalem User starten ohne Passwortabfrage
Verstehe ich etwas falsch? Was ist so schlimm daran, daß die Sicherheitsmaßnahme funktioniert? Warum soll etwas anders laufen, als vom Anwender vorgesehen? Wenn der Anwender möchte, daß Admin-Rechte nur per Paßwort verfügbar sind, dann ist das eben so. Gut, daß Windows wenigstens an dieser Stelle konsequent ist.
Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz