最近のパソコンはBIOS(UEFI)で起動時のNum LockのON/OFFの設定ができないものがあるようです。

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

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

レジストリ

  • HKEY_USERS\.DEFAULT\Control Panel\Keyboard

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

Windows10

2147483648(デフォルト)

 ↓

2147483650(Num Lockオン)

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

Windows8.1

2147483648(デフォルト)

 ↓

80000002(Num Lockオン)

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

Windows7

2147483648(デフォルト)

 ↓

2(Num Lockオン)

0(Num Lockオフ)

ログオン前とログオン後

ログオン前の設定は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://hoshiya.biz/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」のようなファイル名で実行ディレクトリに保存されます。

WordPressやMovableTypeで使っているブログ更新時のPING送信先が活きているか、PowerShellで簡単に調べるスクリプトを見つけたのでメモ。

ping送信先のテキストファイルを用意

例えば、以下のテキストをpinglist.txtという名前を付けて保存

google.co.jp
facebook.com
yahoo.co.jp

スクリプト作成

以下のスクリプトをメモ帳に貼り付け、先ほどのpinglist.txtと同じ階層にping.ps1といった感じで適当に.ps1の拡張子を付けて保存します。

echo pingを実行しています。しばらくお待ちください。

$date = Get-Date -Format _yyyy_MMdd_HHmmss
$target = Get-Content pinglist.txt

foreach ($item in $target) {
  ping $item >> pinglog$date.txt
  }

echo 結果を「pinglog$date.txt」に保存しました。

pause

スクリプト実行

スクリプトファイル(ping.ps1)を右クリックして「PowerShellで実行」をクリックするとスクリプトが実行されます。

 ↓

実行結果

実行結果は以下のような内容でスクリプトファイル(ping.ps1)と同じ階層に「pinglog_2016_1126_225217.txt」といったテキストファイルが作成されているので開いて確認できます。

これで、今後の確認作業が楽になりそうです。

WordPressやMovableTypeで使うブログ更新時のPING送信先のリストがあるのですが、送信先の死活状態を確認するためにホスト名(ドメイン名)のみの一覧が必要で、それをエクセルで簡単に作る関数例を見つけたのでメモ。

例えば

http://www.bing.com/ping?sitemap=sitemapurl

上記のURLから

www.bing.com

のみを抽出するものです。

関数例

セルA1にURLが入っている場合の例です。

=MID(A1,FIND("/",A1,FIND("/",A1,1)+1)+1,SEARCH("/",A1,FIND("/",A1,FIND("/",A1,1)+1)+1)-(FIND("/",A1,FIND("/",A1,1)+1)+1))

注意

抽出元のURLがhttp://www.bing.comといった感じで.comで終わっている場合、http://www.bing.com/のように"/"で閉じておかないとエラーになります。

マザーボードのASROCK Z77 Extreme4-Mを搭載したパソコンがあるのですが、単体で軽く2~3GB/sのスピードが出るNVMe版のSSDが使えないかな~と考えていました。データ用のディスクではなく、OS起動用として。

通常、ネイティブにNVMe版のM.2 SSDに対応するパソコンを手に入れようと思ったら、Z97Z170チップセットのマザーボード基準にCPUやメモリを買い替えないといけません。でも、予算をかけずにZ77チップセットの環境のまま爆速を手に入れたいのです。

以前はパーツの相性など安定しているASUSを使っていましたが、自分のやりたいことがだいたい載っているのがASROCKのマザーボードだったので、最近はほとんどASROCKでパーツを組んでいます。

Z77チップセットはネイティブにNVMeに対応はしていないらしいのですが、ASROCKのマザーボードなら対応してそうだな~と思って調べてみました。こういうことにASROCKのマザーボードにいつも期待しています。

そしたらありました。Z77のASROCKマザーがNVMeのSSDに対応しているいう記事。

上記ページの中間あたりにあるこの部分↓

そこで、早速試してみることにしました。

ASROCK Z77 Extreme4-MにはM.2スロットがないので、Samsung SM951/SM961(NVMe版 M.2 SSD )をPCIe変換基板に挿してみました。

ところが、BIOS上でPCIeドライブとしてM.2 SSDが表示されません...。

これじゃ、OSインストールできないじゃないか...。

Windows7上ではディスクとして認識されていました。

BIOSをアップデートしたらイケるかな?とASROCK Z77 Extreme4-Mの最新(最終)バージョンのBIOSを確認したところ、すでに最新状態を適用済みでした...。

 

更に調べていくとベータ版のBIOSでNVMeをサポートしているという海外のページがヒット。

以下のページから2種類のBIOSがダウンロードできるようです。

Z77 Extreme4(ATX)ならP2.90Mというベータ版のバージョンを適用すればいいらしいのですが、持っているのはZ77 Extreme4-M(microATX)で、ASROCKのZ77 Extreme4のダウンロードページにはベータ版のP2.90Mがダウンロードできるようになっていますが、Z77 Extreme4-Mのダウンロードページにはありません。

ちなみに今日現在でNVMeをサポートするベータ版BIOSが存在するか確認してみました。

(製品名はベータ版ダウンロードページにリンクしています。リンクがない製品はベータ版のページが存在していませんでした。)

製品名 バージョン
Z77 Extreme11 なし
Z77 Extreme9 なし
Z77 OC Formula なし
Z77 Extreme6/TB4 なし
Z77 Extreme6 P2.80E
Z77 Extreme4 P2.90M
Z77 Extreme4-M なし
Z77 Extreme3 なし
Z77 Pro4 なし
Z77 Pro4-M なし
Z77 Pro3 なし
Z77M なし
Z77E-ITX なし
Fatal1ty Z77 Professional なし
Fatal1ty Z77 Professional-M なし
Fatal1ty Z77 Performance なし

どうなんでしょう。同じZ77を搭載したマザーボードのBIOSは共通して使えるのでしょうか?

Z77 Extreme4のBIOSをZ77 Extreme4-Mに使用できるのですしょうか?

適用したら再起不能になったりしてと不安になってきたので、今回はBIOS/UEFIの更新はあきらめました。また有力な情報が掴めたらチャレンジしてみたいと思います。

ずっと気になっていたNVMe版のM.2 SSD Samsung SM961。

もともと前モデルのSM951を持っていて、9月くらいにアマゾンでSM961が販売されたのですが、購入を悩んでいるうちに完売してしまいました。それから11月になって並行輸入品が販売されていたのを見つけたので、またなくならいうちに買うことにしました。

できれば3.5GB/s出る512GBが欲しかったのですが予算の都合上、手が出ず256GBを買いました。

SM961950PRO/960 PROなどのコンシューマーモデルと違ってOptionROM非搭載なので、マザーボードによってはWindows上ではディスクとして認識されますが、BIOS上で認識されず起動ディスクとして使えなかったり、Samsung製品なのにSamsung Magician(SSD最適化ツール)でSamsung製品として認識されず、TRIMが簡単にできないなとありますので、購入の際はご自分の環境がネイティブにNVMeに対応しているかをご確認ください。

早速ベンチ

速い。システムドライブとして使ってこの数値。

ちなみに公称値はシーケンシャル:読み出し3,100MB/s、書き込み1,400MB/s。

Windowsやアプリケーションの起動もスリープからの復帰も爆速です。

PCIe変換基板に取り付け、ASRock Z97 Extreme6のPCIeスロットに挿し、Windows 10 Pro 64bitのシステムドライブとして測定しました。

温度が低い

アイドル状態でCrystalDiskInfoでSM961の温度を見ると36℃

スピードが速い分熱いかもと思っていましたが、逆に前モデルのSM951よりも温度が低かったです。

SM951はDドライブとして使用していますが、こちらは42℃

UltraM.2スロットでベンチ

マザーボードのUltraM.2スロットに挿してデータドライブとしてベンチマークしてみました。

変換基板使ってPCIeスロットに挿す方がちょっと速いみたいです。

Samsung NVMeドライバー

上記のSamsungのホームページからドライバーをダウンロードしようとしたら以下のように英語で「1日のダウンロード数が上限を超えたから24時間後に再度チャレンジしてください」という旨のメッセージが出ました。

他にどこかでダウンロードできないかな?と検索したら、以下のページからVer2.4.7をダウンロードすることができました。

ドライバーを適用すると下のように表示されます。

IMEの言語バーの表示を変更するレジストリのメモ。

新規ユーザーが初めてログオンしたときに最小化した状態にしたいので、新規のユーザー用のレジストリに設定するハイブの読込で使うために調べてみました。

画面はWindows7。

HKEY_USERS\<SID>\Software\Microsoft\CTF\LangBar

ここにあるShowStatusの値を以下の値で設定できます。

  • 0:デスクトップに表示

  • 3:非表示
  • 4:タスクバーに固定

 

検索で以下のレジストリをいじるページがいくつか引っかかりましたが効果はありませんでした。

HKEY_CURRENT_USER\Control Panel\Input Method

Show Statusの値を0にするとか1にするとか。

参考サイト

その他のレジストリについての参考

Windows XPの場合の参考

言語バーが消えてしまっときの参考

リモートデスクトップで遠隔操作するとき、接続にやたら時間がかかるパソコンがあります。

こんな画面が出て↓

リモート接続を保護しています

「リモート接続を保護しています...」が消えるまでが長い。

 

以下のMicrosoftの説明によると、Vista以降はRDPにはSSLが使われていて時間がかかるらしい。

グループポリシーを変更

セキュリティのこととかさておき、操作される側(ホスト側)のグループポリシーを変更すればサクッと接続できるようになります。

gpedit.mscを起動して以下に設定を変更。

[ローカルコンピューターポリシー]
 └[コンピューターの構成]
  └[管理用テンプレート]
   └[Windowsコンポーネント]
    └[リモートデスクトップサービス]
     └[リモートデスクトップセッションホスト]
      └[セキュリティ]

グループポリシー

にある「リモート(RDP)接続に特定のセキュリティレイヤーの使用を必要とする」を開き、[有効]にチェックを入れ、[セキュリティレイヤー]の欄で[RDP]を選択する。

リモート(RDP)接続に特定のセキュリティレイヤーの使用を必要とする

これでサクッと繋がるようになります。(セキュリティ面がどうなのかは別として...。)

 

安定のシステム運用か?それとも素早い対応か?

よくわかっていないので、どちらが優先なのか考えて行わないといけないですね。