Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Rechte Problematik XP Prof (https://www.delphipraxis.net/27179-rechte-problematik-xp-prof.html)

teekay 5. Aug 2004 15:00


Rechte Problematik XP Prof
 
Hallo

ich habe folgendes Problem :
in unserer Firma haben wir ein Netzwerk mit 50 Nutzern - diese Nutzer haben grundlegend Hauptbenutzer Rechte

Ich habe ein Delphi-prog geschrieben das es ermöglicht über spezielle API Ressourcen ermöglicht anzuzeigen welche Rechner an sind und welche nicht. (ähnlich loggedon2)

Der Hacken das Programm soll bei Benutzern laufen die keine admin-rechte haben, denn ohne kommt ein Socket Fehler

es gibt die möglichkeit bei winxp prof :
- rechte Maustaste \ Ausführen als

Dann kommt ein anmelde-dialog wo die Anmeldung des Netz-Admins eingegeben wird und das Programm wird als Admin ausgeführt und funktioniert

ich habe das ganze schon hier gelesen : hier im Forum
jedoch kann ich meinen Benutzern keine admin rechte geben (wäre fatal)


also gibt es eine möglichkeit diese anmelde-prozedur zu hinterlegen ?

wenn ja wäre ich euch sehr dankbar

ach ja ich hab noch herausbekommen das wenn man eine verknüpfung zu der exe anlegt das man dort ein häckchen setzen kann von wegen _: Programm unter anderem benutzer ausführen (so spart man den rechtsklick)

also wenn es auf windows / delphi ebene eine möglichkeit gebe die anmeldung zu automatisieren wäre es genau das was ich brauche

thx schonmal im voraus

mfG TeeKay

Luckie 5. Aug 2004 15:28

Re: Rechte Problematik XP Prof
 
Zitat:

Zitat von teekay
ich habe das ganze schon hier gelesen : hier im Forum
jedoch kann ich meinen Benutzern keine admin rechte geben (wäre fatal)


also gibt es eine möglichkeit diese anmelde-prozedur zu hinterlegen ?

Wenn das ginge, dann wäre ja das gesamte Sicherheitskonzept von NT ff. für den Popo. Du könntest nur eins machen: MSDN-Library durchsuchenCreateProcessAsUser. Dazu musst du aber Login und Passwort im Source hinterlegen.

Marcel Gascoyne 5. Aug 2004 15:55

Re: Rechte Problematik XP Prof
 
Zitat:

Zitat von teekay
Der Hacken das Programm soll bei Benutzern laufen die keine admin-rechte haben, denn ohne kommt ein Socket Fehler

es gibt die möglichkeit bei winxp prof :
- rechte Maustaste \ Ausführen als

Dann kommt ein anmelde-dialog wo die Anmeldung des Netz-Admins eingegeben wird und das Programm wird als Admin ausgeführt und funktioniert

Schau Dir mal die JEDI Code Library an, da gibt es in der Unit JclMiscel folgende Procedure:

Delphi-Quellcode:
procedure CreateProcAsUser(const UserDomain: string; const UserName: string; const PassWord: string; const CommandLine: string)
Das sollte genau das sein was Du suchst...

Gruß,
Marcel

Christian Seehase 5. Aug 2004 20:42

Re: Rechte Problematik XP Prof
 
Moin Teekay,

kann es sein, dass Dein Programm am Ping mit Hilfe der Indy's scheitert?

Für diesen Fall solltest Du es mal mit Hier im Forum suchenIcmpSendEcho versuchen.

DP-Maintenance 5. Aug 2004 20:43

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Windows 9x / ME / 2000 / XP" nach "Internet / IP / LAN" verschoben.
Scheint sich doch eher um ein programmiertechnisches Problem zu handeln

teekay 6. Aug 2004 09:30

Re: Rechte Problematik XP Prof
 
Also erstmal danke für die schnelle und kompetente Hilfe
2 unterschiedliche Ansätze mit 3 Lösungsmöglichkeiten - super!

zu Luckie:
CREATEPROCESSASUSER sehr interessant - momentan hab ich aber keine Zeit das ganze "zu übersetzen" da ich 2 Tage vor meinem Urlaub bin :lol: aber ich werds mir auf jeden fall merken und später meine erfahrungen damit hier posten

zu Marcel Gascoyne:
Vielen Dank für diesen Tipp - es ist genau das was ich suche leider funktioniert es nicht auf anhieb
ich bekomme folgende Fehlermeldung :
Zitat:

This account does not have the privilege "Einsetzen als Teil des Betriebssystems" (SeTcbPrivilege)
also wieder ein Rechte Problem
- ich hab jetzt für die Umstellung extra keine lokalen Adminrechte sondern nur Hauptbenutzer- Rechte (wie bei den anderen Usern)
- da die Meldung auch bei eingabe falscher Usernamen kommt gehe ich davon aus das der angemeldete Nutzer gemeint ist (mit This account)

wenn das klappen würde wäre der Aufwand am geringsten (man bin ich faul :duck: )

zu Christian Seehase:
Moin du Hellseher :!: genau das wird es sein.
Schön war an der Indy-lösung das Ich dynamisch bleiben konnte indem ich über NetServerEnum eine "Liste" aller Hosts bekam die dann einfach über IdICMPClient.Host := pWork.sv100_name; angepingt wurden

so muss ich jetzt erstmal die hosts nehmen und in IP's umwandeln aber das dürfte ja kein problem sein

oder gibt es vielleicht eine möglichkeit über ICMPSENDECHO direkt einen Host anzupingen?

(pff hehe s.o. immer noch faul)


danke nochmal für eure Antworten

TeeKay

teekay 6. Aug 2004 11:00

Re: Rechte Problematik XP Prof
 
NACHTRAG:

also ich habs erstmal geschafft!
nochmal danke für eure Hilfestellungen

ich glaub was ich da gebastelt hab (in der schnelle) ist nicht mehr schön anzuschauen aber es funzt erstmal und ich kann beruhigt in den urlaub gehen 8)

für die die es interessiert - hier mal die Abfolge was ich eigentlich mache und wozu es dient

Ziel ist es zu einem bestimmten Zeitpunkt herauszufinden welche Rechner an/aus sind

Grundlage : eine excel Tabelle die Regelmäßig gepflegt wird
Inhalt : Rechnernummer (Hostname) und standardmäßiger Benutzer

Das Programm läuft auf Clients die keine lokalen admin rechte haben

Ablauf ist folgender :

- Beim Start wird die excel Tabelle ausgelesen und schreibt die werte in ein zweidimensionales array
- Dann erfolgt der Suchlauf
eine Liste aller Clients die im netzwerk aktiv sind bekomme ich über NetServerEnum (entspricht in etwa der Netzwerkumgebung unter windows)
Problem ist nur diese liste nicht (nie!) sehr aktuell ist da der Server diese in einem bestimmten Zyklus aktualisiert. deshalb stehen dort rechner drin die schon längst abgemeldet sind
daran ist dann auch loggedon2 von assabard gescheitert da beim auslesen der Benutzernamen so lange gewartet wurde bis das win Timeout kam (dauert ewigkeiten > 25 sec pro rechner) wenn ein rechner nicht erreichbar war

- deshalb kommt jetzt der Ping
...der mit den Indy Komponenten leider nicht bei normalen usern funzt
dank Christian wird das jetzt über ICMPSENDECHO gemacht - thx nochmal

also
- ich nehme einen host
- löse die ip des hosts auf
- pinge ihn an
- wenn nicht erfolgreich - "PC aus"
- wenn erfolgreich - abgleich mit "excel" Array über den Hostnamen welche Person vor dem rechner sitzen sollte
- ausgabe in Listbox

fertig

thx 2 all

TeeKay


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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 by Thomas Breitkreuz