2008-09-15 3 views
1

アプリがオフラインで実行されている場合でも、アプリが有効な「ドメインに最後に接続した時間」タイムスタンプをWindowsから取得するにはどうすればよいですか?いつ私は最後に私のドメインサーバーと話しましたか?

背景: 私は、社内の複数のクライアントマシンで実行されるアプリケーションを作成しています。これらのクライアントマシンはすべて私の会社によって実装されたADドメインの1つにあります。このアプリケーションは、クライアントマシンが一定期間ADと通信していない場合、一定の措置を講じる必要があります。

このアプリを実行しているマシンが盗難されている可能性があります。たとえば4週間、アプリケーションは、マシンが4週間ADドメインと通信していないことを検出したため、動作を拒否します。

このサービスはローカルサービスアカウントとして実行されている可能性があるため、これをユーザーアカウントに関連付けることはできません。それは私が興味を持っているコンピュータとドメインの関係です。

WinNT://<domain>/<machine>$,userは、オフラインでは機能しないため、検討して拒否しました。また、LDAP://...ルックアップはオフラインでは機能しません。

私はまた、このクエリのスケジュールを日単位で検討し、タイムスタンプをレジストリまたはファイルに保存することを検討し、拒否しました。このソリューションはあまりにも多くのセットアップとコーディングを必要とします。この値の他に、単にWindowsによってローカルに保存されなければなりません。

答えて

1

この値がクライアントマシンに格納されているとは思いません。これはActive Directoryに保存されており、Dsqueryツールを使用して非アクティブなマシンのリストを取得できます。

あなたのプログラムにDCへの接続などの簡単なテストを行い、そのアクションのタイムスタンプを保存することをお勧めします。

0

IMHO私は、クライアントマシンがADと最後に通信したタイムスタンプを保存するとは考えていません。この情報はアクティブディレクトリ(つまりDC上)に保存されます

ユーザーがWindowsマシンにログインすると、資格情報がキャッシュされます。そのマシンがネットワークから切断されている場合、資格は永遠に持続します。グループポリシーでこの機能をオフにすることができます。そのため、マシンは資格情報をキャッシュしません。

関連する問題