Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Benutzer erstellen (https://www.delphipraxis.net/37249-windows-benutzer-erstellen.html)

fadz 3. Jan 2005 12:33


Windows Benutzer erstellen
 
hi,
ich wollte mal fragen ob mir jemand bei nem ganz einfachen problem helfen kann ;)
wie kann ich einen neuen windows benutzer erstellen ?
also einen ohne homedir und so,
also sowas wie wenn ich auf verwaltung/computerverwaltung/benutzer gehe,
wie mache ich sowas ?

kann mir da jemand nen script geben oda links zum nachlesen ?

wäre echt sehr sehr nett, THX

mirage228 3. Jan 2005 12:36

Re: Windows Benutzer erstellen
 
Hi,

schau dir mal den Hier im Forum suchenXPUSERMANAGER von Luckie in der "Open-Source" Sparte an.

Vielleicht ist den Sourcen des Programmes ja ein Anhaltspunkt für Dich dabei.

mfG
mirage228

Luckie 3. Jan 2005 12:37

Re: Windows Benutzer erstellen
 
Zitat:

Zitat von mirage228
Vielleicht ist den Sourcen des Programmes ja ein Anhaltspunkt für Dich dabei.

Eigentlich ist in der entschiedenden Unit die gesamte Lösung dabei. :roll:

fadz 3. Jan 2005 13:10

Re: Windows Benutzer erstellen
 
ok ich werde veruschen das script von luckie zu verstehen ;)

is aba nen bisl kompliziert, aba egal


hm, also ich blicke da null durch :(

s######

kann mir vl. jemand nen code geben wo direkt ne oberfläche dabei ist ?

sollte folgendes drin oda dran sein ;)

2 edit felder,
für password und benutzernamen

und halt den entsprechenden code um den als admin oda normalen benutzer zu erstellen

Christian Seehase 3. Jan 2005 14:14

Re: Windows Benutzer erstellen
 
Moin fadz,

dass man da nicht so ohne weiteres in 30 min. durchsteigt ist klar.
Wo liegen denn die Verständnisprobleme?

Zitat:

Zitat von fadz
kann mir vl. jemand nen code geben wo direkt ne oberfläche dabei ist ?

Falls Du einen Auftrag vergeben willst: Darüber lässt sich reden ;-)

Luckie 3. Jan 2005 17:42

Re: Windows Benutzer erstellen
 
Also eigentlich ist es schon in 30 Minuten ztu schaffen, wenn man sich nicht näher damit auseinandersetzt. In der Unit: http://www.luckie-online.de/Delphi/Sonstiges/NTUser.pas steht eigentlich alles drinne. (Sie benötigt allerdings noch http://www.luckie-online.de/Delphi/S...s/MpuWinNT.pas )

In der Unit NTUser.pas findet man dann zum Beispiel folgende Funktion:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Procedure : AddUser
// Comment  : Adds an account on a machine

function AddUser(const Server, User: WideString): NET_API_STATUS;
const
  DOMAIN_GROUP_RID_USERS = $00000201;
var
  ui3          : TUserInfo3;
  NetError    : DWORD;
begin
  NetError := 0;
  if User <> '' then
  begin
    ZeroMemory(@ui3, sizeof(TUserInfo3));
    ui3.usri3_name := PWideChar(User);
    ui3.usri3_primary_group_id := DOMAIN_GROUP_RID_USERS;
    NetError := NetUserAdd(PWideChar(Server), 3, @ui3, nil);
  end;
  result := NetError;
end;
Einfach nur Computername und Benutzername angeben und der Benutzer wird angelegt. Allerdings gehört er dann noch zu keiner Benutzergruppe!

fadz 3. Jan 2005 18:10

Re: Windows Benutzer erstellen
 
das hab ich auch versucht hier der code

Code:
function TForm1.AddUser(const Server, User: WideString): NET_API_STATUS;
const
  DOMAIN_GROUP_RID_USERS = $00000201;
var
  ui3          : TUserInfo3;
  NetError    : DWORD;
begin
  NetError := 0;
  if User <> '' then
  begin
    ZeroMemory(@ui3, sizeof(TUserInfo3));
    ui3.usri3_name := PWideChar(User);
    ui3.usri3_primary_group_id := DOMAIN_GROUP_RID_USERS;
    //NetError := NetUserAdd(PWideChar(Server), 3, @ui3, nil);
  end;
  result := NetError;
end;

procedure TForm1.AddClick(Sender: TObject);
var a: NET_API_STATUS;
begin
a:=AddUser('fadz',EName.text);
end;
aber ich finde den benutzer nirgendswo ?
:wall:
von daher stimmt da doch wsa net bei meinem zeug oder ?

mirage228 3. Jan 2005 19:11

Re: Windows Benutzer erstellen
 
Ähm,

du kommentierst auch die relevante Stelle aus:
Delphi-Quellcode:
// NetError := NetUserAdd(PWideChar(Server), 3, @ui3, nil);
mfG
mirage228

Luckie 3. Jan 2005 19:58

Re: Windows Benutzer erstellen
 
Es wäre eventuell auch mal ganz interessant den Rückgabewert der Funktion auszuwerten. Außerdem, was hast du mit meiner Unit gemacht? Warum ist die Funktion AddUser eine Methode deiner Form-Klasse?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.

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