« Win10でQTClipの設定ファイルを開けない | トップページ | Windows10でふすま紙を透明にする »

2017年2月 6日 (月)

Windows10で時刻合わせできない

症状

★ Windows10で時刻合わせができない
★ 時刻合わせ用のアプリが動かない。エラーが出る。時刻が変わらない。
★ 時刻合わせ用のバッチファイルが動かない

Windows10はセキュリティが強化され、「管理者として実行」の設定を必要とする場面が増えました。しかし、あるアプリの特定の機能を使うために「管理者として実行」を設定すると、そのアプリのほかの機能が使えなくなったり、別のアプリやプログラムからの操作ができなくなったりすることがあります。

ここでは主に ねこみみ さんの月時計 MClock.exe について説明しますが、アプリやプログラミング言語、バッチファイルから時刻合わせができない原因はどれも同じで、Windows8までのOSとくらべて、Windows10のセキュリティが強化されたためです。

月時計の場合、「管理者として実行」を設定すれば、時刻合わせはできますが、月時計をスタートアップから起動できなかったり、コマンドラインから再起動できない、などの問題が起きます。

月時計で時刻を合わせる

エラー

Windows10 で時刻合わせに失敗する場合、月時計の設定ファイル(標準設定ではMClock.INI) をQXなどのテキストエディタでひらくと、[TimeAdjust] セクションに LastError=17/01/30 13:02:31 というようなログが残っているはずです。
時刻合わせが正しくおこなわれた場合、LastAdjust=17/02/01 09:23:09 --> 09:23:10 (+00:00:00.489) のようになります。

《注》 LastError ではなく「ホストアドレス取得失敗」が出る場合は、[TimeAdjust]セクションで指定した URL がまちがっているか、指定したタイムサーバがなんらかの理由で使えない状態です。システムダウンとか、サーバが廃止されたとか。

URLの指定は、こんな感じ。
[TimeAdjust]
Server=ntp.nict.jp

ローカルポリシー

ローカルポリシーを変更すれば、月時計から時刻合わせができるようになる……はずなのですが、私のパソコンでは、できませんでした。
Windows7で日付時刻の変更をできないような設定にしたいです。 … - 人力検索はてな
↑↑↑↑ 日付時刻の変更をできないようにする説明ですが、これの逆をやってください。説明が分かりやすいので、リンクを張ります。Windows10でもやり方は同じです。

管理者として実行

エクスプローラで MClock.exe を選択し、右クリックして「プロパティ」 → 「互換性」とたどり、「管理者としてこのプログラムを実行する」にチェックを入れ、「OK」して閉じます。
この状態で MClock.exe へのショートカットをクリックしたり、ランチャーなどから起動すれば時刻合わせができます。

スタートアップから起動できない

Windows10では「管理者としてこのプログラムを実行する」にチェックの入ったアプリはスタートアップから起動できません。よって、上のようにプロパティの設定を変更したMClock.exe へのショートカットをスタートアップに入れると、パソコンをつけたとき、月時計は起動しません。

説明は、下のサイトへ。
スタートアップに登録したアプリが起動しない!【Windows 10移行相談室】 - 窓の杜

>Windows 10はセキュリティ強化をしているためか、[互換性]タブの[管理者としてこのプログラムを実行する]にチェックを入れたショートカットファイルは実行されないケースが多い

[Win10] ソフトウェアを常に『管理者として実行』する方法 | パソコン@エンジニアの休日

>常に『管理者として実行』するやり方は2通りあります。1つはショートカットアイコン毎に管理者として実行するか否かを決める方法と、もう1つは実行ファイルに管理者として実行するか否かを決める方法です。

タスクスケジューラかバッチファイルを使えば、パソコンをつけたとき月時計を起動することができます。

タスクスケジューラを使う

下のサイトに画像つきのくわしい説明があります。タスクスケジューラを使ったことのない人には、ちょっとめんどうかもしれませんが、設定は一回だけです。興味がある人はサイトに行ってください。

Windows10 - 管理者権限が必要なアプリを自動起動(スタートアップ) - PC設定のカルマ

バッチファイル経由で起動

★ バッチファイルを作る

"C:\command\start_MClock.BAT"というような名前のファイルをどこかに作ります。ファイルの中身はつぎのとおり。

"C:\command\start_MClock.BAT" の中身

@ECHO OFF

start "" "C:\softs\月時計\MClock.exe" "-IMClock_New.INI"

exit

実質、真ん中の一行だけ。start のつぎの "" は、あとに続く文字列がダブルクォーテーションで囲まれている場合、バッチのタイトルとみなされるのを防ぐための空打ち。なくても動きますが、念のため。

★ バッチファイルへのショートカットを作る

上のバッチファイルへのショートカットを作り、それをスタートアップに入れます。

"C:\command\start_MClock.BAT - ショートカット.lnk"

スタートアップにショートカットを入れるとき、ショートカットのプロパティの『管理者として実行』はチェックしないでください。

ほかのやり方

インターネット時刻設定

コントロールパネルから「インターネット時刻設定」を出して、「今すぐ更新」ボタンを押す。
このやり方は、時計が遅れてると気づいたときにすぐ実行できるし、時刻合わせがうまくいったかどうか結果が表示されます。
[Windows10]時計の時刻や日付にズレが生じる~日付と時刻の設定・修正・変更の設定方法

無駄話

普通、コントロールパネルはスタートボタンの右クリックメニューで出すのだろうけど、コマンドおじさんはバッチファイルやキーボードランチャーを使う。
おじさんのパソコンで、コマンドラインから timedate.cpl で呼び出した「日付と時刻」-「インターネット時刻」は、

'time.windows.com'と同期するように設定されています。
前回の同期の状況の取得中にエラーが発生しました。

と表示される。ところが、コマンドラインから CONTROL でコントロールパネルをひらき、「日付と時刻」-「インターネット時刻」とたどると、

'ntp.nict.jp'と同期するように設定されています。
時計は正常に 2017/02/06 18:40:28 に ntp.nict.jp と同期しました。

となる。これはスタートボタンの右クリックメニューからひらいたのと同じ。なんで timedate.cpl のときだけ違うデータが表示されるのか分からん。

タスクスケジューラ

「管理ツール」の「タスクスケジューラ」を使って、時刻合わせを毎日おこなうように変更。
Windows10の時刻合わせは、標準設定では週に一回ですが、毎日やるように変更することもできます。ただし、これは実行結果が表示されません。うまくいったかどうか調べるには「日付と時刻」-「インターネット時刻」をひらくしかなく、二度手間になります。
インターネット時刻の同期頻度を変更する

バッチファイル

Windows10ではバッチファイルから時刻設定をすることはできません。w32tm も net time /set もダメ。net time /setは、もともと時刻合わせのためのコマンドではないそうですが。

「管理者として実行」によるトラブル

月時計と HotQ

上にも書いたように、「管理者として実行」を設定した月時計は、MClock.exe -R によってコマンドラインから再起動することができません。
同じく HotQ も「管理者として実行」を設定すると -R オプションが使えなくなります。
コマンドおじさんは、月時計も HotQ も、設定ファイルをQXで編集したあと、自動実行マクロから再起動しているので、 -R オプションが使えないのは、すごく不便。

QXと QTClip

QXエディタを「管理者として実行」に設定すると、QTClipから貼りつけができなくなります。QTClipの設定ファイルをQXでひらくこともできなくなります。説明は、こちら。
Windows10でQTClipから貼り付けできない
Win10でQTClipの設定ファイルを開けない

そのほかのアプリ

ほかにもいろいろなアプリでトラブルが起きると思います。「管理者としてこのプログラムを実行する」にチェックを入れたあとで動作がおかしくなった場合は、いちどチェックを外してみてください。そのあとパソコンの再起動が必要な場合もあります。

まとめ

「管理者として実行」という言葉だけ見ると、強い権限でもって、なんでもできるかのように思えますが、実際には、そうではありません。
月時計は、時刻合わせができる代わりに、ほかのアプリからの変更を受けつけなくなります。
QXエディタは姉妹ソフトである QTClip からの入力すら受けつけなくなります。
「管理者として実行」は、できれば使いたくない設定です。ここまで長い説明をしてきて、なんじゃそりゃ、と思うかもしれませんが、あれこれやってみたからこそ、これは使えない、というが正直な感想です。

「管理者として実行」は、おすすめしません。

おまけ

で、結局、コマンドおじさんはどうしているかというと、月時計はスタートアップからではなく、QTClipから呼び出しています。QXを呼び出すのと同じバッチファイルで、五分後に月時計を起動。いまはすぐ起動してもいいのだけど、昔、パソコンが遅かったころのバッチファイルをそのまま使っています。
HotQ ではなく QTClip を使うのは、スタートアップには QTClip のアイコンしか入れてないから。HotQ は便利すぎて、つい遊んでしまうので、スタートアップには入れてません。わざと不便にしているのです。
パソコンをつけたら、まずQXを起動して文章を書く。ほかの作業はあとまわし。いろんな作業をさっさとやるには HotQ が不可欠です。極端なキーボード派のおじさんは、あのキーボードランチャがないとパソコンは使えません。

肝心の時刻合わせは、Windows7までは月時計のタイマー機能で一日に一回だけおこなっていました。いまは、QTClipかHotQからコントロールパネルをひらき、「日付と時刻」-「インターネット時刻」-「今すぐ更新」ボタンを押しています。

月時計は使わないのか、と突っ込みが入りそうだけど、そのとおり、時刻合わせには使っていません。それでも、月時計は毎日、起動しています。時刻合わせのほかにも、いろんなことに使うので。

 
QXエディタ入門

 ネット検索では一部しかヒットしません。記事は目次から探してください。
   記事の訂正などの最新情報は、こちら。総合案内(おしらせ)

                  ┏よくある質問
                  ┃QXの設定
                  ┃標準設定のQXを使う
       すべての目次━╋QXを使う
                  ┃マクロ
                  ┃QTClip QGREP どこでもホイール
                  ┗パソコンが苦手なかたへ

   QXエディタ入門からGoogleで
   サイト内検索のコツ

 

|

« Win10でQTClipの設定ファイルを開けない | トップページ | Windows10でふすま紙を透明にする »