C#を使用してリモートコンピュータの日付、時刻、およびタイムゾーンを設定する

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

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

4
WMIを使ってこれを行うことができますか?あなたはこれを可能性としてチェックしましたか?また、このリンクを見てみてください..
追加された 著者 MethodMan,
Win XPでサポートされているWIMを使用できます。基本的なスクリプトについてはこちらをご覧ください: blogs.technet.com/b/heyscriptingguy/archive/2007/11/16/…
追加された 著者 Patrick Pitre,

2 答え

WMIと.NETを使用したリモートプロセスの実行は、オンラインで広範に文書化されています。 date time tzutil 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);
3
追加された
'args'の文字列が正しくエスケープされませんでした。私は今それを変更した、それは正しく動作するはずです。
追加された 著者 Abbas,

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

2
追加された