microsoft / microsoft/winget-cli

Credentials

Open
#2,455 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Description of the new feature / enhancement

winget upgrade --all
Most apps just upgrade and this is fantastic, they are per user apps.
here is a list of apps that required elevation which we use.

Name Id Version Available Source

7-Zip 21.07 (x64) 7zip.7zip 21.07 22.01 winget
Git Git.Git 2.37.0 2.37.2.2 winget
Notepad++ (64-bit x64) Notepad++.Notepad++ 8.4.2 8.4.4 winget
Windows Software Development Kit - Windows 10… Microsoft.WindowsSDK < 10.0.22000.832 10.0.22621.1 winget
Google Chrome Google.Chrome 104.0.5112.81 104.0.5112.102 winget
Microsoft Visual C++ 2015-2019 Redistributabl… Microsoft.VC++2015-2019Redist-x64 14.25.28508.3 14.29.30139.0 winget
Teams Machine-Wide Installer Microsoft.Teams 1.4.0.22976 1.5.00.17656 winget
Adobe Acrobat Reader DC Adobe.Acrobat.Reader.32-bit 22.001.20117 22.002.20191 winget
Microsoft Visual Studio Code Microsoft.VisualStudioCode 1.69.2 1.70.1 winget

We can't use this very promising tool to automate the upgrades, as this is a show stopper on 2000 computers.
In our environment any domain or service account with local admin access can't run WinGet. (not for the lack of hacking it out and trying) It simply refuses to run using a service account, we did manage to get it to work by physically logging on to a (at the keyboard) laptop with the service account, after that the service account has access to WinGet. But we cannot do this on 2000k computers spread across the UK. We don't have the man power or resources for this type of project.

Proposed technical implementation details

The way I see it, we need one of two routes here, or both.
If we could supply credentials in a PowerShell script using get-credentials, which could then be passed on to the apps that need it,
or if we could distribute the WinGet app to "all users" (machine context) using Intune that would work as well.

The downside I see in the all users route is we would need to maintain 2 scripts:

  1. a list of apps that require "elevation"
  2. a list of user apps

This means if we don't constantly monitor and compare we would end up missing apps

Also as WinGet is not already present on all computers better instructions on how we can get it installed possibly with an Intune offline installer to be used on all computers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported winget upgrade --all behavior and compare the two proposed paths: PowerShell get-credentials and an all-users Intune installation. The issue names no source files or tests, so define the supported credential and machine-context workflow before implementation and verify upgrades for both per-user and elevated applications.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
cli, devops, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.