Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB6 Kann man bestimmte Befehle eines Programms unter einem anderen Account ausführen ?

Frage Entwicklung VB for Applications

Mitglied: skid

skid (Level 1) - Jetzt verbinden

02.03.2011 um 12:08 Uhr, 3738 Aufrufe, 7 Kommentare

Hallo,

hoffe Ihr könnt mir bei meiner Frage / Problem weiterhelfen....!?

Ich habe ein VB6 Programm welches neue Benutzer im AD anlegt, einige Einträge in eine SQL-DB einträgt, Ordner anlegt usw.....
Das Programm wird mit einem Admin-Account aufgerufen da ein normaler Benutzer keine Rechte hat neue Benutzer im AD anzulegen.
D.h. alles was mit dem Programm gemacht wird läuft unter diesem Admin-Account.

Beim Eintragen von Daten in die SQL-DB wird dieses mitgelogt. Nur steht dann da als Ausführender der Admin-Account mit dem das VB Programm aufgerufen wurde.
Ich würde es jetzt gerne so haben das der Name des tatsächlich Ausführenden da steht.

Ist es möglich den Abschnitt wo die Verbinding zur SQL-DB gemacht und die Daten geschrieben werden unter dem normalen User-Account gemacht wird und es danach wieder mit dem Admin-Account weitergeht ?
Es wäre auch möglich das Programm mit dem normalen User aufzurufen und die Einträge im AD dann mit einem Admin-Account machen zu lassen.....

Vielleicht hat einer ja eine Idee....


Gruß
SKID
Mitglied: Karo
02.03.2011 um 15:16 Uhr
Hi,

wieso wertet das Proggie nicht die Umgebungsvariable USERNAME aus und trägt diesen in die LOG-Table?

bye
Karo
Bitte warten ..
Mitglied: SlainteMhath
02.03.2011 um 15:44 Uhr
Moin,

oder wie wär's wenn Du dem richtigen User Verwaltungsrechte auf den/die entsprechenden OU's deligierst? M.E. die sauberste Methode

lg,
Slainte
Bitte warten ..
Mitglied: skid
03.03.2011 um 08:26 Uhr
Zitat von Karo:
Hi,

wieso wertet das Proggie nicht die Umgebungsvariable USERNAME aus und trägt diesen in die LOG-Table?

bye
Karo


Hi,

das hatte ich mal probiert, aber da wird dann nur der USERNAME des Admin-Accounts genommen.

SKID
Bitte warten ..
Mitglied: skid
03.03.2011 um 08:26 Uhr
Zitat von SlainteMhath:
Moin,

oder wie wär's wenn Du dem richtigen User Verwaltungsrechte auf den/die entsprechenden OU's deligierst? M.E. die
sauberste Methode

lg,
Slainte


Moin,

das wäre vielleicht schon eine saubere Methode - ist aber nicht erwünscht.
Dieses Proggi wird von mehreren Personen ausgeführt die auch noch Bundesweit verteilt sind.

SKID
Bitte warten ..
Mitglied: Karo
03.03.2011 um 10:07 Uhr
Moin,

klar, das Prog wird schließlich im Admin-Kontext laufen, dann ist die Umgebung auch die seine.
Es gibt sicherlich mehrere Möglichkeiten. Allerdings müsste man den Code und Deine Umgebung kennen
Ein Beispiel:
Wenn das Prog per RUNAS aufgerufen wird, könntest Du zuvor den normalen %USERNAME% in der CMD in ein LOG schreiben, welches dann wiederum vom Prog eingelesen und der Wert in die SQL DB geschrieben wird.

Ansonsten wäre es, abgesehen von der OU Geschichte, am saubersten nur den Code der tatsächlich als Admin ausgeführt werden muss auch unter dessen Kontext laufen zu lassen und alles andere mit dem normalen Useraccount.

Karo
Bitte warten ..
Mitglied: skid
04.03.2011 um 09:00 Uhr
Moin,

habe es bisher so das ich eine "start.exe" habe die dann das eigentliche Programm als Admin-User aufruft. In der "start.exe" wird der Username des tatsächlichen Anwenders ermittelt und in eine
Textdatei geschrieben die ich dann an einer anderen Stelle wieder verwende.

Es ist wohl so das mit dem "Hauptprogramm", welches mit dem Adminaccount läuft und die Einträge in die SQL-DB macht, der Username des Adminaccounts autom. mit in die DB geschrieben wird.....ist wohl so im SQL eingestellt ?!
Daher wäre es wohl am besten wenn das Programm mit dem Account des tatsächlichen Users gestartet wird und nur die Teile, wo der User keine Rechte hat was zu machen, diese mit einem Admin-Account laufen würden.

Ich habe den ganzen Code in einer Datei. Also keine externen Module usw.....

Könnte man evtl. bestimmte Teile "Auslagern" die man dann als Admin aufruft ? ....Programm wird gestartet, wird von oben her abgearbeitet, kommt an einen Punkt wo etwas "Extenes" aufgerufen wird und dann wieder in den Hauptcode springt....

Kenne mich leider nicht so gut mit VB aus.....


SKID
Bitte warten ..
Mitglied: Karo
04.03.2011 um 16:17 Uhr
Hi,

sicher kann man das mit dem auslagern machen, muss man den Code halt modifizieren und neu kompilieren.
Ansonsten liefert sehr wahrscheinlich Dein Prog die Daten an SQL, die DB wird von sich wohl weniger machen.

Karo
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...