![]() |
Benutzerkennwort zurücksetzen
Hallo,
weiss jemand wie man ein Benutzerkennwort mit Delphi zurücksetzen kann ? mir fällt nur ein : net user Benutzer * aber dann müsste man 2 mal ENTER an das DOS-Fenster senden ... KUBA |
Re: Benutzerkennwort zurücksetzen
Es ist vielleicht nicht das Einfachsteste aber über control userpasswords2 gibts den Button "Kennwort zurücksetzen" vielleicht kannste den irgendwie "virtuell" drücken :) .
|
Re: Benutzerkennwort zurücksetzen
|
Re: Benutzerkennwort zurücksetzen
Und einen Delphi Wrapper für die von Dezipaitor genannte Funktion, gibt es bei mir in meiner Unit MpuNTUser.pas:
![]() |
Re: Benutzerkennwort zurücksetzen
Zitat:
KUBA |
Re: Benutzerkennwort zurücksetzen
Zitat:
KUBA |
Re: Benutzerkennwort zurücksetzen
Zitat:
![]() |
Re: Benutzerkennwort zurücksetzen
Zitat:
Delphi-Quellcode:
Wie verwende ich diese Funktion (mit Level 1003) um das Benutzerkennwort zu löschen bzw. zu setzen ?
//********************************************
//SET A USER INFO function SetUserInfo(fusername,fserver,ffulname,fcomment:string;FFlags,fuserID:dword):LongInt; var TheUser:Array[0..255] Of WideChar; TheServer:Array[0..255] Of WideChar; TheFullName:Array[0..255] Of WideChar; TheComment:Array[0..255] Of WideChar; MyInfo:USER_INFO_20; begin StringToWideChar(FUserName,@TheUser,255); StringToWideChar(FServer,@TheServer,255); StringToWideChar(FFullName,@TheFullName,255); StringToWideChar(FComment,@TheComment,255); MyInfo.usri20_name:=@TheUser; MyInfo.usri20_full_name:=@TheFullName; MyInfo.usri20_comment:=@TheComment; MyInfo.usri20_flags:=FFlags; MyInfo.usri20_user_id:=FUserID; Result:=NetUserSetInfo(@TheServer,@TheUser,20,@MyInfo,nil); end; //****************************************************************** Ich beschäftige mich zur Zeit mit einer Software die einen PC in den KIOSK - Modus versetzen soll. Dabei möchte ich aus einem Systemdienst heraus Informationen in die Registry meines "KIOSK-User" schreiben, ausserdem möchte ich dass der Systemdienst abcheckt ob der KIOSK-User eingeloggt ist. Falls dies der Fall ist soll der Systemdienst die KIOSK-Anwendung mit Benutzerrechten starten. Bisher verwende ich ein Hilfsprogramm dass bei der Benutzeranmeldung über Run-Key in der Registry gestartet wird, Registry Informationen kann ich jedoch nur importieren wenn mein KIOSK-Benutzer Administratorrechte hat. Daher kam mir die Idee, die Registryinformationen durch meinen Systemdienst in das Benutzerkonto zu schreiben, dann sind die Informationen schon vor dem einloggen im Profil und können sogar während der Laufzeit geändert werden. Wäre eine tolle Verbesserung für meine Software !! KUBA |
Re: Benutzerkennwort zurücksetzen
hier ein Beispiel für die Verwendung von NetUserSetInfo mit Level 1003 (Kennwort setzen):
Delphi-Quellcode:
(Server kann ein leerer String sein, sofern es sich um einen lokalen User handelt, für Domain-Users muss der Name eines DCs angegeben werden)
Function LM_NetUserSetServerPassword(Const Server,UserName,NewPassword : String) : Boolean;
Type TUserInfo_1003 = Packed Record Password : PWideChar; end; Const LM20_PWLEN = 20; Var BufServer : Array[0..63] Of WideChar; BufUsername : Array[0..63] Of WideChar; BufPassword : Array[0..LM20_PWLEN - 1] Of WideChar; UI1003 : TUserInfo_1003; Param_Err : DWORD; Res : NetAPIStatus; Begin StringToWideChar(Server,BufServer,Length(BufServer)); StringToWideChar(Username,BufUsername,Length(BufUsername)); StringToWideChar(NewPassword,BufPassword,Length(BufPassword)); UI1003.Password:=@BufPassword; Res:=NetUserSetInfo(BufServer,BufUsername,1003,@UI1003,Param_Err); Result:=(Res = NERR_Success); end; |
Re: Benutzerkennwort zurücksetzen
@Basilikum
thanx, probier ich aus ... langsam verstehe ich, geil :zwinker: Evtl. kann ich mein Problem lösen indem ich das Kennwort meines KIOSK-User immer komplett zurücksetzte (keins). Um Informationen in die Registry zu speichern könnte ich dem User ein Kennwort erteilen, ihn zur Gruppe "Administratoren" hinzufügen und dann mit "RunAs" die Informationen importieren. Anschliessend entferne ich den KIOSK-User wieder aus der Gruppe "Administratoren". So könnte ich meinem KIOSK-User nur "Benutzerrechte" erteilen und mit meinem "RunAs" die Informationen importieren (z.B. neue Startseite im Internet Explorer setzten). Cool, ich probier das mal aus, muss aber erstmal nach meinem Schatz schauen :cat: KUBA |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 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