This is just a quick If-Else Loop in PowerShell to toggle the NumLock key to enabled.  Not much magic to it.  I tried to keep it as simple as possible so anyone can understand the process.  If the NumLock is off (disabled), then it gets turn on (enabled).  Otherwise, if the NumLock is on (enabled), the PS script leaves it alone. 

IMPORTANT: This has been tested in different Microsoft Windows environments with great success (e.g., Windows 10 Pro 64-bit, Windows 7 Pro 64-bit).  With that said, please make sure to always test any scripts you find online before introducing it into your production environment.  The PS script below is simple enough to understand, but nonetheless, be careful.  Kthxbai, <3 u.

PowerShell
Edit|Remove
<#  
 .SYNOPSIS  
  PowerShell script to enable NumLock at logon.  
 .DESCRIPTION  
  The PS script detects the NumLock state to see whether it's enabled/disabled.    
  If disabled, it will enable it.  If enabled, the script will exit.    
  Add this PS script to your computer startup logon GPO.    
  Please remember to test this prior to introducing it into your production environment.    
 .PARAMETER 
  No parameters. 
 .EXAMPLE 
  No examples. 
 .LINK 
  No website link. 
#>  
$kbObj = New-Object -ComObject WScript.Shell 
$nlStatus = [console]::NumberLock 
If ($nlStatus -eq $false) 
 {$kbObj.SendKeys('{NUMLOCK}')} 
Else  
 {exit}