Jump to content

paumus

Members
  • Gesamte Inhalte

    20
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von paumus

Contributor

Contributor (5/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

10

Reputation in der Community

  1. Super, funktioniert. Genau so etwas habe ich gesucht. Vielen Dank!
  2. Hallo, kann man bei Windows XP verhindern, dass eine Einwahlverbindung (Rechner ist direkt per DSL mit dem Internet verbunden) beim Abmelden des Benutzers getrennt wird? Gibt es z.B. eine Möglichkeit, die Internetverbindung als Dienst einzurichten, die beim Start des Rechners automatisch eingewählt wird? Hintergrund: Ich möchte von unterwegs auf den Rechner zugreifen (z.B. VNC) und dabei mit verschiedenen Benutzern arbeiten. Meine Idee ist bis jetzt, mit Tools wie AppToService (AppToService 3.0 Englisch, Download im heise Software-Verzeichnis) und stayAlive (Download CHIP.eu - StayAlive Pro 3.0 Englisch DE - Beschreibung) zu arbeiten, das kommt mir aber etwas umständlich vor. Bin für alle Anregungen dankbar. Grüße, paumus
  3. Danke schonmal. Was ich noch dazu hätte sagen müssen: Mein Hauptproblem ist aber nicht, dass ich keine Verwaltung für die Ordner habe (das soll ja nur noch über die Shell möglich sein, was mich jetzt nicht sooo stört), sondern, dass in Outlook Web Access keine Öffentlichen Ordner finden kann Edit: Irgendwie beginne ich zu ahnen, dass Kalenderfreigaben und öffentliche Ordner mit Outlook Web Access gar nicht funktionieren?! Mist ist, dass ich kein Outlook hier habe, um es damit zu testen. (Wir hatten als bevorzugten Client OWA ins Auge gefasst, um uns Installationen auf den Clients zu sparen.) Allerdings wundert mich diese Seite hier: green.ch - Hosted Exchange In OWA sollte das alles danach kein Problem sein. Komisch Komisch...
  4. Hallo, ich vermisse die öffentlichen Ordner in Exchange 2007 (ich habe grade das VHD-Test Drive-Image als virtuelle Maschine am Laufen). Wir brauchen für manche Abteilungen einen gemeinsamen Abteilungskalender, in den alle Mitarbeiter schauen und eintragen können. Ich hatte gedacht, das ginge mit einem Kalender in einem öffentlichen Ordner. Oder sehe ich das falsch? Zweitens würde ich gern wissen, wie man einschränken kann, dass andere Leute die eigenen Frei/Belegt-Zeiten sehen dürfen. Danke für Eure Hilfe, paumus
  5. Hallo, laut VMTN Blog lassen sich die VHD-Test-Drive-Images von Microsoft auch unter VMware starten. Leider gelingt mir das nicht, VMWare Server (1.0.3-44356) gibt mir einen Fehler aus: "The virtual machine or image at ...vmc could not be opened. VMWare Virtual Machine Importer is unable to find the virtual disk:" (mehr steht nicht) VMware Converter (3.0.1-44840) sagt: "Unable to load the source virtual machine or image. the file may be corrupt, or of an unsupported format." Was ich noch dazu sagen muss: Das Image ist in Ordnung, unter VirtualPC läuft es. Hat schon jemand so ein VHD-Image erfolgreich unter VMware starten können? Danke, paumus
  6. @woiza: Die Idee mit der HTA-Oberfläche finde ich auch recht reizvoll. Ich glaube allerdings, dass das vom Zeitaufwand recht umfangreich ist. Für die Kontextmenü-Erweiterung habe ich jetzt (inkl. Dokumentieren) 2 Stunden gebraucht. Andererseits ist das ja auch bloß eine Krücke und ganz schön umständlich. Wahrscheinlich werde ich mir HTA auch noch ansehen müssen (aber nicht mehr heute). Ich hoffe, diese Seite hilft mir ein bisschen: dieseyer.de: . . . mehr • HTA Schönes Wochenende, paumus
  7. Ich habe jetzt mal die Variante über das Kontextmenü durchgespielt und stelle das hier vor, vielleicht ist es ja von allgemeinem Interesse: Schritt A: Kontextmenü erweitern Quelle: Yusuf`s Directory - Blog - Personalnummer im AD eintragen kurz gefasst: 1.) adsiedit.msc 2.) Configuration -> DisplaySpecifiers -> 407 (dt. Sprache) -> User-Display -> 3.) Attribut adminContextMenu bearbeiten: Dort sind evtl. schon Einträge vorhanden, die führende Nummer um eins erhöhen: 2, Titel setzen, C:\setpersonaltitle.vbs 4.) Skript an der angegebenen Stelle ablegen: ' ------------------------------------------------------------------------- ' Script by Sakari Kouti (see http://www.kouti.com) ' You have a royalty-free right to use, modify, reproduce and distribute ' this script (and/or any modified version) in any way you find useful, ' provided that you agree that Addison-Wesley or Sakari Kouti has no ' warranty, obligations or liability for the script. If you modify ' the script, you must retain this copyright notice. ' ------------------------------------------------------------------------- Option Explicit Dim wshArguments, objUser, objSchemaPersonalTitle, strCurrentTitle, strPersonalTitle, intMaxLen On Error Resume Next Set wshArguments = WScript.Arguments Set objUser = GetObject(wshArguments(0)) Set objSchemaPersonalTitle = GetObject("LDAP://schema/personalTitle") intMaxLen = objSchemaPersonalTitle.MaxRange If objUser.personalTitle <> "" Then strCurrentTitle = objUser.personalTitle Else strCurrentTitle = "empty" End If strPersonalTitle = InputBox( _ "Aktuell eingetragener Titel: " & strCurrentTitle & vbCrLf & _ vbCrLf & _ "Geben Sie bitte den neuen Titel ein (1 bis " & intMaxLen & " Zeichen)", _ Right(objUser.Name, Len(objUser.Name) - 3) & " Titel", _ objUser.personalTitle) If strPersonalTitle = "" Then WScript.Quit 'User clicked Cancel If Len(strPersonalTitle) > intMaxLen Then MsgBox "Der neue Titel ist zu lang und wird somit nicht gespeichert.", _ vbCritical, "Fehler" Else Err.Clear objUser.personalTitle = strPersonalTitle objUser.SetInfo If Err Then MsgBox "Der neue Titel wird nicht gespeichert.", _ vbCritical, "Fehler" End If Diese Einstellung wirkt auch in Taskpads. Schritt B: Spalten anpassen Quelle: Modifying Existing User Interfaces (Windows) kurz gefasst: 1.) adsiedit.msc 2.) Configuration -> DisplaySpecifiers -> 407 -> organizationalUnit-Display 3.) Attribut extraColumns bearbeiten: Es müssen die Spalten hinzugefügt werden, die man zur Auswahl haben möchte. Jeder Eintrag von extraColumns (ist ein multivalued Feld) hat folgendes Format: company,Firma,0,150,0 LDAP-Name, So wird das Feld im Snap-In bezeichnet, 0=standardmäßig versteckt / 1= standardmäßig angezeigt, Breite in Pixeln, unbenutzt (muss 0 sein) Beispiel für eine sinnvolle Konfiguration: company,Firma,0,150,0 department,Abteilung,0,150,0 displayName,Angezeigter Name,0,100,0 givenName,Vorname,0,100,0 mail,E-Mail-Adresse,0,100,0 personalTitle,Titel,0,40,0 physicalDeliveryOfficeName,Büro,0,100,0 sn,Nachname,0,100,0 telephoneNumber,Rufnummer,0,100,0 title,Position,0,100,0 (Die Einträge können aus dem default-Display-Objekt, Attribut extraColumns übernommen werden. Name, Typ und Beschreibung sind immer dabei.)
  8. Hallo, sorry erstmal, ich hab es total verplant, hier nochmal reinzugucken, da ich mich wegen meines Studiums jetzt 3 Monate nicht mehr mit dem Thema beschäftigt habe.. Vielen Dank erstmal für Eure Antworten! Das Feld personalTitle sieht sehr gut aus, trifft auch genau die Anforderungen, bei Microsoft wird als Beispiel "Ms." angegeben (personaltitle Field) , also genau das Richtige ;) Mein Problem ist wirklich, dass es nicht in dsa.msc auftaucht, Mist. So können das die AD-Verwalter bei uns leider nicht einpflegen. Wie kann man denn am einfachsten ein Feld pflegen, dass nicht in der ADS-Managementkonsole auftaucht? Ich sträube mich ein bisschen dagegen, dass direkt im Anzeigenamen abzubilden, da ich das AD nur als Datenbasis verwenden will, die Telefonnummersuche soll später übers Intranet stattfinden und da würde ich den Namen gern flexibel zusammensetzen lassen (z.B. aus personalTitle, sn und givenName). Vielleicht habt ihr ja noch ein paar Tipps für mich. Danke, paumus
  9. Freut mich, dass Dir das Skript was bringt! Zu 1. muss ich mal schauen, ob sich das machen lässt... Ah, ich habs gefunden in der sehr guten Dokumentation auf PHP: LDAP Funktionen - Manual (Jetzt hab ich dank Deiner Frage auch was gelernt ;)) Du musst einfach die Zeile if (!($search=@ldap_search($connect,$base_dn,$filter))) { ... durch if (!($search=@ldap_list($connect,$base_dn,$filter))) { ersetzen. ldap_list führt eine one-level statt einer subtree-Suche durch. Das 2. Problem lässt sich einfach über LDAP-Filter nennen, dazu den Filter im Skript z.B. wie folgt ändern: $filter = "(& (mail=*) (|(objectClass=contact)(objectClass=user)) )"; Dann werden nur noch Benutzer und Kontakte ausgegeben, bei denen eine Mail-Adresse eingetragen ist. Hier ein paar gute Infos zu LDAP-Filtern: SelfADSI : LDAP Filter
  10. Nach dem Motto "Besser spät als nie" habe ich jetzt ein HowTo zum Thema geschrieben und auch eine rudimentäre Lösung für die verschachtelten OUs gefunden, zu finden auf serverhowto.de: Windows Server How-To Guides: Das Active Directory mit PHP und LDAP abfragen - ServerHowTo.de
  11. Hallo, wir möchten das AD als Datenbasis für eine Telefonliste nehmen. Da ich im Gesundheitswesen arbeite, muss unbedingt bei den Ärzten ihr Titel (Prof., Dr., PD und was es noch so gibt) mit auf die Liste. Könnte mir jemand ein Beispiel geben, wie man den Titel am besten im AD einpflegt? Danke schön. Paumus P.S.: Habe schonmal ein bisschen nachgeforscht bei den Feldnamen: Active Directory: LDAP-Feldnamen - faq-o-matic.net . Das Feld Title heißt jetzt Position (wir haben Win 2003 Server) und ist daher eher für was anderes gedacht, oder?
  12. Ich habe jetzt die Seite wieder gefunden: mittels PHP das Windows Active Directory auslesen - administrator Daran habe ich mich orientiert. Mein eigenes Skript sieht so aus, ist allerdings auch noch lange nicht perfekt, sondern nur ein Ansatz: <?php // Dieses PHP-Skript durchsucht alle OUs unterhalb von // OU=Benutzer,DC=test,DC=local und listet deren User und Kontakte auf. // Bekannte Probleme: Skript funktioniert nicht bei verschachtelten OUs // (OUs und Unter-OUS), sondern nur auf der ersten Ebene der OUs. function vergleich($wert_a, $wert_b) { // Sortierung nach dem displayname $a = $wert_a["displayname"]; $b = $wert_b["displayname"]; if ($a == $b) { return 0; } return ($a < $b) ? -1 : +1; } echo "<html><head>"; echo "<title>LDAP-Zugriff auf ein Active Directory</title>"; echo "</head><body>"; // Parameter für den LDAP-Zugriff // Adresse des Domänencontrollers: $ldap_server = "ldap://192.168.1.100"; // Konto für den Zugriff: $auth_user = "Administrator@test.local"; $auth_pass = "admin"; // Mit Server verbinden: if (!($connect=@ldap_connect($ldap_server))) { die("Keine Verbindung zum Verzeichnis-Server möglich."); } // Diese Parameter sind nötig für den Zugriff auf ein Active Directory: ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); // An Server binden: if (!($bind=@ldap_bind($connect, $auth_user, $auth_pass))) { die("Bind fehlgeschlagen."); } // Zunächst alle OUs suchen und in einem Array ($OUs) speichern: $base_dn = "OU=Benutzer,DC=test,DC=local"; $filter = "(objectClass=organizationalUnit)"; if (!($search=@ldap_search($connect,$base_dn,$filter))) { die("Durchsuchen des LDAP-Servers fehlgeschlagen."); } $info = ldap_get_entries($connect, $search); for ($i=0; $i<$info["count"]; $i++) { // utf8_decode dient zur korrekten Verarbeitung von Umlauten $aktuelleOU = utf8_decode($info[$i]["name"][0]); if ($aktuelleOU <> "Benutzer") $OUs[$i] = $aktuelleOU; } // Nun für jede Organisationseinheit in $OUs alle Kontakte und User ausgeben: foreach ($OUs as $aktuelleOU) { $base_dn = utf8_encode("OU=".$aktuelleOU.",OU=Benutzer,DC=test,DC=local"); $filter = "(|(objectClass=contact)(objectClass=user))"; echo "<h4>" . $aktuelleOU . "</h4>"; if (!($search=@ldap_search($connect,$base_dn,$filter))) { die("Durchsuchen des LDAP-Servers fehlgeschlagen."); } $anzahl = ldap_count_entries($connect,$search); $info = ldap_get_entries($connect, $search); // Nur die relevanten Teile des $info-Arrays in ein $ergebnis-Array übernehmen: // (Verbessert die Übersichtlichkeit) for ($i=0; $i<$anzahl; $i++) { $ergebnis[$i]["objectclass"] = $info[$i]["objectclass"][3]; $ergebnis[$i]["displayname"] = utf8_decode($info[$i]["displayname"][0]); $ergebnis[$i]["givenname"] = utf8_decode($info[$i]["givenname"][0]); $ergebnis[$i]["sn"] = utf8_decode($info[$i]["sn"][0]); $ergebnis[$i]["mail"] = $info[$i]["mail"][0]; $ergebnis[$i]["telephonenumber"]= $info[$i]["telephonenumber"][0]; } // Array alphabetisch sortieren, usort erwartet dazu eine Vergleichsfunktion: usort($ergebnis, 'vergleich'); // Array $ergebnis in einer Tabelle ausgeben: echo "<table border=0>"; for ($i=0; $i<$anzahl; $i++) { echo "<tr>"; echo "<td width=200>" . $ergebnis[$i]["displayname"] . "</td>"; if (empty($ergebnis[$i]["mail"])) echo "<td width=200> - </td>"; else echo "<td width=200>" . $ergebnis[$i]["mail"] . "</td>"; if (empty($ergebnis[$i]["telephonenumber"])) echo "<td width=100> - </td>"; else echo "<td width=100>" . $ergebnis[$i]["telephonenumber"] . "</td>"; echo "</tr>"; } echo "</table>"; echo "<br>"; echo "</body></html>"; } ?>
  13. Ah, ich freue mich, dass Interesse besteht! Ich werde mal die Infos bei serverhowto studieren und was zu dem Thema schreiben.
  14. Hallo, mit der selben Thematik habe ich mich auch die letzten Wochen beschäftigt. Da man das AD über LDAP abfragen kann, kann man mit vielen Programmiersprache Programme schreiben, die so eine Liste generieren. Ich habe das mal mit PHP gemacht, das funktioniert recht gut. Wenn Du nicht programmieren willst, gehen aber auch die anderen genannten Möglichkeiten. Wenn doch, hab ich irgendwo ein gutes Tutorial gefunden, könnte den Link nochmal raussuchen.
  15. So, ich habe das Generieren einer Telefonliste jetzt mit PHP gelöst, das per LDAP auch Informationen aus dem AD ziehen kann. Das ist wirklich eine gute Sache.
×
×
  • Neu erstellen...