Hallo,
Ich habe nen verzwicktes Problem und bisher hat nichts geholfen.
Was ich erreichen möchte(oder besser gesagt MUSS, ist so vorgegeben
)
Ich möchte ein programm mithilfe von zuvor angegebenen Logindaten unter einem anderen Benutzer ausführen. Dabei kann dies entweder aus einem Nutzerkontext oder Servicekontext pasieren.
Ich bearbeite gerade den Usecase das ich versuche von NutzerA mit NutzerB ein Programm auszuführen.
Bei ausführen mit CreateProcessWithTokenW wird das Programm gestartet(CreateProcessWithTokenW meldet erfolg), windows wirft aber sofort die im Titel erwähnte Fehlermeldung(Code 0.x142)
das wäre der Rohbau der aktuell den Fehler wirft:
(Dummycode)
Delphi-Quellcode:
ZeroMemory(@Startup, SizeOf(Startup));
Startup.cb := SizeOf(Startup);
ZeroMemory(@Process, SizeOf(Process));
LogonUserW(Name, Domäne,
Passwort, LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, Token);
CreateEnvironmentBlock(@Umgebungsblock, Token, False);
CreateProcessWithTokenW(Token, LOGON_WITH_PROFILE,
nil, @PfadZurExe[1],
CREATE_NEW_CONSOLE or CREATE_UNICODE_ENVIRONMENT or CREATE_DEFAULT_ERROR_MODE,
Umgebungsblock, nil, @Startup, @Process);
Jemand eine Idee?
MFG
Memnarch