Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

per Script Account ansprechen im Adressbuch

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Meintre
•->
•->


Anmeldedatum: 15.09.2003
Beiträge: 8

BeitragVerfasst am: 07.11.2010 - 17:47    Titel: per Script Account ansprechen im Adressbuch Antworten mit Zitat

Hallo Leute,
ich möchte per Applescript Personen bzw. Gruppen in einem Account ansprechen. Dies ist aber nicht das Lokale. Beim erstellen eines neuen Namen wir immer nur der lokale Account angesprochen.
tell application "Address Book"
activate
set Eintrag to (make new person)
add Eintrag to group "Test"
set newPerson to (make new person with properties {last name:"Bellucci", first name:"Monica"})
save
make new email at end of emails of newPerson with properties {label:"Private", value:"monica@mac.com"}
make new phone at end of phones of newPerson with properties {label:"Work", value:"+33-1-4711007"}
make new phone at end of phones of newPerson with properties {label:"Mobile", value:"+33-679-808080"}
make new phone at end of phones of newPerson with properties {label:"Fax", value:"+33-1-4711111"}
make new address at end of addresses of newPerson with properties {label:"Home", city:"Paris", zip:"75001", country:"France", street:"65, rue de la Gare"}
end tell


Kann mir jemand helfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hubionmac
•--->
•--->


Anmeldedatum: 26.02.2004
Beiträge: 245
Wohnort: Münster

BeitragVerfasst am: 08.11.2010 - 08:32    Titel: Antworten mit Zitat

Das scheint aktuell mit der vom Adressbuch gelieferten AppleScript-Library nicht möglich zu sein (korrigiert mich bitte wenn ich irre!).
Ein Workaround könnte ein Command-Line-Tool mit dem Namen ldapsearch sein. Damit könntest Du via do shell script fern vom Adressbuch Anfragen an den Verzeichnis-Server stellen.
Code:
ldapsearch -x -h ##hostname## -D "##benutzername##" -w ##kennwort -b "##basis so etwas wie cn=bla.com##" "objectClass=*"

Damit wird z.B. der gesamte LDAP-Baum (alle Einträge) gelistet.

So etwas stellt aber ohne Zweifel ein Sicherheitsrisiko da (sofern Du die Benutzerdaten im Klartext in das Skript schreibst. Zudem solltest Du vermutlich die Suchanfrage eingrenzen, damit der Server Dir nicht immer alle Einträge auswirft (also nicht "objectClass=*" sondern ehr "cn=*Schulze*").

Was die Benutzerdaten angeht, würde ich vielleicht über den Schlüsselbund die Login-Daten abfragen so in der Art:

Zitat:
getldaplogin4server("meinLDAPServer.com")
on getldaplogin4server(serverurl)
   tell application "Keychain Scripting"
      set theKeyList to every Internet key of keychain "login.keychain" whose server is serverurl
      repeat with theKey in theKeyList
         if protocol of theKey is LDAP then
            return {serverurl, account of theKey, password of theKey}
            exit repeat
         end if
      end repeat
   end tell
end getldaplogin4server



und ehm... zum anlegen von Personen (sofern Du über nötigen Zugriffsrechte verfügst... ehm ldapadd Wink
_________________
hubionmac.com akzeptiere Paypal und Pizza
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Meintre
•->
•->


Anmeldedatum: 15.09.2003
Beiträge: 8

BeitragVerfasst am: 08.11.2010 - 20:39    Titel: Antworten mit Zitat

Danke erstmal für die schnelle Antwort.
Mir geht es hierbei nicht um einen Server im Netz. Ich möchte einfach durch Filemaker Pro meine Kundendaten mit dem Adressbuch auf dem selben Rechner abgleichen. Dies funktioniert auch mit dem lokalen Adresssbuch-account. Da ich aber mein Adressbuch über iPhone und anderen Rechnern im Netz abgleiche existiert noch ein Account über CardDAV. In diesem sind aber gerade die Daten die ich abgleichen möchte (Filemaker Pro). Hier mein Script:

set liste to {}
set KDNr to {}
tell application "Address Book"
with timeout of 3500 seconds
set code to ""
repeat with this_person in every person
set KDNr to value of related name of this_person
set liste to liste & KDNr
end repeat
end timeout
end tell


tell application "FileMaker Pro Advanced"
set Anzahl to count every record
go to record 1
repeat with Zaehler from 1 to Anzahl
set KDNr to cell "KundenNr." of record Zaehler
set Grupname to cell "TeleGruppe" of record Zaehler
set Nachname to cell "Telefonname" of record Zaehler
set Strasse to cell "Straße:" of record Zaehler
set StrNumer to Strasse & " " & cell "STRNR:" of record Zaehler
set PLZ to cell "PLZ" of record Zaehler
set Ort to cell "Wohnort:" of record Zaehler
set Tel1 to cell "Tel1" of record Zaehler
set Tel2 to cell "Tel2" of record Zaehler
set Tel3 to cell "Tel3" of record Zaehler
set Tel4 to cell "Tel4" of record Zaehler
set Tel5 to cell "Tel5" of record Zaehler
set Tel1n to cell "Tel1n" of record Zaehler
set Tel2n to cell "Tel2n" of record Zaehler
set Tel3n to cell "Tel3n" of record Zaehler
set Tel4n to cell "Tel4n" of record Zaehler
set Tel5n to cell "Tel5n" of record Zaehler
if Tel1n = "" then set Tel1n to "Arbeit"
if Tel2n = "" then set Tel2n to "Arbeit2"
if Tel3n = "" then set Tel3n to "Arbeit3"
if Tel4n = "" then set Tel4n to "Arbeit4"
if Tel5n = "" then set Tel5n to "Arbeit5"
set FAX to cell "Fax:" of record Zaehler
tell application "Address Book"
if KDNr is in liste then
else
if not (exists group Grupname) then
make new group with properties {name:Grupname}
end if
set Eintrag to (make new person)
add Eintrag to group Grupname
tell Eintrag
set last name to Nachname
save
make new address with properties {label:"Anschrift", street:StrNumer, zip:PLZ, city:Ort, country:"Deutschland"}
make new related name with properties {label:"KD.NR:", value:KDNr}
try
set value of thephone to Tel1
on error
save
make new phone at end of phones with properties {label:Tel1n, value:Tel1}
end try
if Tel2 is not "" then
try
set value of thephone to Tel2
on error
save
make new phone at end of phones with properties {label:Tel2n, value:Tel2}
end try
end if
if Tel3 is not "" then
try
set value of thephone to Tel3
on error
save
make new phone at end of phones with properties {label:Tel3n, value:Tel3}
end try
end if
if Tel4 is not "" then
try
set value of thephone to Tel4
on error
save
make new phone at end of phones with properties {label:Tel4n, value:Tel4}
end try
end if
if Tel5 is not "" then
try
set value of thephone to Tel5
on error
save
make new phone at end of phones with properties {label:Tel5n, value:Tel5}
end try
end if
try
set value of theFAX to FAX
on error
save
make new phone at end of phones with properties {label:"Fax Arbeit", value:FAX}
end try
end tell
end if
end tell
end repeat
quit application "Address Book"
end tell[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter