#To define a particular parameter, replace the 'parameterName' inside itsm.getParameter('parameterName') with that parameter's name
import _winreg
import os

mode = itsm.getParameter("mode").lower()

key_path = r"Software\Microsoft\Windows NT\CurrentVersion\Winlogon"

if mode == "disable":
    value = "0"
elif mode == "enable":
    value = "10"
else:
    print("Invalid mode. Use 'disable' or 'enable'.")
    exit(1)

try:
    key = _winreg.OpenKey(
        _winreg.HKEY_LOCAL_MACHINE,
        key_path,
        0,
        _winreg.KEY_SET_VALUE
    )

    _winreg.SetValueEx(
        key,
        "CachedLogonsCount",
        0,
        _winreg.REG_SZ,
        value
    )

    _winreg.CloseKey(key)

    print("CachedLogonsCount set to %s. System will restart." % value)
    os.system("shutdown -r -t 0")

except Exception as e:
    print("Failed to modify CachedLogonsCount:", e)
