# Clock Update Windows Startup: a one-file fix for drifting PC clocks

> A C# utility that installs a SYSTEM-level Scheduled Task so Windows resyncs its clock at every boot. Aimed at solo IT support staff who are tired of morning calls about wrong time.

**repowahyuillahi/clock-update-windows-startup** — Utility Windows untuk memperbaiki dan menyinkronkan jam otomatis saat PC menyala. Dibuat untuk memudahkan para IT support solo player di luar sana, supaya tidak selalu diganggu di pagi hari hanya karena jam PC user melenceng.

- Repository: https://github.com/repowahyuillahi/clock-update-windows-startup
- Stars: 449 · Forks: 0
- Language: C#
- License: not declared
- Published: 2026-09-17 · Updated: 2026-09-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/repowahyuillahi-clock-update-windows-startup

## What a drifting clock actually costs a one-person IT team

The README describes the problem in operational terms rather than technical ones: a wrong clock breaks logins, attendance systems, office applications, website certificates and internal systems. That list is the real argument for the project. Kerberos authentication tolerates only a small skew between domain controller and client, TLS validation fails when the local clock is outside a certificate's validity window, and time-and-attendance software will happily record the wrong shift. None of these look like a clock problem when a user reports them. They look like a login failure or a broken intranet page.

The project is explicitly addressed to "IT support solo player" staff, the single person responsible for many PCs. For that reader the cost is not the fix itself, which takes a minute, but the interruption: a phone call at the start of the day, a walk to the desk, a manual resync. The utility's premise is that the fix should be installed once and then happen at every boot without anyone present. That is a narrow, defensible scope, and the README does not pretend it is anything more.

## How the startup sync is wired: UAC once, SYSTEM forever after

The mechanism is a two-stage handoff. On first run, the EXE requests Administrator rights through UAC. With those rights it registers a Scheduled Task that runs under the built-in SYSTEM account at startup. From then on the sync happens without a password prompt, because SYSTEM is a service account and not a user identity.

The README is direct about why it works this way: administrator passwords are not stored in the EXE, the scripts or the shortcut, and the project states that storing them in a file is not recommended because the file can be copied by someone else. That is the correct call, and it is the single most important design decision in the repository.

Alongside the task, the tool enables the Windows Time service (W32Time) if it is not already running, and points it at time.windows.com and pool.ntp.org. Results are appended to C:\ProgramData\AutoUpdateTime\sync-time.log. The repository also ships PowerShell scripts, install-update-time-task.ps1 and update-time-on-startup.ps1, so the same task can be created without the EXE, plus an uninstall-update-time-task.ps1 for removal. The task is named "Auto Update Jam Saat PC Menyala".

## Installing it from the ready-made EXE and checking the first sync

The README's own path is the simplest one. The compiled binary lives in the Siap Pakai folder in the repository, and the README says it can be copied to a Desktop, a USB stick or any other folder, and that it does not need any .ps1, .cmd or source file next to it.

Copy it to the target machine and run it:

```bat
Siap Pakai\UpdateJamOtomatis.exe
```

Windows will raise a UAC prompt. Choose Yes or supply administrator credentials. The README says to wait for a success message. What you should then confirm is that the task exists under the name below in Task Scheduler, and that the log file is being created:

```text
Auto Update Jam Saat PC Menyala
C:\ProgramData\AutoUpdateTime\sync-time.log
```

If you prefer a Desktop shortcut for the user, the repository includes a batch file for that:

```bat
Buat-Shortcut-Desktop.cmd
```

It creates a shortcut named Update Jam Otomatis.lnk. If you would rather skip the EXE entirely, the README shows the PowerShell uninstall script being invoked this way, and the repository ships install-update-time-task.ps1 alongside it:

```powershell
powershell -ExecutionPolicy Bypass -File .\uninstall-update-time-task.ps1
```

To rebuild the binary from source, the README uses the .NET Framework compiler bundled with Windows rather than a project file, invoking csc.exe from the Framework64 v4.0.30319 directory with the manifest and icon flags, then copying the output into Siap Pakai. That is a deliberate choice for machines where no SDK is installed, and it means the build is a single command with no restore step.

## Where this tool stops being the right answer

The README does not document rollback beyond uninstalling the task, and it does not describe what the tool does when the Windows Time service cannot be started. That is the failure mode worth thinking about: if W32Time is disabled by group policy, or if the machine sits behind a firewall that blocks outbound UDP 123 to time.windows.com and pool.ntp.org, the scheduled task will run and the clock will stay wrong. The log file is the only place you would see it, and the README does not describe its format or what a failed entry looks like.

There is also a scope limit that matters. This fixes the local clock. On a domain-joined machine, time should come from the domain hierarchy, and a startup task that forces external NTP servers can conflict with that design. The README does not mention domain controllers, group policy or the w32tm configuration commands, so treat domain-joined fleets as out of scope until you have checked your own environment.

Finally, the repository has no licence file and no releases. The last push was on 2026-06-02. There is no changelog, so you cannot tell what changed between builds, and you cannot tell what you are permitted to redistribute.

## How this differs from the built-in w32tm and Task Scheduler route

The obvious alternative is doing it yourself with the tools Windows already provides: a one-line w32tm /resync wrapped in a Scheduled Task created through schtasks or the Task Scheduler GUI. The difference is packaging, not capability. The manual route gives you full control over the trigger, the account, the servers and the retry behaviour, and it is auditable by anyone who knows Windows. It also requires you to write and test the task XML, decide on the account, and repeat that on every machine.

This project trades that control for a single double-click. It bundles the service check, the server list, the SYSTEM account registration and the log path into one binary, and it ships PowerShell equivalents for people who want to read the logic before running it. If your fleet is large enough to be managed by group policy or an endpoint tool, the manual or policy route is the better fit, because a per-machine EXE does not scale and leaves no central record of which machines were configured. If you have five PCs and no management infrastructure, the EXE is the shorter path.

## Uninstall, licence and what the repository does not tell you

Removal is documented in two ways. The PowerShell script below deletes the task when run as Administrator:

```powershell
powershell -ExecutionPolicy Bypass -File .\uninstall-update-time-task.ps1
```

Alternatively you can delete the Scheduled Task by name, "Auto Update Jam Saat PC Menyala", from Task Scheduler. The README does not say whether uninstall also disables the Windows Time service or removes the log directory, so assume it does not and check C:\ProgramData\AutoUpdateTime yourself.

On licensing: the repository has no LICENSE file, which under default copyright means you have no granted right to redistribute or modify it, even though the source is readable. If you plan to deploy the EXE across machines you do not personally own, that is a question for whoever handles your organisation's software approvals, not something this article can settle. Upgrade cost is effectively manual. There are no releases, no version numbers and no update mechanism, so a new build means re-copying the EXE and re-running it on each machine.

## Conclusion

Adopt it if you are a solo IT support person managing a handful of Windows machines whose clocks drift and you want the fix to survive reboots without a stored admin password. Do not adopt it if you need a documented, versioned product with a changelog, a licence file, or a negotiation with a security team: none of those exist in the repository. Verify three things before rolling it out: that the Scheduled Task named "Auto Update Jam Saat PC Menyala" actually appears in Task Scheduler after the first run, that C:\ProgramData\AutoUpdateTime\sync-time.log is being written with the result of each startup sync, and that W32Time was already enabled or was successfully started on your image, because the README does not describe what happens when that service cannot be started.

## FAQ

### How do I force Windows to sync the time on startup with Clock Update Windows Startup?

Run the ready-made UpdateJamOtomatis.exe once and approve the UAC prompt. The README states that the tool then registers a Scheduled Task under the SYSTEM account that runs at every startup, so later syncs need no password.

### Why is my Clock not updating on Windows after installing this tool?

The README does not document failure handling, but the tool depends on the Windows Time service and on reaching time.windows.com and pool.ntp.org. If W32Time is blocked by policy or the NTP servers are unreachable, the task runs and the clock stays wrong; check C:\ProgramData\AutoUpdateTime\sync-time.log.

### How do I enable auto sync time on startup in Windows 11?

The README's procedure is to double-click UpdateJamOtomatis.exe, accept the Administrator prompt, and wait for the success message. After that the Scheduled Task named "Auto Update Jam Saat PC Menyala" handles the sync at each boot.

### Why does the Clock on my PC keep changing?

The README does not explain why a clock drifts; it only states that a wrong clock can break logins, attendance, office applications, website certificates and internal systems, and that the utility resyncs the clock at each startup against time.windows.com and pool.ntp.org.

## Sources

- [Issues](https://github.com/repowahyuillahi/clock-update-windows-startup/issues)
- [README](https://github.com/repowahyuillahi/clock-update-windows-startup/blob/main/README.md)
- [repowahyuillahi/clock-update-windows-startup on GitHub](https://github.com/repowahyuillahi/clock-update-windows-startup)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/repowahyuillahi-clock-update-windows-startup
