0

ADSI を使用して maxpwdage 値と pwdlastset 値を取得します。

パスワードの有効期限を確認したいのですが...

hr = pDomain->get_MaxPasswordAge(&ret);

maxpwdage は 432000 を与えます...

hr = pUser->get_PasswordLastChanged(&expirationDate);

pwdlastset は 41176.470196759263... を返します

この値を使用してパスワードの有効期限を達成する方法は?

4

1 に答える 1

1

MaxPasswordAge

  • ユーザーがパスワードを変更しなければならないまでの最大時間間隔を秒単位で示します。

パスワードが最後に変更されました

  • パスワードが最後に変更された時刻。

MaxPasswordAge を PasswordLastChanged に追加する必要があります。

VARIANT 日付

タイプ: 日付

  • 日付と時刻の値。日付は、1900 年 1 月 1 日午前 0 時が 2.0、1900 年 1 月 2 日が 3.0 などの倍精度数値で表されます。

  • 日付は、VariantTimeToDosDateTime を使用して MS-DOS 表現との間で変換できます。

これは、1.0 が 1 日を表すことを意味します。

WTypes.h から:

typedef double DATE;

そう:

DATE expirationDate;
VARIANT vtExpDate;

expirationDate += (double)(ret / 86400);

vtExpDate.vt = VT_DATE ;
vtExpDate.date = date ;

86400 = 24 * 60 * 60 = 秒/日

次に、VariantTimeToDosDateTimeを使用して、人間が読める日付を取得します。

于 2012-10-30T09:41:42.057 に答える