mjchiphazard
Goto Top

pager feldinhalt aus dem active directory in registry feldeintrag übergeben

Hallo zusammen,

die Anforderung ist jene welche, daß ich das Pager-Feld aus dem Active Directory auslesen möchte und den Inhalt als "Personalnummer" zweckentfremde, um es als solches in ein Outlook-Addon zu schreiben.
Das Outlook-Addon bezieht diesen Inhalt aber aus der Registry.

Wie bekomme ich nun die Daten aus dem AD in die Registry?

Schön wäre ein vbs script / batchdatei das / die bei anmeldung des users evtl. ausgeführt wird.

Falls jemand spontan eine Umsetzung einfällt, bitte melden face-wink

Hab hier mal etwas vorbereitet face-wink :


On Error Resume Next

'### pager-wert aus ad lesen ###  
Set objUser = GetObject_("LDAP://CN=username,OU=Benutzer,OU=IT,OU=DE,DC=irgendwo in deutschland,DC=brötchengeber,DC=local")  

WScript.Echo GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName).pager  

'### pager-wert in registry setzen ###  

Dim WSHShell, RegKey, PersonalID, Pager
Set WSHShell = CreateObject("WScript.Shell")  
RegKey = "HKCU\Software\OLXTools\OLXWorkflow(Urlaub)"PersonalID = WSHShell.RegWrite regkey & "PersonalID", .pager  

Der codeschnipsel beinhaltet jetzt im Moment die Funktion des Auslesens des gewünschten Pager.-Feldes aus dem AD.
Leider bekom ich nun die Eintragung in die Registry nicht hin.

Falls jetzt noch jemand ein Tipp für mich hätte wäre das super!

Mit bestem Dank im Voraus für Eure Bemühungen und schönen Grüßen

Thomas

Content-ID: 118423

Url: https://administrator.de/contentid/118423

Ausgedruckt am: 15.11.2024 um 09:11 Uhr

bastla
bastla 19.06.2009 um 15:10:40 Uhr
Goto Top
Hallo mjchiphazard!

Es wäre sinnvoll, etwas mehr ins Detail zugehen und zB "PersonalID" zu beschreiben bzw den RegKey genau anzugeben.

Das Script sähe schematisch etwa so aus:
On Error Resume Next

'### pager-wert aus ad lesen ###  
Pager=ject("LDAP://" & CreateObject("ADSystemInfo").UserName).pager  

'### pager-wert in registry setzen ###  
RegKey = "HKCU\Software\OLXTools\OLXWorkflow(Urlaub)"  
CreateObject("WScript.Shell").RegWrite RegKey & "PersonalID", Pager  
Grüße
bastla
mjchiphazard
mjchiphazard 22.06.2009 um 09:33:41 Uhr
Goto Top
Moin Moin Bastla,

vielen Dank erstmal für Dein Support.

Tut mir leid wenn es nicht ausreichend war, hatte gedacht das wäre soweit aus dem Script ersichtlich welcher regkey genau gemeint war.
Oder verstehe ich da noch was falsch? *dumdidum*

Leider hab ich die Herausforderung, wenn ich Dein Script übernehme, daß nach dem Ausführen so "ersichtlich" gar nichts passiert!?
Kann es sein, daß in Zeile 4 der Code "Pager=object... heißen müßte?

Falls ich also noch irgendwas an fehlenden Infos nachtragen kann, würde ich das gerne tun.

Nochmals besten Dank
und schöne Grüße

Thomas
bastla
bastla 22.06.2009 um 14:51:26 Uhr
Goto Top
HalloThomas!

Wo der fehlende Teil der Zeile 4 auf der Strecke geblieben ist, kann ich nun wirklich nicht nachvollziehen - tatsächlich aber sollte es
Pager=GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName).pager
heißen ...
... daß nach dem Ausführen so "ersichtlich" gar nichts passiert!?
Es ist grundsätzlich sinnvoll, während des Testens auf "On Error Resume Next" zu verzichten, damit auftretende Fehler auch angezeigt werden.

Zusätzlich ließe sich mit einer Zeile 4a der Art
WScript.Echo Pager
der ausgelesene Wert leicht kontrollieren.
... wäre soweit aus dem Script ersichtlich welcher regkey genau gemeint war.
Die Zeile
RegKey = "HKCU\Software\OLXTools\OLXWorkflow(Urlaub)"PersonalID = WSHShell.RegWrite regkey & "PersonalID", .pager
ergibt so keinen Sinn, da das erste "PersonalID" (vor dem "=") praktisch in der Luft hängt (und das "RegWrite" an den Anfang der Zeile gehört - siehe mein Beispiel) ...

Grüße
bastla
mjchiphazard
mjchiphazard 22.06.2009 um 15:40:58 Uhr
Goto Top
Mahlzeit Bastla,

wo gehobelt wird... face-wink

Kuhle Action mit der Option die Anzeigen ein- bzw. "ausblenden zu können.
Mir ging in meinem Script die Anzeigemeldung auf die Nerven.
Für Kontrollzwecke keine Frage eine gute Sache...

Ok ok, ich glaub da kommen wir der Sache schon näher was die Definition des Regkeys angeht.
Ich hab hier mal ne Hardcopy gemacht, wie das so in der Registry ausschaut:

Tja, da stellt sich mir die nächste Herausforderung, wie füge ich hier Bilder ein!?
Die Hilfe dazu bringt mich leider nicht weiter.

Dann also schriftliche Beschreibung:

Links in der Ordner-Baumstruktur befindet sich der "letzte" Ordner "OLXWorkflow(Urlaub)".
Rechts findet man nun die Zeichenfolge "PersonalID".

Mit einer einfachen .reg-Datei wie folgt:

[HKEY_CURRENT_USER\Software\OLXTools\OLXWorkflow(Urlaub)]
"PersonalID"="99999"

funktioniert eine Änderung an der richtigen Stelle.

In der Hoffnung, daß der Regkey und das "PersonalID"-Feld nun verständlicher ist,

sG

Thomas
bastla
bastla 22.06.2009 um 17:23:03 Uhr
Goto Top
Hallo Thomas!

Mal sehen, ob der Versuch, mir ohne Bild ein Bild zu machen, gelungen ist:
Pager = GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName).pager  
RegKey = "HKCU\Software\OLXTools\OLXWorkflow(Urlaub)\PersonalID"  
CreateObject("WScript.Shell").RegWrite RegKey, Pager  
Grüße
bastla

P.S.: Bilder kannst Du nur in den Eröffnungsbeitrag einfügen ...
mjchiphazard
mjchiphazard 22.06.2009 um 17:39:04 Uhr
Goto Top
Howdy Bastla,

wie geil ist das denn!!!

Jetzt haben wir es *Geilomat*
Ich spring bis zur Decke...

Folgender Code bringt es:

'### pager-wert aus ad lesen ###  

Set objUser = GetObject_("LDAP://CN=t.zinn,OU=Benutzer,OU=IT,OU=DE,DC=ense-parsit,DC=kettler,DC=local")  
Pager = GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName).pager  

'### pager-wert in registry setzen ###  

RegKey = "HKCU\Software\OLXTools\OLXWorkflow(Urlaub)\PersonalID"  
CreateObject("WScript.Shell").RegWrite RegKey, Pager  

TOTALE BEGEISTERUNG!

1000 und ein Dank vorallem für Deine Geduld und den SUPER SUPPORT!!!

Grüße

Thomas