SSDを最適化するためのSuperfetch/Prefetchの有効・無効を設定するレジストリとツールをメモ。

Windows7は両方無効にして、Windows10は有効のままでいいとかいろいろ議論があって結局どっちがいいのかベンチマークしていないのでよくわかりませんが、とりあえず設定方法だけ控えておきます。

レジストリで変更する

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters

無効にする場合、「EnablePrefetcher」「EnableSuperfetch」の項目の値を「0」に変更します。

値の意味

  • 0=無効
  • 1=アプリケーションプリフェッチ有効
  • 2=ブート(システム)プリフェッチ有効
  • 3=両方有効(デフォルト)

Superfetchはサービスで変更にできる

ツールを使う

電机本舗の「SSD最適化」というフリーソフトを使えば簡単にSSDを最適化するための設定が簡単に行えます。ちなみにインストールが不要です。

以下の画面は「SSD最適化」を起動して[メインメニュー]-[SSDの最適化設定]-[手動設定]で開いた画面です。

ただでさえ速いSSDをもっと速くしたい!と常に思っています。現在の自分のSSD環境では達成できませんでしたが、今後の為にメモ。

DSA(Dynamic Storage Accelerator)で高速化

以下の記事によるとIntel Z97/Z87チップセット搭載マザーならUEFIでDSA(Dynamic Storage Accelerator)を有効(Enable)にすると速くできるらしい。使っているASROC Z97 Extreme6のUEFIを確認してみると既にEnableになっていました。

上記の記事中ではDSAをUEFIで設定しただけではだめで、電源プランの変更IRST[パフォーマンス]-[ダイナミック・ストレージ・アクセラレータ]の画面で「高パフォーマンスギア」を選択することと、SSDにIntelのドライバーが適用されていないとダメらしいので、以下からIntelのNVMeドライバーをダウンロードしてSamsung SM961に適用してみました。

IRSTでダイナミック・ストレージ・アクセラレータの画面が出ない場合

以下の記事によると、電源オプション[高パフォーマンス]にしてC-StateEnableにしないと出ないらしい。

C-StateはUFEIのCPUに関する項目にあります。

今回試した環境

条件はは揃っているはずなのにできませんでした。

  • Samsung SM961/SM951 M.2 SSD NVMe版 256GB
  • Intel SSD 520 120GB
  • IRST14.8.0.1042
  • ASROCK Z97 Extreme6
  • Windows 10 Pro

う~ん、SATAとNVMe版SSDでもできるような投稿をたくさん見たんですが、何かが足りないんでしょうね。残念。

メインPCにSamsungのSSD SM951とSM961を使っています。どちらもコンシューマーモデルではないため、Samsung純正のSSDツール「Magician」でメンテナンスができませんが、SSDのパフォーマンスを保つため手動でTRIMコマンドを送信する方法を探していました。

TRIMコマンドの送信って言うけど、コマンドプロンプトとかでできるのかな?と手動でSSDにTRIMコマンドを送信する方法を探してみたのですが、コマンドと言ってもコマンドプロンプトでできるものではないらしいです。

OSによってタイミングが異なるみたいですが、Windows7以上だとOSでTRIMが有効になっていればデフラグとかゴミ箱を空にするタイミングでTRIMコマンドの送信をOSが実行してくれるみたいです。

今回、Windows7/8/8.1/10でTRIMを有効・無効にするコマンドとフリーでTRIMの送信ができるフリーソフトを見つけたのでメモ。

OS側のTRIMの有効・無効を調べるコマンド

OS上でTRIMが有効になっているか、無効になっているかはコマンドプロンプトで調べれるようです。

TRIMの有効・無効を調べるコマンド

> fsutil behavior query DisableDeleteNotify

有効の場合の応答

DisableDeleteNotify = 0

無効の場合の応答

DisableDeleteNotify = 1

TRIMを有効にするコマンド

> fsutil behavior set DisableDeleteNotify 0

TRIMを有効にするコマンド(Windows 10)

> fsutil behavior set disabledeletenotify NTFS 0

TRIMを無効にするコマンド

> fsutil behavior set DisableDeleteNotify 1
OSによって微妙に書式が違うみたいなので、事前にfsutil behavior set /?で書式を確認してみてください。

TRIMの送信ができるフリーソフト

今回、いろいろ調べているうちにIntel SSD ToolboxやSamsung Magician Softwareなどを使わなくてもSSDのメンテナンスができるフリーソフトを見つけました。

株式会社テクシムのTxBENCHhttp://www.texim.jp/)というフリーソフトで、ベンチマーク、Secure Eraseの実行、Trimの送信、S.M.A.R.T.情報の表示、データの消去、ドライブの搭載機能の表示などが行えます。しかも、インストールせずに実行でき、USB接続のSSDでもOKらしいです。

主な機能
  • ベンチマーク
  • Secure Erase
  • Trimを利用した全データの消去
  • データの上書き消去
  • Trim送信によるSSDのメンテナンス
  • S.M.A.R.T.情報の表示
  • ドライブ情報の表示
  • ドライブの自己診断機能の実施

これでちょっと安心です。と思っていたら!?

SSD側がTRIMに対応していなかった...。

早速、SM961/SM951をTxBENCHでTRIMってみようと実行してみたら、まさかの警告...。

「このドライブは、TRIMコマンドに対応していません。」

なんと、Samsung SM961/SM951はTRIMコマンドをサポートしていないらしい。

今までどんなSSDであろうとSSDであれば、どのメーカーのどのモデルでも全部TRIM対応と思っていました...。

確かにCrystal DiskInfoで確認したら確かにTRIMの文字がない...。

コンシューマーモデルの960PROと違い廉価版のSM961はOptionROM非搭載だけかと思っていたらTRIMコマンドにも非対応でした。

まあ、それでも速いからいいんですけど、ちょっと残念です。

バリューサーバー(ValueServer)で独自ドメインのメールを使っているのですが、最近1日に約100通以上のスパムメールが届くようになり、メールの削除作業が面倒になってきました。送られてくる迷惑メールはほぼすべてが海外からの英文メール。

リアルタイムなメールの受信や、いろいろなデバイスでメールができるようにWEBメーラーを使用しています。現在使用しているメーラー側では迷惑メールの設定の画面もなく、メーラー側で迷惑メールのフィルター設定ができません。

じゃぁ、どうすればいいの?

バリューサーバーの管理画面の「ドメインメールの設定・追加」「カスタムフィルター」というのがあり、メールクライアント側ではなく、メールサーバー側に振り分けルールを登録してやれば振り分けれるようです。

カスタムフィルターを登録してみる

例えば、迷惑メールが届くアドレスを仮にaaa@example.comとします。

フィルター1 ウィルスメールはゴミ箱へ

バリューサーバー(ValueServer)ではウィルスメールはメールの件名に「******VIRUS*****」が付いて届きます。

なので、件名に「******VIRUS*****」が含まれたものは直接削除でもいいのですが、振り分けの挙動を見るために今回はゴミ箱(.Trashフォルダ)に入れるようにします。

  • 1行目の条件: [Subject(題名)] が [\*\*\*\*\*VIRUS\*\*\*\*\*] [を含む]
  • 処理: [./.Trash] [に振り分ける]

エスケープ処理と使用できない文字

「*」はエスケープ処理しないといけないので「\」を付けて「\*」にします。その他の文字は以下の通り。

フィルター2 迷惑メールはスパムフォルダへ

バリューサーバー(ValueServer)ではSpamAssassinというもので迷惑メールを判定して、メールヘッダにスパムレベル(*印の数がレベル数になっている)を「X-Spam-Level: ******」といった感じで挿入しているようで、ここをフィルターにかけます。「X-Spam-Flag: YES」でもいいかもしれません。ちなみにフィルターによるメールの振り分けはprocmailというもので行っているようです。

メーラーでメールヘッダーを開いてみたところ

英文メールに限らず、日本語やその他の言語でもSpam Levelが「*****(5)以上」の場合、迷惑メールフォルダ(.Spamフォルダ)に振り分けます。どのレベルがいいかはよくわかりませんがとりあえず5で様子をみたいと思います。

  • 1行目の条件: [ヘッダ全体] が [X-Spam-Level: \*\*\*\*] [を含む]
  • 処理: [./.Spam] [に振り分ける]

※「*」はエスケープ処理しないといけないので「\」を付けて「\*」にします。

メールフォルダーについて

ちなみにバリューサーバー(ValueServer)のメールフォルダーは以下のように「.(どっと)」が付いたフォルダーになっています。

フィルター3 英文メールは全部スパムフォルダへ

  • 1行目の条件: [全体に日本語を含まない]
  • 2行目の条件: [全体] が [.*] [を含む] ←これ絶対必要
  • 処理: [./.Spam] [に振り分ける]

2行目の条件は不要に思えますが、これがないと保存してもこのフィルターの登録が消えます。

そして、この条件を登録するとなぜか英文メールがスパムフォルダに振り分けられると同時に、同じメールが受信トレイにも残り、メールが2重になります。多分2行目に [.*] があるからなんだと思います。

この場合、「ドメインメールの設定」画面でaaa@example.comの「受信方法」を「POP/WEB受信のみ」を「メールを破棄」にします。保存を押すと「破棄」と表示が変わります。

  ↓

破棄して大丈夫なの?

と、フィルターのルールに引っかからない正常なメールも全部受信された時点で破棄されてしまうんじゃないかと思いましたが、ちゃんとメールは届きました。「破棄」にすると英文メールはすべて迷惑メールフォルダへ行き、受信トレイには同じメールが残らなくなりました。

フィルター4 ルールの最後に必要なお約束フィルター

ルールの最後には必ずこのフィルターのルールが必要です。上記以外は全部普通に受信トレイに振り分けるという感じっぽいです。

  • 1行目の条件: [全体] が [.*] [を含む]
  • 処理: [./] [に振り分ける]

おわり

これで取り合えず今のところ迷惑メールの振り分けに成功しています。

ルール設定画面全体のスクリーンショットも残しておきます。

参考サイト

以下のサイトを参考しました。バリューサーバー(ValueServer)以外に同じGMOデジロックが提供しているXREACORESERVERも同じ方法になるかと思います。

 

パソコン、スマホ、タブレットなど、どの端末からでもメールを確認できるWEBメーラー。いろいろありますが、やっとレンタルサーバーで使える理想の物を見つけましたRainLoop Webmail

自前のLinuxサーバーに入れてみたというようなブログはたくんさんヒットしたのですが、レンタルサーバーに入れてみた記事は見当たらず、入れてみたらどうなるのかな~と、現在使用しているバリューサーバー(ValueServer)でも使えたのでメモ。

  • PHP製で無料
  • レンタルサーバーでも動く
  • 設定・設置が簡単
  • DBはSQLiteで設定不要(MySQL、PostgreSQLも使える)
  • 日本語対応
  • リッチなユーザーインターフェース
  • デザインがよくテーマも変更できる
  • スマホやタブレット用のレイアウトあり
  • メールアドレスの切り替えが簡単

パソコンの画面

スマホの画面

デモサイト

こちら↓のデモサイトでデザインの確認と試用ができます。

設置してみる

設置はとても簡単です。ダウンロードしたファイルをアップロードするだけです。データベースはSQLiteがデフォルトで特に設定するものはなく、CMSみたいにデータベースの設定やConfigファイルを事前に準備する作業はありませんでした。

ダウンロード

Downloadページから「Community edition」をダウンロードする。Standard editionというのもありますが、Community editionをダウンロードします。(今日現在のバージョンはv1.10.5.192)

解凍する

ダウンロードした「rainloop-community-latest.zip」を解凍します。

サーバーにアップロード

WEBサーバーにRainLoop用のフォルダをルートでもどこでもいいので、rainloopとかwebmailとか適当にフォルダを作成し、そこに解凍したフォルダの中にある以下の3つをアップロードします。

  • data
  • rainloop
  • index.php

パーミッションを設定

  • フォルダ:755
  • ファイル:644

以上で、設置は完了です。

ログインしてみる

この手の物は足りない物があったりして一発で表示されないことがあったりするのですが、あっさりログイン画面が表示されました。まずは管理画面で設定をします。

管理画面にログイン

http://www.example.com/webmail/?adminのようにアップロードしたindex.phpに対して?adminを付けてアクセス。

初期は以下のユーザーIDとパスワードでログインします。

  • 初期ユーザーID:admin
  • 初期パスワード:12345

?adminが無いと管理画面ではなく、見た目が同じのメーラーのログイン画面が表示されログインできません。

言語を日本語に変更

Englishをクリックして2つとも日本語に変更します。

  ↓

管理者のユーザー名とパスワードを変更

「変更」をクリックするか「セキュリティ」の画面で、新しい管理者のユーザー名とパスワードに変更します。変更すると初期の「admin」と「12345」では入れなくなります。

  ↓

メールサーバーの登録

画面左のメニューにある「ドメイン」をクリックして使用するメールのドメインとメールサーバーの情報を登録します。例えば、メールアドレスがa@example.comの場合、example.comを登録します。

  ↓

扱える受信サーバーPOPではなくIMAPのみです。ここはメールサーバーの登録でメールアドレスの設定ではありません。RainLoopにはメールアドレスの情報を設定するところは無いようです。

  ↓

必要な情報を入力して左下の「接続テスト」をクリックすると、正常に接続できた場合、ボタンと文字が緑色になります。そして「追加」を押して追加を完了します。

メールサーバーがIMAPに対応していればGmailやOutlook.comなどのメーラーとしても使えます。登録がデフォルトであるので、使用する場合はチェックをONにします。今回はexample.comだけチェックをONにします。

メールサーバーの設定を編集(変更・修正)する場合はドメイン名をクリックすると上記のメールサーバーの設定画面が表示されます。

  ↓

迷惑メールフィルタを使用する場合

自分で立てたLinuxサーバーのメールサーバーやレンタルサーバーのIMAPサーバーでmanagesieveの機能が有効になっていれば、SEIVEの迷惑メールフィルタの設定もできるようです。

ちなみにバリューサーバー(ValueServer)には入っておらず、設定を入力して「接続テスト」をクリックしたところ赤文字になってエラーになりました。ポートはほとんどの場合20004190のようですが、どちらを入力してもダメでした。

バリューサーバー(ValueServer)ではSpamAssassinでスパム判定し、procmailで迷惑メールを振り分けていてSEIVEは使用できないようです。

以上で、RainLoopの設置と設定は完了です。

ここで「あれ?メールアドレスの設定は?」と思うかもしれませんが、いくら探してもメールアカウントを指定するページはありません。でもメールBOXは開けるの心配ありません。

メールを開いてみる

ログイン

トップページ(http://www.example.com/webmail/)にアクセスし、メールサーバーに登録してあるアカウント名とパスワードでログインします。

メールサーバーによってはアカウント名はメールアドレスではなく、@マークより前の「a」のみだったりして異なる場合があります。

先ほども記載した通り、RainLoopではメールアカウントを設定するところはなく、ログイン画面のメールアカウントとパスワードを管理画面で設定したメールサーバーに送信してメールボックスを開きます。

別のアカウントに切り替え

同じドメインのメールが他にある場合、「アカウントの追加」で追加すると、a@example.comでログインしてb@example.com、c@example.comを右上のメニューから再ログインなしでメールボックスの表示を切り替えることができて便利です。

  ↓

テーマ

テーマはデフォルトでいろいろあって、どれも感じがいいです。メーラーと管理画面で異なるテーマを設定できるようです。

themeフォルダをいじればオリジナルのテーマに着せ替えることもできそうです。

結局、解決はできたのですが、それまでに時間がかなりかかりました。

画像が少なくてわかりずらいかもしれませんが、忘れないうちにざっとメモっときます。

Windows10でも同じように解決できるようです。

原因はウィルスバスターのtmel.sysでした。

解決までの流れ↓

Windows7が起動できない

昨日まで動いていたパソコンが起動しなくなった

  • パソコンに電源を入れ、Windows7のロゴまでは出るけど、その後真っ暗になって起動しない。
  • スタートアップ修復が自動で始まるが必ず修復に失敗する。
  • F8を押してセーフモードで起動させようとしても、途中まで起動しかけて起動が途中で止まる。
  • Windows7のインストールディスクから起動し、システム復元をしようとしても失敗。

スタートアップ修復のエラー画面の「問題の詳細の表示」を開くと

問題イベント名:Startup Repair Offline

と表示された。スタートアップに問題があるらしい。

Startup Repair Offlineについて調べてみた

"Startup Repair Offline"を検索してみると、BIOSでストレージのモードをAHCIからIDEに変えたら直ったという記事がたくさんヒットしたので、AHCIをIDEを交互に変更してみたけど効果なし。

不良セクターを修復してみる

HDDの不調かな?とHDD generatorHDAT2をCDブートして不良セクター診断をしてみたが、不良セクターは見つからずHDDの故障ではなかった。

MBRを修復してみてもダメ

MBRが壊れているのかな?と思って、インストールディスクからコマンドプロンプトを起動して以下のコマンドを順番に実行してみた。

bootrec /fixmbr
bootrec /Rebuildbcd
bootrec /fixboot

それもで起動せず。

DISKPARTでシステムドライブをアクティブにしてみた

いろいろ調べているとシステムの入っているパーテーションをアクティブにするという記事を見つけた。

  1. コマンドプロンプトでdiskpartと打つ。
  2. list diskと打ってディスク番号を確認
  3. select disk 0と打つ
    (ディスク番号が0だった場合)
  4. list volumeと打ってボリューム番号を確認
  5. select volume 3と打つ
    (Cドライブのボリューム番号が3だった場合)
  6. list partと打ってWindowsの入っているパーテーションを確認
    (通常はアクティブパーテーションには*印がついている。なければアクティブになっていない)
  7. select part 2と打ってパーテーションを選択
    (Windowsの入っているパーテーションが2だった場合)
  8. activeと打ってアクティブ化
  9. 再度、list partと打つとパーテーション2に*印が表示されいればOK
  10. exitを打って終了し、再起動

すると、毎回起動時に始まっていたスタートアップ修復が始まらなくなったが、今度は違うエラー画面が出現...。

tmel.sysに関するエラー出現

tmel.sysがどうのこうのという黒い画面が起動途中で出現するようになりました。

File:tmel.sys
status:0xc0000098
info:□□□□□□□□□□□□□□□□□□

"tmel.sys"を検索してみると、このファイルはトレンドマイクロのウィルスバスターのドライバーらしい。なぜかこのファイルが破損していて、起動時に読み込もうとするとエラーになっている模様。

tmel.sysを上書きしてみる

tmel.sysc:\windows\system32の中にあります。

tmel.sysが壊れているなら、正常なtmel.sysで上書きしら直るかな?とHDDを取り出して他のウィルスバスターの入っているPCにつなぎ、正常稼働しているパソコンのtmel.sysを上書きしてHDDを元のPCに戻しました。でもダメでした。

tmel.sysの読込を無視する

tmel.sysを読み込むからエラーになるのだったら、読込をスキップすれば?と思い、tmel.sysの読込に関するレジストリをいじる方法を検索したらありました!

ざっくりとした流れ

  1. tmel.sysに関するレジストリをすべて削除
  2. Windowsが起動したらウィルスバスターの管理画面からシリアル番号を確認して控える

  3. ウィルスバスターをアンインストール
  4. 控えたシリアル番号でウィルスバスターを再インストール

これで直るらしい。

レジストリの削除方法

参考にしたサイトはこちら↓

  1. Windowsのインストールディスクからコマンドプロンプトを起動
  2. regeditと打ってレジストリエディタを起動
  3. 「HKEY_LOCAL_MACHINE」を選択
  4. 「ファイル」-「ハイブの読み込み」を選ぶ
  5. c:¥windows¥system32¥config¥SYSTEMを選択
    (拡張子なしのSYSTEMというファイル)
  6. 適当にキー名を入力
    (sysでもtempでもなんでもいい)
  7. 「tmel」を検索
  8. ヒットしたところを右クリックで削除
  9. F3を押すと次の「tmel」を検索し削除を繰り返す
    (4つくらいヒットしたので削除)
  10. 「ファイル」-「ハイブのアンロード」を選ぶ
  11. すべて閉じて再起動

すると見事にWindowsが起動しました!!

ここにたどり着くまで2日かかりました。

途中、ブルースクリーンも出ることがあり、クリーンインストールも覚悟しましたがあきらめずによかったです。ウィルスバスターを再インストールして無事に元通りになおりました。

こういった事例があるので、トレンドマイクロも修復ツールとか出せばいいのにとちょっと思いました。

最近のパソコンはBIOS(UEFI)で起動時のNumLockの有効/無効の設定ができないものがあるようです。

Windowsパソコンにログインでパスワードを入力しようとするとき、いつもNum Lockをオンにすることを忘れていてイラっとすることがあります。いちいちNum Lockボタンを押さなくてもいいようになんかいい方法がないかと探してみたらレジストリの設定でできることがわかりましたのでメモ。

Windows10/8.1/7共にレジストリの場所は共通のようです。(値は違いがあるようです。)

レジストリ

  • HKEY_USERS\.DEFAULT\Control Panel\Keyboard

ここにあるInitialKeyboardIndicatorsの値を変更します。

Windows10/8.1

2147483648(デフォルト)

 ↓

2147483650(NumLock有効)

(または2でもいいみたいです。)

Windows8

2147483648(デフォルト)

 ↓

80000002(NumLock有効)

(または2でもいいみたいです。)

Windows7

2147483648(デフォルト)

 ↓

2(NumLock有効)

0(NumLock無効)

ログオン前とログオン後

ログオン前の設定はHKEY_USERS\.DEFAULTをいじればいいみたいですが、ログオン後のNum LockはHKEY_CURRENT_USER\Control Panel\KeyboardにあるInitialKeyboardIndicatorsをいじればいいようです。

ちなみに、HKEY_USERS\.DEFAULTでは2147483648となっているのにHKEY_CURRENT_USER\Control Panel\KeyboardInitialKeyboardIndicatorsを見てみると2になっていました。

まだ試してないのでわからないのですが、Num Lockをオンにする数値は214748365080000002でなくても2だけでいいのかもしれません。

Window7、Windows10のInternet Explorer 11(IE11)のインターネットオプションでローカルインターネットゾーンのサイトの設定をするレジストリのメモ。

[インターネットオプション]-[セキュリティ]-[ローカルイントラネット]-[サイト]にある画面のチェックボックスのON/OFFの設定、[詳細設定]でイントラネットのURL(http://192.168.0.10またはhttp://intranet_web)を登録したとします。

チェックボックスの設定

デフォルトでは「イントラネットのネットワークを自動的に検出する」にチェックが入っています。

それを以下のように変更したとします。

Windows7

Windows10

このチェックボックスの状態のレジストリ

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap

ここにあるレジストリをレジストリエディタで以下のように「0」か「1」に変更します。

AutoDetect
「イントラネットのネットワークを自動的に検出する」にチェックがない状態が「0」
IntranetName
「ほかのゾーンに指定されていないローカル(イントラネット)のサイトをすべて含める」にチェックが入っている状態が「1」
ProxyBypass
「プロキシサーバーを使用しないサイトをすべて含める」にチェックが入っている状態が「1」
UNCAsIntranet
「すべてのネットワークパス(UNC)を含める」にチェックが入っている状態が「1」
Windows7

Window10

イントラネットのURLの登録

[詳細設定]ボタンを押して表示される画面でイントラネットのWEBサイト(http://192.168.0.10)を登録したとします。

この状態を設定するレジストリ

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1

この場所に以下のレジストリを登録します。

:Range
文字列値(REG_SZ) 値のデータ:192.168.0.10
http
DWORD値(REG_DWORD) 値のデータ:1

ドメインで登録する場合

イントラネットのサイトをIPアドレスではなく、ドメインで登録する場合は以下のようになります。イントラネットのサイト名が仮にintranet_webでhttp://intranet_webでアクセスできるサイトだったとします。

この場合のレジストリ

IPアドレスでアクセスする場合とは異なり、以下のレジストリの登録となります。

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\intranet_web

ここに以下の登録をします。

http
DWORD値(REG_DWORD) 値のデータ:1

レジストリを変更するコマンド

バッチファイルで手っ取り早くレジストリを変更したいときは以下を使用。

@echo off


set REGROOT="HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap"

reg add %REGROOT% /f /v "AutoDetect" /t REG_DWORD /d "0" 
reg add %REGROOT% /f /v "IntranetName" /t REG_DWORD /d "1"
reg add %REGROOT% /f /v "ProxyBypass" /t REG_DWORD /d "1"
reg add %REGROOT% /f /v "UNCAsIntranet" /t REG_DWORD /d "1"


set REGROOT="HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1"

reg add %REGROOT% /f /v ":Range" /t REG_SZ /d "192.168.0.10" 
reg add %REGROOT% /f /v "http" /t REG_DWORD /d "1"


set REGROOT="HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\intranet_web"

reg add %REGROOT% /f /v "http" /t REG_DWORD /d "1"


pause

Windows8/8.1とIE9、IE10は環境がないのでわかりませんが同様ではないかと思います。

手動でブログやホームページのsitemap.xmlなどのサイトマップを送信する際、ウェブマスターツールを開くのが面倒なので、URLを開くだけで送信できるリンクをメモ。

ただ、これはWordPressやMovableTypeの更新通知先にも登録して使っているもので、ただそのリンクをブラウザで開くというだけのものです。また、事前にウェブマスター登録をしておく必要があります。(多分)

サイトマップ送信リンク

例えば、当ブログのサイトマップがhttp://qwerty.work/blog/index.xmlだっとしたら以下のようになります。

「:」「%3A」「/」「%2F」としてURLエンコードした文字列にしています。

リンクを開くとサイトマップを受け付けた旨のメッセージが表示されます。

Bing

Google

Yahoo

現在はサイトマップの受付はしていませんが、以前は以下で送信できていました。

ウェブマスターツール

固定IPを使用するLANの中で、今どのIPアドレスが空いているか適当にpingを打ってみることがありますが、連続して応答が返ってくるとちょっと疲れます。1~254まで全部手動で行うのは面倒なので、コマンドの例を探したらありましたのでメモ。

コマンドプロンプトの例

例えば、192.168.0.2~192.168.0.10を調べる場合

指定した範囲でpingarpを連続で打つコマンドです。

for /l %i in (2,1,10) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i

最初の(2,1,10)は変数「%i」を2から10まで1ずつ加算していくことを表しています。

結果のログをテキストファイルで残す場合

コマンドの後ろに>> result.txtなど任意のファイル名を記載します。

for /l %i in (2,1,254) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i >> result.txt

上記のようにファイル名のみ指定すると、ファイルの保存先はコマンドを実行したディレクトリに保存されます。(ほとんどの場合、ユーザーフォルダ)

分かりやすい場所に保存する場合はd:\result.txtなど、任意のディレクトリに変更します。

バッチファイルを作る場合

このコマンドをバッチファイルにする場合は、3カ所ある「%i」「%%i」にして「.bat」の拡張子を付けた名前で保存します。

for /l %%i in (2,1,254) do ping -w 1 -n 1 192.168.0.%%i && arp -a 192.168.0.%%i >> result.txt

結果について

応答があったもののみがテキストファイルに出力されていますので、ここにないIPアドレスが空いているということになりますが、たまたま電源が入っていない機器も含まれるので注意が必要です。

PowerShellのスクリプトの例

こちらはPowerShell192.168.0.1~192.168.0.255まで連続でpingを送信するスクリプトです。以下のスクリプトをPowerShellに貼り付けるか、メモ帳で「.ps1」という拡張子を付けて保存します。

$date = Get-Date -Format _yyyy_MMdd_HHmmss
for ($i = 1; $i -lt 255; $i++) {
        ping 192.168.0.$i >> pinglog$date.txt
}

実行すると、実行結果の入ったテキストファイルが「pinglog_2016_1127_092028.txt」のようなファイル名で実行ディレクトリに保存されます。