Enable/Disable Numlock at Windows Startup

Method 1 – Registry Setting

  1. Hold the Windows Key then press “R” to bring up the Run dialog box.
  2. Type “regedit“, then press “Enter“.
  3. Navigate to the following location in the registry:
    • .Default
    • Control Panel
    • Keyboard
  4. Change the value of InitialKeyboardIndicators
    • Set it to 0 to set NumLock OFF
    • Set it to 2 to set NumLock ON

PowerShell Script

Use the following PowerShell code:

Enable Num Lock:

  • Set-ItemProperty -Path 'Registry::HKU\.DEFAULT\Control Panel\Keyboard' -Name "InitialKeyboardIndicators" -Value "2"

Disable Num Lock:

  • Set-ItemProperty -Path 'Registry::HKU\.DEFAULT\Control Panel\Keyboard' -Name "InitialKeyboardIndicators" -Value "0"

You can launch this and other PowerShell scripts at startup. Visit this post on using PowerShell to create a job that runs at startup to learn how.

Method 2 – Function Keys

You may have inadvertently pressed a key combination on your keyboard to cause certain letters on your keyboard to be used as a numeric keypad. This is normally the case for laptop users.

In most cases, you will have a “Fn” and “NumLk” key that can be used to toggle this setting on or off. Hold the “Fn” key, then press “NumLk” to toggle the numeric keypad on or off.

Method 3 – BIOS Setting

Most computers, including virtual machines will have a BIOS setting that controls whether or not NumLock is enabled or disabled at startup. You can usually enter the BIOS by pressing a certain key such as “Delete” or “F1” at startup before Windows loads. Once in the BIOS, you should be able to find a setting that controls NumLock.

Method 4 – Startup or Logon Script

If you’re an administrator looking for a way to set the Num Lock on at startup, you can do so using a logon script. There is no specific Group Policy setting to accomplish this. Instead use the following.

  1. Copy and paste the following into a Notepad document, then save it as “numlock.vbs“:
    set WshShell = CreateObject("WScript.Shell")
    WshShell.SendKeys "{NUMLOCK}"
  2. Do one of the following:
    • Place the “numlock.vbs” file in the “Startup” folder of the target computer or user.
    • Run the script through Group Policy using these steps:
      1. Place the “numlock.vbs” in one of the following folders:
        1. Local logon script path = “%SystemRoot% \ System32 \ GroupPolicy \ User Computer\ Scripts \ Logon
        2. Domain logon script path = “%SysVolFolder% \ Sysvol \ Sysvol \ DomainName \ Scripts
      2. Hold down the Windows Key and press “R” to bring up the Windows Run dialog box.
      3. Type “mmc“, then press “Enter“.
      4. Go to “File” > “Add/Remove Snap-in” > “Add” > “Group Policy“.
      5. Select the GPO you wish to use by selecting “Browse“. The default is the local computer.
      6. Select “Finish” > “Close” > “OK“.
      7. From the Group Policy Management snap-in, navigate to “User Configuration” or “Computer Configuration” > “Windows Settings” > “Scripts“.
      8. Double-click “Logon script“, then go to “Add” > “Browse“, then select “numlock.vbs“.
      9. Select “Open” > “OK” > “OK“.

Leave a Comment

Your email address will not be published. Required fields are marked *