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 [WMI] Benutzer anlegen/löschen (https://www.delphipraxis.net/102972-%5Bwmi%5D-benutzer-anlegen-loeschen.html)

halinchen 7. Nov 2007 17:58


[WMI] Benutzer anlegen/löschen
 
Hi!

Vorneweg: Wenn einer sagt, ein Programm was an den Benutzer rumwerkelt ist keine 2 sec auf meinem Rechner: Das Programm ist für private Zwecke.

Mich würde interessieren, ob man Windowsbenutzer anlegen bzw. löschen kann. Ich denke, wenn dann sollte das über WMI gehen.
Ich hab da schon eine Klasse bei MSDN gefunden (Win32_Account; Win32_UserAccount): http://msdn2.microsoft.com/en-us/library/aa394061.aspx
Ich denke die wäre was für mich.

Aber was mach ich jetzt damit? Ich habe mir schonmal das WMI-Demo von himitsu angeguckt.

Aber ich verstehe das nicht so recht.

Kann mir vielleicht einer einen Tipp geben?

RWarnecke 7. Nov 2007 20:33

Re: [WMI] Benutzer anlegen/löschen
 
Hallöchen,

WMI dient hauptsächlich nur dazu Hardware-Informationen zu ermitteln. Du kannst lediglich User nur mit der Windows-API anlegen.

OregonGhost 7. Nov 2007 20:47

Re: [WMI] Benutzer anlegen/löschen
 
Zitat:

WMI dient hauptsächlich nur dazu Hardware-Informationen zu ermitteln. Du kannst lediglich User nur mit der Windows-API anlegen.
Naja, eigentlich dient WMI, wie der Name sagt, dazu, einen Rechner zu verwalten. Dinge wie Dienste zu installieren oder zu starten und zu stoppen, Dateien löschen, CheckDisk auf Laufwerken aufrufen, Netzwerkfreigaben verwalten, Prozesse starten und beenden usw. kann man damit schon ohne Probleme. Insofern wundert mich auch, dass man per WMI keine Benutzer anlegen oder löschen kann. Umbenennen kann man sie schließlich auch. Die einhellige Meinung scheint jedoch zu sein, das über ADSI (Stichwort DirectoryEntry) zu machen. Oder, wenn es der Einfachheit halber (von Scripten aus bzw. remote) WMI sein soll, kannst du natürlich auch einen Prozess starten, der das erledigt (net user).

Hmm.

Gibt es gar keine "normalen" API-Funktionen dafür? Ich lese nur überall, dass man AD benutzen soll, das geht auch, wenn das System ActiveDirectory gar nicht benutzt.

Mackhack 7. Nov 2007 21:08

Re: [WMI] Benutzer anlegen/löschen
 
Wie macht es denn Luckie in seinem XP Manager?

OregonGhost 7. Nov 2007 21:08

Re: [WMI] Benutzer anlegen/löschen
 
Witzig, an den habe ich nach meinem Post auch gedacht. Aber ich glaube, da gibt es keinen Quellcode zum Runterladen, oder? :)

Mackhack 7. Nov 2007 21:11

Re: [WMI] Benutzer anlegen/löschen
 
Hm,

Luckie hilft uns da sicher weiter! Wir sind hier ja nicht bei MS! :???:

halinchen 8. Nov 2007 12:57

Re: [WMI] Benutzer anlegen/löschen
 
Danke für eure Antworten!

Grundsätzlich ist es mir eigentlich egal wie ich das mache. (Hauptsache etwas automatisiert)
In der MSDN komme ich bei "Administration and Management" auch nicht so weiter. Da kommt man dann aber auch zu WMI, deswegen dachte ich das bring mich weiter.

Ich schau gleich mal, was ADSI ist. Vielleicht hilft ja ein einfach net user auch weiter.

edit: Eigentlich sollte das net user /add bzw. /del reichen
Da ruf ich einfach
Delphi-Quellcode:
ShellExecute(hInstance,'open','cmd.exe','/c "net user /add Testuser"',NIL,NIL,1)
auf.

Danke für eure Hilfe! :thumb:

Luckie 8. Nov 2007 13:10

Re: [WMI] Benutzer anlegen/löschen
 
Wie ich es mache?
Zitat:

It's magic!
:mrgreen:

Nein Quellcode gibt es nicht. Aber hier gibt es die zugrundeliegende Unit: http://www.michael-puff.de/Developer/Delphi/Units/

Und ein großes Geheimnis ist es auch nicht. Dafür gibt es die NetUser..-API-Funktionen.

OregonGhost 8. Nov 2007 13:25

Re: [WMI] Benutzer anlegen/löschen
 
Zitat:

Zitat von Luckie
Und ein großes Geheimnis ist es auch nicht. Dafür gibt es die NetUser..-API-Funktionen.

Zugegeben, hätte man drauf kommen können, wenn man schon auf "net user" kommt. :mrgreen:

halinchen 8. Nov 2007 13:32

Re: [WMI] Benutzer anlegen/löschen
 
Danke.

Da habe ich ja jetzt die Auswahl.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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