{"id":15064077,"url":"https://github.com/sterbweise/winget-update","last_synced_at":"2025-07-11T22:32:51.319Z","repository":{"id":253917893,"uuid":"844915375","full_name":"Sterbweise/winget-update","owner":"Sterbweise","description":"Simplifies Windows package management with customizable update features.","archived":false,"fork":false,"pushed_at":"2024-09-20T05:36:25.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-21T17:06:51.268Z","etag":null,"topics":["devops-tools","package-manager","powershell","windows","winget","winget-cli"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sterbweise.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T08:07:41.000Z","updated_at":"2024-10-28T15:27:09.000Z","dependencies_parsed_at":"2024-08-20T10:44:00.747Z","dependency_job_id":"b451b12f-4cfd-45d0-ba63-2c60874bf499","html_url":"https://github.com/Sterbweise/winget-update","commit_stats":null,"previous_names":["sterbweise/winget-update"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterbweise%2Fwinget-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterbweise%2Fwinget-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterbweise%2Fwinget-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sterbweise%2Fwinget-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sterbweise","download_url":"https://codeload.github.com/Sterbweise/winget-update/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225769465,"owners_count":17521258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops-tools","package-manager","powershell","windows","winget","winget-cli"],"created_at":"2024-09-25T00:11:16.334Z","updated_at":"2025-07-11T22:32:51.307Z","avatar_url":"https://github.com/Sterbweise.png","language":"PowerShell","readme":"# Winget Update Tools\r\n\r\n![PowerShell](https://img.shields.io/badge/PowerShell-5391FE?logo=gnometerminal\u0026logoColor=white)\r\n![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows\u0026logoColor=white)\r\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/sterbweise/winget-update)\r\n![GitHub last commit](https://img.shields.io/github/last-commit/sterbweise/winget-update)\r\n![GitHub issues](https://img.shields.io/github/issues/sterbweise/winget-update)\r\n![GitHub stars](https://img.shields.io/github/stars/sterbweise/winget-update)\r\n![GitHub licence](https://img.shields.io/github/license/sterbweise/winget-update)\r\n\r\nAn advanced PowerShell script to automate application updates via winget.\r\n\r\n\u003cimg src=\"https://github.com/user-attachments/assets/5863fdf3-6cd8-47d8-b346-4a574fc45c61\" alt=\"image\" width=\"600\"/\u003e\r\n\r\n## Table of Contents\r\n\r\n- [Winget Update Tools](#winget-update-tools)\r\n  - [Table of Contents](#table-of-contents)\r\n  - [About](#about)\r\n  - [Features](#features)\r\n  - [Prerequisites](#prerequisites)\r\n  - [Installation](#installation)\r\n  - [Usage](#usage)\r\n    - [Main Options](#main-options)\r\n  - [Update Modes](#update-modes)\r\n  - [Examples](#examples)\r\n    - [Standard Update](#standard-update)\r\n    - [Silent Update Excluding Certain Applications](#silent-update-excluding-certain-applications)\r\n    - [Adding Applications to the Persistent Exclusion List](#adding-applications-to-the-persistent-exclusion-list)\r\n    - [Forced Update with Custom Parameters](#forced-update-with-custom-parameters)\r\n  - [Contributing](#contributing)\r\n  - [Licence](#licence)\r\n\r\n## About\r\n\r\nWinget-Update is a PowerShell script designed to simplify and automate the process of updating applications via the Windows Package Manager (winget). It offers increased flexibility and advanced features for users and system administrators.\r\n\r\n## Features\r\n\r\n- Automatic application updates via winget\r\n- Multiple update modes (normal, silent, forced, etc.)\r\n- Temporary or persistent application exclusion\r\n- Support for custom parameters for winget\r\n- User-friendly command-line interface\r\n\r\n## Prerequisites\r\n\r\n- Windows 10 (version 1809 or later) or Windows 11\r\n- PowerShell 5.1 or later\r\n- [Windows Package Manager (winget)](https://github.com/microsoft/winget-cli)\r\n\r\n## Installation\r\n\r\n1. Ensure winget is installed on your system.\r\n\r\n   - To check, open PowerShell and type `winget --version`\r\n   - If winget is not recognised, install it from the [Microsoft Store](https://www.microsoft.com/p/app-installer/9nblggh4nns1)\r\n\r\n2. Obtain the `winget-update.ps1` script:\r\n\r\n   Option A: Clone the Git repository (recommended)\r\n\r\n   - Open PowerShell\r\n   - Navigate to the folder where you want to clone the repository\r\n   - Run the command:\r\n     ```\r\n     git clone https://github.com/sterbweise/winget-update.git\r\n     ```\r\n\r\n   Option B: Download the script directly\r\n\r\n   - Visit [https://github.com/sterbweise/winget-update](https://github.com/sterbweise/winget-update)\r\n   - Click on the `winget-update.ps1` file\r\n   - Click on the \"Raw\" button\r\n   - Right-click and select \"Save as...\"\r\n   - Choose the save location and click \"Save\"\r\n\r\n3. Add the folder containing the script to your PATH environment variable:\r\n\r\n   - Open PowerShell as administrator\r\n   - Run the following command, replacing `C:\\Path\\To\\The\\Folder` with the actual path to the folder containing the script:\r\n     ```powershell\r\n     [Environment]::SetEnvironmentVariable(\"Path\", $env:Path + \";C:\\Path\\To\\The\\Folder\", \"Machine\")\r\n     ```\r\n   - Close and reopen PowerShell for the changes to take effect\r\n\r\n4. Create a PowerShell alias for the script:\r\n   - Open your PowerShell profile by typing `notepad $PROFILE` in PowerShell\r\n   - If the file doesn't exist, create it\r\n   - Add the following line to the file:\r\n     ```powershell\r\n     Set-Alias -Name winget-update -Value winget-update.ps1\r\n     ```\r\n   - Save and close the file\r\n   - Reload your PowerShell profile by typing `. $PROFILE`\r\n\r\nYou can now run `winget-update` from any location in PowerShell.\r\n\r\n## Usage\r\n\r\nOpen PowerShell and navigate to the directory containing the script. Run it with the desired parameters:\r\npowershell\r\n.\\winget-update.ps1 [options]\r\n\r\n### Main Options\r\n\r\n- `-ExcludeApps` or `-e`: Specifies applications to exclude from the current update.\r\n- `-Mode` or `-m`: Sets the update mode.\r\n- `-AddPersistentExcludeApps` or `-ape`: Adds applications to the persistent exclusion list.\r\n- `-RemovePersistentExcludeApps` or `-rpe`: Removes applications from the persistent exclusion list.\r\n- `-CustomParams` or `-cp`: Specifies custom parameters to pass directly to winget.\r\n- `-Help`: Displays detailed help for the script.\r\n\r\n## Update Modes\r\n\r\n- `normal`: Default mode, interactive update.\r\n- `silent`: Silent mode, automatically accepts all agreements.\r\n- `force`: Forced mode, ignores version checks and bypasses some restrictions.\r\n- `verbose`: Provides detailed logging information.\r\n- `no-interaction`: Runs without user interaction, suitable for automated scripts.\r\n- `full-upgrade`: Includes unknown versions and pinned packages in the upgrade.\r\n- `safe-upgrade`: Performs a conservative upgrade, accepting only package agreements.\r\n\r\n## Examples\r\n\r\n### Standard Update\r\n\r\n    .\\winget-update.ps1\r\n\r\n### Silent Update Excluding Certain Applications\r\n\r\n    .\\winget-update.ps1 -ExcludeApps \"App1,App2\" -Mode silent\r\n\r\n### Adding Applications to the Persistent Exclusion List\r\n\r\n    .\\winget-update.ps1 -AddPersistentExcludeApps \"App3,App4\"\r\n\r\n### Forced Update with Custom Parameters\r\n\r\n    .\\winget-update.ps1 -Mode force -CustomParams \"--no-upgrade\"\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Feel free to open an issue or submit a pull request.\r\n\r\n1. Fork the project\r\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\r\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push to the branch (`git push origin feature/AmazingFeature`)\r\n5. Open a Pull Request\r\n\r\n## Licence\r\n\r\nThis project is licensed under the MIT Licence. See the [LICENCE](LICENCE) file for details.\r\n\r\n---\r\n\r\nDeveloped with ❤️ by [Sterbweise](https://github.com/sterbweise)\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsterbweise%2Fwinget-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsterbweise%2Fwinget-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsterbweise%2Fwinget-update/lists"}