SO we now know that this is broken by design from R80.40 onwards.
My best effort workaround which, thank you Check Point, is far less secure than before is this:
' Usage: runsc.vbs VERSION IP USERNAME PASSWORD
' VERSION = R80.40 | R81 | R81.10 | R81.20
Set oShell = CreateObject("Wscript.Shell")
oShell.Run("""C:\Program Files (x86)\CheckPoint\SmartConsole\" & WScript.Arguments(0) & "\PROGRAM\SmartConsole.exe""")
WScript.Sleep(8000)
oShell.AppActivate "Check Point SmartConsole"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys WScript.Arguments(1) 'IP
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{TAB}"
oShell.SendKeys WScript.Arguments(2) 'Username
oShell.SendKeys "{TAB}"
oShell.SendKeys WScript.Arguments(3) 'Password
'oShell.SendKeys "x"
oShell.SendKeys "{TAB}"
oShell.SendKeys "{ENTER}"
Set oShell = Nothing
Can anyone improve this? Issues:
- You can only have one copy of SmartConsole running, it will fail if it finds one already running
- SmartConsole must already have cached arguments (not first run), as we assume that initial focus is on the password box
- Only supports local SMS, ie no cloud
- Relies on a timer between launch and filling in the fields, needs adjusting if you system is slow
- Cannot accurately paste some characters in passwords, so requires simplification of some passwords
However, assuming simple passwords, it IS good enough to enter as an external tool in something like mRemoteNG for that magical experience of auto logon. I would very much appreciate if anyone else could improve it a little more.