ログオンする前に、Windowsはセキュリティ上の理由からBIOS numlock設定を無視します。さらに、Windowsはログイン後までnum lockのレジストリ設定を使用しません。その前にnumlockをオンにする必要がある場合は、Windows XPでのログオン時にNUM LOCK状態を設定する方法を参照してください(記事はWindows XPについてですが、Windows 7でも機能します -Windows 8でも同じであると思います)。
これを行うには、以下を入力しnumlock.vbs
ます。
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
次に、グループポリシーを使用してログオン画面で実行するように設定します。numlock.vbs
グループポリシーフォルダーにコピーするだけです。ローカルログオンスクリプトのデフォルトパスは%SystemRoot%\System32\GroupPolicy\User Computer\Scripts\Logon
です。
スクリプトを実行するには(http://support.microsoft.comから引用):
- [スタート]ボタンをクリックし、[ファイル名を指定して実行]をクリックします。mmcと入力し、[OK]をクリックしてMicrosoft管理コンソール(MMC)を起動します。
- [コンソール]メニューの[スナップインの追加と削除]をクリックします。
- [追加]、[グループポリシー]、[追加]の順にクリックします。
- 適切なグループポリシーオブジェクトをクリックします。デフォルトの選択はローカルコンピューターですが、[参照]をクリックして別のグループポリシーオブジェクトを選択できます。
- [完了]、[閉じる]、[OK]の順にクリックします。
- グループポリシー管理スナップインで、ユーザーの構成\ Windowsの設定\スクリプト(ログオン/ログオフ)フォルダーを見つけます。(ユーザー構成フォルダーの代わりにコンピューター構成フォルダーを使用できます。)
- ログオンスクリプトオブジェクトをダブルクリックし、[追加]、[参照]の順にクリックして、Numlock.vbsスクリプトをクリックします。
- [開く]をクリックし、[OK]をクリックします。
- [OK]をクリックし、グループポリシー管理コンソールを閉じます。
レジストリでnum lockのデフォルトを設定できますが、ログオン後にのみ適用されます。
これには、[HKEY_USERS.DEFAULT \ Control Panel \ Keyboard]でInitialKeyboardIndicatorsを2に設定することが含まれます。

注意: Microsoftアカウントでサインインしている場合InitialKeyboardIndicators
、Windows 8では設定は機能しません。ローカルアカウントでのみ機能します。
ソース: