我再次有點卡住了,我很害怕。我一直在爲互聯網搜尋任何可能需要做同樣事情的人,似乎有一些人管理它,但我無法將所有難題融合在一起。Python:如何打印AD用戶的手機號碼?
簡而言之:我需要獲取AD中列出的所有用戶的手機號碼。
最簡單和最簡單的方法,到目前爲止似乎是添金的active_directory模塊,這使我對我的代碼看起來到目前爲止(基本上是直他的榜樣的複製和粘貼編碼):
#!/usr/bin/env python
import active_directory
def main():
for user in active_directory.search (objectCategory='Person', objectClass='User'):
print user
if __name__ == '__main__':
main()
上面的代碼是一種享受,但我無法弄清楚如何在輸出中包含手機號碼。我不知道該字段的名稱在AD/LDAP中,但我懷疑它是'MobileTelephoneNumber'。
有人可能知道一個快速和骯髒的方式,包括每個用戶的手機號碼?它不一定只是數字,可能是所有聯繫方式。
編輯:
我瞎猜,我需要稍微修改代碼來是這樣的:
for user, number in active_directory.search (objectCategory='Person', objectClass='User', objectClass='MobileTelephoneNumber'):
print user, number
似乎不是工作,雖然。我確定必須有某種方式來做到這一點,但我似乎無法弄清楚。如果我能夠確切地知道在AD中存儲數字的位置,我最終可能會發現它,但是似乎沒有太多的信息,或者至少我能夠理解的信息。
編輯#2:
感謝ivan_pozdeev,我能看到我需要的屬性(「手機」),但我仍然有不知道如何通過Python打印它的想法是......有一種方法可以通過Python打印LDAP對象的完整屬性,如果有的話,通過active_directory模塊打印?
編輯#3:
沒關係,想我現在弄明白了。一旦我有了或多或少的代碼,我會在這裏發佈它,以防萬一有人進入我擁有的同一個磚牆。
編輯#4:
原來我有點白癡。這顯然是使用下面的代碼一樣簡單:再次
for user in active_directory.search (objectCategory='Person', objectClass='User'):
print user, user.mobile
感謝您的幫助ivan_pozdeev,欣賞它:)
[AD explorer](http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx)可能有助於找出AD記錄的內容。至於如何使用'active_directory.search',有文檔,源代碼和命令行模式。 – 2013-02-14 08:00:40
感謝您使用AD Explorer鏈接,但就active_directory.search文檔而言,目前爲止,我唯一設法搜索到的內容來自Tim Golden的網站,該網站並沒有專門解釋如何獲取電話號碼。我認爲我的LDAP知識讓我在這裏有點失望。 – kooper 2013-02-14 08:57:11