2010-06-01 9 views
6

W mojej aplikacji Cocoa, w jaki sposób mogę uzyskać domenę bieżącego użytkownika po zalogowaniu się za pośrednictwem usługi Active Directory?Jak uzyskać nazwę domeny dla użytkownika zalogowanego na komputerze Mac za pośrednictwem usługi Active Directory?

muszę ustalić dwie rzeczy:

  1. Jeśli bieżący użytkownik jest zalogowany do domeny Active Directory (wystarczy do obsługi usługi Active Directory).
  2. Jeśli 1, domena użytkownika.

Znalazłem odniesień do Directory Services i Open Directory Programming Guide ale ten ostatni jest tylko 10,6 (muszę wspierać 10.5+) i nie mogłem znaleźć żadnych przykładów dla byłego, który dał mi pomysł co muszę zrobić .

Odpowiedz

3

dsconfigad -show

będzie powiedzieć, czy jesteś zobowiązany do katalogu oraz szczegółowe informacje na temat tego katalogu jeśli związany. Wtedy będziesz wiedział, jak skryptować dscl.

+0

Dzięki. To świetny początek, zdecydowanie daje mi nazwę domeny, do której komputer jest związany. Jeśli używasz sudo, nie musisz określać lokalnych poświadczeń (ważne dla programistycznego używania programu dsadminad). Czy istnieje sposób, aby sprawdzić, czy aktualnie zalogowany użytkownik jest użytkownikiem domeny czy kontem lokalnym? Wciskając do tej pory nie byłem w stanie wymyślić sposób. Jeśli jest na to jakiś sposób, z radością przyjmuję twoją odpowiedź. –

+0

Po zadaniu więcej pytań, to pytanie http://stackoverflow.com/questions/1139499/find-active-directory-users-home-folder- from-login-hook-script-in-os-x doprowadziło mnie do spróbowania palcowania różnych użytkowników i na moim komputerze testowym pojawia się przynajmniej to, że użytkownicy AD nie mają nazwy "Nazwa" (mają "Login", ale nie mają pełnej nazwy). Chciałbym bardziej solidnego mechanizmu, ale jeśli dalsze testy i badania pokazują, że jest to dość niezawodna metoda, to może wystarczyć. –

+0

Odkryłem co najmniej jeden przypadek, w którym użytkownik zalogowany przez Active Directory miał pełną nazwę użytkownika, więc to nie zadziała. Nadal poszukuje. –