While still primarily an on-prem tool, the new version supports WebSocket connections, allowing your local ZKSoftware to sync with cloud dashboards (like ZKBio Cloud) without third-party VPNs.
If you run keyexe without parameters or with a wrong format, it usually returns a usage guide. This is the most critical text for using the tool.
Typical Output:
usage: keyexe [options]Options: -a <address> : Set device IP address (default: 192.168.1.201) -p <port> : Set device port (default: 4370) -c <comm> : Set communication port (for Serial/RS485) -b <baud> : Set baud rate (default: 115200 or 9600) -o <output> : Output file name (for data download) -n : New record (often used to clear or initialize specific data) -u : Upload data to device -d : Download data from device -t : Test connection -? : Show this help message
Example: keyexe -a 192.168.1.100 -t keyexe -a 192.168.1.100 -d -o data.txt
(Note: The actual flags may vary slightly depending on the specific version of the SDK/utility you have.) zksoftware keyexe new
This is a permission error. The new keyexe runs under "Local Service" account by default, which has limited rights.
This occurs because the new executable uses NTP over TLS, which requires accurate Windows time.
Typical official features include:
Before dissecting the keyword, let’s establish the parent ecosystem. ZKSoftware (ZKTeco) produces:
These devices typically connect to a PC via Ethernet, USB, or serial port. The PC side requires a software application to pull logs (check-in/out times), enroll users, and generate reports.
It was a Tuesday morning, and Raj was staring at a pile of spreadsheets. The HR manager was frantic because the attendance data for the marketing team hadn't synced from the biometric terminal to the server in three days. While still primarily an on-prem tool, the new
"We can't process payroll like this," she said. "The machine is beeping, people are scanning their fingers, but the data just sits there."
Raj walked over to the old server room. The machine was a legacy model—white plastic, slightly yellowed, branded ZKSoftware. It was a workhorse from a decade ago, but it was picky about its network settings.
Raj opened the command prompt on the server. He knew the device was communicating on the local network, but the synchronization service—often called a "listener" or "push service"—seemed stuck. It was holding onto an old encryption key or a stale connection session.
In the old ZKSoftware ecosystem, troubleshooting often meant forcing the communication layer to reset its handshake. Raj navigated to the installation directory, typically hidden deep in C:\Program Files (x86)\ZKSoftware\.
He checked the documentation he had printed out years ago. The service was unresponsive. He needed to force a fresh handshake and reset the stored keys to re-establish the link between the terminal and the database.
He typed the command:
zksoftware keyexe new
(The specific command usually functions to generate a fresh connection key or reset the execution state of the client service.)
He pressed Enter.
For a second, nothing happened. Then, the small icon in the system tray blinked green. The log window, previously a wall of static text, suddenly sprang to life:
[INFO] Connection Established.
[DATA] Downloading logs... 45 records found.
[DATA] Sync complete.
Raj smiled. The "new" flag had forced the software to drop its stubborn old session and negotiate a fresh one. The three days of missing data poured into the database. The HR manager would get her payroll numbers after all. (Note: The actual flags may vary slightly depending