社内SEの徒然なる日記

Windowsのスタートアップ/シャットダウンスクリプトが実行されない

■ スクリプト実行問題

前回、Windows10のgpedit.mscを使用してパソコンの電源ON/OFFの時に自動的にスクリプトを実行される記事を書きました(Windowsで終了時に処理を実行したい)。

なのですが、どうも動いている形跡がありません。テストのときには問題なく動いていたのですが、これは一体・・・

何かヒントがないかと思って、電源を入れた辺りのログ見ていたら、何やらスリープ状態から再開とか出ています。
起動スクリプト動作問題 - 1

操作としては、こうやってシャットダウンしていました。改めて、この方法でシャットダウンしたのですが結果は変わらず。
起動スクリプト動作問題 - 2

Windows10(8からだったか?)の頃から、電源OFFの時の動作がスリープになるようなことは聞いた覚えがありますが、まさかこれが原因なのか?

上記のシャットダウンをShiftキーを押しながら実行すると、完全にシャットダウンされるらしいので試してみたのですが、そうすると処理が動いてくれました。

毎回Shiftキーは辛いので、高速スタートアップを無効にしました(手順は、過去の記事を参照:Windowsで起動時に自動的にNumlockをオンにする)。起動/終了処理が若干遅くなりましたが、私のパソコンはSSDなので大差ありません。これで良しとしましょ。

■ 後書き

それにしても、これってバグの一種じゃないかと思います。よく言っても考慮不足。

いつかのNumLockの時も同じような現象が出ましたが、明示的にシャットダウンの操作として設定した内容が、シャットダウンという操作をしても反映されないというのは変だと思います。

将来的にパッチで直るなら良いのですが、多分、このままなのでしょうね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

Windowsで起動時に自動的にNumlockをオンにする

■ NumLock

この前、パソコンをWindows10に乗り換えたのですが、パソコン起動時に数字キー(テンキー)が入力できません。何かと思ったら、NumLockがOFFになっています。

そういえば、以前のPCでも初期設定時にNumLockをONにするようにレジストリキーをいじった記憶があります。

■ Windows7まで(レジストリキーの修正)

「Windowsロゴ」を右クリックして、「ファイル名を指定して実行」をクリックします。
Windowsで起動時に自動的にNumlockをオン - 1

regeditと入力してOKをクリックします。
Windowsで起動時に自動的にNumlockをオン - 2

「HKEY_USERS」-「.DEFAULT」-「Control Panel」-「Keyboard」をクリックして、「InitialKeyBoardIndicators」の値を2に書き換えます。
Windowsで起動時に自動的にNumlockをオン - 3

これでOK!

・・・だったはずなのですが、既に2になっていました。設定方法が変わったのかな?
(パソコンの初期設定は別の方にやってもらっていたので、以前の方法で設定したものと思われます)

■ Windows10(レジストリキーの修正&高速スタートアップ

調べてみると、Windows10では設定する値が異なっているそうです。

ということで、値を「2147483650」に書き換えました。
Windowsで起動時に自動的にNumlockをオン - 4

だが、これでも直りません。どうやら、Windows10の場合はさらに考慮が必要らしいのです。

「Windowsロゴ」を右クリックして、「コントロールパネル」をクリックします。
Windowsで起動時に自動的にNumlockをオン - 5

「システムとセキュリティ」をクリック。
Windowsで起動時に自動的にNumlockをオン - 6

「電源オプション」をクリック。
Windowsで起動時に自動的にNumlockをオン - 7

「電源ボタンの動作の選択」をクリック。
Windowsで起動時に自動的にNumlockをオン - 8

「現在利用可能ではない設定を変更します」をクリック。
Windowsで起動時に自動的にNumlockをオン - 9

高速スタートアップを有効にする(推奨)」をOFFにして、「変更の保存」をクリック。
Windowsで起動時に自動的にNumlockをオン - 10

ここまでやって、ようやく起動時にNumLockがONになりました。

■ 後書き

この結果から、「高速スタートアップを有効にする」がONだと、本来は起動時に初期化される(というか取得すると言うべきか)情報がどっかに抱えられたままになるのだと思います。

多分、この辺りの技術情報は探せば出てくると思うのですが、面倒なので調べる気になりませんでした。

しかし、この高速スタートアップって良さそうで悪い。設定した内容が思うように反映しないって結構致命的な気がします。何というか、Windowsファイアーウォールに匹敵する嫌らしさです。

・・・まぁ、私のパソコンのディスクはSSDなので、どっちでも大差ない時間で起動するんで高速スタートアップなんて使えなくても良いんですけどね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

PowerShellの実行ポリシーを変更してみた(Windows10)

■ Windows10

パソコンがWindows7からWindows10(64bit)に変わったのですが、これまで使っていたPowerShellのスクリプトを実行すると、エラーが発生しました。


このシステムではスクリプトの実行が無効になっているため、ファイル D:¥*****¥StartDate.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(http://go.microsoft.
com/fwlink/?LinkID=135170) を参照してください。
+ CategoryInfo : セキュリティ エラー: (: ) []、ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess




そういえば、PowerShellって最初に実行ポリシーを変更する必要がありましね(powerShellの実行ポリシーを変更してみた(Windows7))。

前とメッセージが違っている気がしますが、良くあることかと思って下記のコマンドを実行しました。


Set-ExecutionPolicy RemoteSigned



すると、再びエラーが発生しました。


Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥PowerShell¥1¥ShellIds¥Microsoft.PowerShell' へのアクセスが拒否されました。 既定 (LocalMachine) のス
コープの実行ポリシーを変更するには、[管理者として実行] オプションを使用して Windows PowerShell を起動してください。現在のユーザーの実行ポリシーを変更するには、"Set-ExecutionPolicy -Scope CurrentUser" を実行してください。
発生場所 行:1 文字:1
+ Set-ExecutionPolicy RemoteSigned
+ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+ CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand




・・・・・・・・そうですか。まぁ、良いですけどね。

ってことで、「スタート」-「Windows PowerShell」-「Windows PowerShell」を右クリックして、「その他」-「管理者として実行」で起動して、同じコマンドを実行しました。


Set-ExecutionPolicy RemoteSigned




実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution
のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"):




うん、良い感じです。このまま Y を入力してEnterキー押下。これで動くようになりました。

■ 後書き

Windows10になってから、やたらと「管理者として実行」が云々とかいう警告が表示されるようになりました。大抵の場合、そのまま「はい」と押せば処理が実行できちゃうのですが、これ、何の意味があるんでしょう?

セキュリティ向上の一環だとは思いますが、私が使っている環境では、単にオペレーションが増えて面倒になっただけです。何だかね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

IEがやたらと遅いと思ったらDllHost.exeとESENT.dllで障害発生してた

■ ブラウザが遅い!

ある日、私が管理している基幹システムの動きが遅いという問合せを受けました。それも、その方が使っているパソコンだけが異様に遅いというのです。

・・・何でしょうね?

原因切り分けの為に色々と触ってみたのですが、どうやら遅いのはシステムが云々じゃなくてブラウザ自体のようです。

OSはWindows7、ブラウザはIE11。パソコンは3〜4年前に購入したモノなのですが、性能的には十分に動くはずです。

■ 色々実験

IEが遅い場合、その原因って山のようにあるので絞込みが大変です。とりあえず、一時ファイルの削除とかプロキシサーバの設定とか多少変更してみたのですが、状況変わらず。

IEをアドオンなしで起動(スタート → すべてのプログラム → アクセサリ → システムツール → Internet Explorer (アドオンなし))も試しましたが、やはり動かない(というか、IEがフリーズした)。

設定が消えるので嫌だったのですが、IEの設定リセット(インターネットオプションの詳細設定タブのリセットボタン)まで試したのですが、これでもダメ。

ここで覚悟を決めて、IE11をアンインストールします(スタート → コントロールパネル → プログラムのアンインストール → インストールされた更新プログラムを表示。一覧からInternet Explorer11を選択して右クリック → アンインストール)。

これでIE8に戻ったのですが、IE8の状態だとサクサク動きます。これならと思ってIE11を再インストール。しかし、これで状況再現してしまいます。

・・・・・・・・・うーん、困った。

■ 原因

ここまで試して、ようやく真面目に調査する気になりました。

何というか、ウィルスに感染したとか、システム自体が破損しているとか、妙なことになっている気がしたのです。

とりあえず、インストールされているウィルスチェックソフトを起動してパターンファイルの更新日時が新しいことを確認し、完全スキャンを実施。

それと並行して、Windowsのログを見てみます(デスクトップ上のコンピュータを右クリック。管理をクリック)。
DllHostexe - 1

・・・ん?何やらApplication Errorが多発しています。

詳細を見てみます。
DllHostexe - 2

障害が発生しているアプリケーション名: DllHost.exe、バージョン: 6.1.7600.16385、タイム スタンプ: 0x4a5bc6b7
障害が発生しているモジュール名: ESENT.dll、バージョン: 6.1.7601.17577、タイム スタンプ: 0x4d79b255
例外コード: 0xc0000005
障害オフセット: 0x000ed5b6
障害が発生しているプロセス ID: 0x14a4
障害が発生しているアプリケーションの開始時刻: 0x01d281a52b683cf4
障害が発生しているアプリケーション パス: C:¥windows¥system32¥DllHost.exe
障害が発生しているモジュール パス: C:¥windows¥system32¥ESENT.dll
レポート ID: 6933bf02-ed98-11e6-910f-f80f4172b801


どうやら、IEが起動するたび(というか、IEでページを表示するたび)に、このエラーが発生しているようです。

これが原因かな?


問題の「DllHost.exe」。これが、「C:¥windows¥system32¥DllHost.exe」にある場合は、Windows自体のファイルなので問題ないらしいです。

ただし、それ以外の場所にあったならウィルスの可能性が高いそうです。

そして「DllHost.exe」自体が何をやっているのかは、・・・分からん。

■ ESENT.dll

ログを見ると、実際には「ESENT.dll」なるものでエラーが起きているようです。どうやら本命はこっちみたいですね。

表面的に調べただけなので確証は無いのですが、どうやら「ESENT.dll」はIEの一時ファイルの管理に使用されているらしいです。それも、IE10以降から。

・・・うん、だとすると、IE8だとサクサク動いた理由が説明できますね。

さらに情報を集めてみたのですが、IEの一時ファイルを保存するフォルダが増えているようです。

片方は、コレ。

%userprofile%¥AppData¥Local¥Microsoft¥Windows¥Temporary Internet Files

んで、問題のWebCacheって方は、コレ。

%userprofile%¥AppData¥Local¥Microsoft¥Windows¥WebCache

■ 対応方法

さて、どうやらWebCacheってフォルダの中に入っているデータを全削除すれば問題が解決するようです。

ようですと言うのは、実際には試していないから分からないってこと。

実は、この記事を書いている途中でWebCacheフォルダの削除って方法を知ったのです。その時は、正直別件で手が廻らなくて別の人間に頼んでパソコンの再セットアップをして貰っていました。

うーん、残念です。

しかし、このWebCacheってやつの中身。これまでの経緯だとIEのインターネットオプションからの操作だと消えないって事でしょうか。せめてIEのリセットとかアンインストールの辺りで消してくれればいいと思うのですが。

後は、市販(あるいはフリー)のゴミ掃除ソフト(私が使っているのはCCleaner)辺りを使ったら、もしかしたら解消したのかも知れないですね。

まぁ、これも今更ですが。

■ 後書き

しかし、使用者のレベルで「他の人は遅くない」とか切り分けて話してくれるのは助かります。パソコンを魔法の箱だとでも思っているのか、日本語が通じない方が多いのは困ったものです。

今回の対応、現地じゃなくて遠隔操作ソフトから行っていたのですが、途中で何度か入ったパソコンの再起動の時も、こちらから何も言わなくてもログイン時にIDとパスワードの入力までやってくれました。

こういう方が相手だと、楽で良いです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

IE11の互換表示が消えるので消えなくした!(また、Microsoftか・・・)

■ IE11の互換表示が消える

勤め先のとある部署から、あるホームページが見えなくなったと問い合わせが来ました。

色々と調べていくと、ちと古い作りらしくIEの互換表示設定に追加しないとダメだったみたいです。それを追加して解決したかなって思ったのですが、「これ、前にも追加してもらったんだけど、勝手に消えるんだよね」と言われたのです。

ん?なんでだ?

■ 原因

軽く調べたところ、どうやらIEの互換表示設定は履歴データの一部として保持されるらしいのです。

そのため、IEの履歴が消えたタイミングで互換表示設定に追加した情報も消えるようなのです。正直、バグとしか思えないんですけど仕様らしいです。

また、お前(Microsoft)か。

自分でも試してみたのですが、確かに履歴を削除してからIEを再起動すると、互換表示設定から消えてしまいます。

■ 対応

しかし、過去に私が対応してきたユーザー事例の中には互換表示が消えるなんて人はいませんでした。IE11なんて随分と昔から使っているんだし、そんな障害が頻発しているなら私が知らない訳がありません。

何でだろって思いながら、IEの履歴削除の画面を見ると、一番上に「お気に入りWebサイトデータを保持する」というチェックボックスがあります。
IE11の互換表示が消える - 1

・・・あぁ、これか。

ってことで、問題のホームページを「互換表示設定」と「お気に入り」の両方に追加して、「閲覧の履歴の削除」画面で「お気に入りWebサイトデータを保持する」をONにした所、履歴を削除しても互換表示設定は消えなくなりました。

■ 後書き

今回の件、普段の主業務がヘルプデスクの人に聞いてみたら「そう、消えるんだ。だから履歴を削除しないようにしてる」とか言っています。

・・・いや、間違っちゃいないけど、色々とWebシステムを使っているのに履歴の削除を封印させたらトラブル時に困るでしょう。

というかさぁ、そういう情報って共有するべきだよね。人員の固定が激しい部署のせいか、情報共有をしようって雰囲気がない。

これ、何とか切り崩したいと思って色々とやってるんだけど、考え方の凝り固まった人を相手にするより、将来のある若い子に託した方が良いかとも思う今日この頃です。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop