none
lastLogonTimestamp 格式轉換 RRS feed

解答

  • 你所找到的這篇文章說明的是用 LDAP 的方式查詢 AD 得到 User 的 lastLogonTimeStamp 的數字是從西元 1601 年 1 月 1 日到 User 上次登入中間間隔的時間, 而且該時間是以 100 nano-second (100 * 10E-9 sec) 為單位來計算的, 所以查詢得到時間數字先除以 (60 * 10000000) 後得到的是分鐘數, 再除以 1440 得到的是天數, 因為 60 * 24 = 1440, 得到天數後再換算成日期, 這個部份程式如果自己寫的話就比較頭大了, 因為有閏年, 每個月的天數也不整齊,

    至於前半段是因為用 VB 程式查詢的話, 64 bits 會分成高低兩個 32 bits 的數字, 所以他還要將兩個數字合併起來, 用 LDIFDE 的話得到的數字已經是 64 bits 了!

    2007年1月18日 上午 11:03

所有回覆

  • hi RyanLiao 學員您好

    因為這問題老師要花些時間解答

    所以回覆較慢,不好意思讓您等待

    最近林寶森老師就會上來post答案囉...

    歡迎你跟老師再討論

    --Dorrie

    2007年1月17日 上午 06:47
  • 你所找到的這篇文章說明的是用 LDAP 的方式查詢 AD 得到 User 的 lastLogonTimeStamp 的數字是從西元 1601 年 1 月 1 日到 User 上次登入中間間隔的時間, 而且該時間是以 100 nano-second (100 * 10E-9 sec) 為單位來計算的, 所以查詢得到時間數字先除以 (60 * 10000000) 後得到的是分鐘數, 再除以 1440 得到的是天數, 因為 60 * 24 = 1440, 得到天數後再換算成日期, 這個部份程式如果自己寫的話就比較頭大了, 因為有閏年, 每個月的天數也不整齊,

    至於前半段是因為用 VB 程式查詢的話, 64 bits 會分成高低兩個 32 bits 的數字, 所以他還要將兩個數字合併起來, 用 LDIFDE 的話得到的數字已經是 64 bits 了!

    2007年1月18日 上午 11:03
  • 了解, thanks!
    2007年1月19日 上午 12:53