How to Enable/Disable Numlock at Windows Startup

Method 1 – Registry Setting
Hold the Windows Key then press “R” to bring up the Run dialog box.
Type “regedit“, then press “Enter“.
Navigate to the following location in the registry:
Control Panel
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 \ UserComputer\ 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“.

Note: The “numlock.vbs” script will simply act like it is pressing the “Num Lock” key once. So really, it will toggle it to the opposite of what it is by default. It’s probably better to use the Registry method, but this method is handy when you’re in a bind.

Don’t Stop Here

More To Explore

What is RAM?

RAM is short for Random-Access Memory. It’s a super fast component that can temporarily store information for the CPU to use or call back on.

What is a GPU?

A GPU or Graphics Processing Unit is a dedicated processor often used to handle accelerating the renderings of images, video, and 2D or 3D animations.

What is a CPU?

CPU stands for Central Processing Unit, or can simply be called a Processor. It is the essential part of a computer that processes data from