pywinupdate
August 21, 2026 ยท View on GitHub
Python-controlled search and installation of Windows updates via WinRM and Ansible. Searches for available Windows updates on a remote host and installs them one by one, rebooting and resuming as needed.
Part of the OSWatcher project, where it's used to install updates on Windows VMs one at a time so each update can be captured as a separate snapshot.
Installation
pip install pywinupdate
Usage
pywinupdate search <host> --user <user> --password <password>
pywinupdate update <host> --user <user> --password <password> [--one]
--user/--password default to vagrant/vagrant (the standard Vagrant box credentials) and --port defaults to 5985. Run pywinupdate --help for the full list of options.
Requirements
- A remote Windows host reachable over WinRM
- Ansible (installed automatically as a dependency)
Development
poetry install
poetry run poe ccode # format + lint
poetry run poe type # mypy