2011-12-19 25 views
4

C#を使用してリモートコンピュータの日付、時刻、およびタイムゾーンの設定を設定するにはどうすればよいですか? 基本的には、ネットワーク上の選択したマシンの時刻を更新したいと考えています。C#を使用してリモートコンピュータの日付、時刻、タイムゾーンを設定する

タイムサーバーを作成することは、ユーザーが選択したコンピューターでのみ時刻を更新するためのオプションではありません。すべてのリモートコンピュータは、Windows XP以上のオペレーティングシステムを実行しています。

+0

が、これは使用して行うことができますWMI ..?あなたはこれを可能性としてチェックしましたか?また、このリンクを参照してください。 – MethodMan

+0

Win XPでサポートされているWIMを使用できます。基本的なスクリプトについてはこちらをご覧ください:http://blogs.technet.com/b/heyscriptingguy/archive/2007/11/16/hey-scripting-guy-how-can-i-set-the-date-and-time -on-a-computer.aspx –

答えて

3

WMIと.NETを使用したリモートプロセスの実行は、オンラインで広範に文書化されています。 datetimetzutil DOSユーティリティを実行して、必要な処理を実行することができます。しかし、私はPsExecが行く方法だと思う。

コンピュータに1.6 MBのユーティリティを一度ダウンロードし、それを使用してXPマシン上のすべての種類のリモートプロセスを実行する必要があります。ここでは、あなたがPsExecはを使用して中部標準時にタイムゾーンを変更することができます方法は次のとおりです。

psexec \\RemPC01 TZUTIL /s "Central Standard Time" 

あなたは.NETコードのビットでこれをラップすることができ、それはあなたが欲しいものを行う必要があります。

string remoteMachine = "RemPC01"; 
string appName = "psexec.exe"; 
string args = string.Format("\\\\{0} TZUTIL /s \"Central Standard Time\"", remoteMachine); 
Process.Start(appName, args); 
+0

'args'の文字列が正しくエスケープされませんでした。私は今それを変更した、それは正しく動作するはずです。 – Abbas

2

これを行うには、PsExecを使用することをおすすめします。おそらく、あなたのアプリケーションと組み合わせて使用​​します。それはリモートコンピュータへのコンソールアクセスを提供し、あなたが探しているコンソールコマンドは時間を変更する "時間"です。

関連する問題