WinGet Software Management
Summary
A suite of 5 agent procedures to manage WinGet packages on an endpoint using ProVal Agnostic Script SWM - Software Management - Powershell - Invoke-WingetProcessor:
- WinGet Package Install
- WinGet Package Uninstall
- WinGet UpdateAll
- WinGet Export
- WinGet Import Install
Usage
The series of scripts have several parameters that can be set.

#packageID# - Ensure this matches capitalization.
If you are unsure, use winget search to find the proper name.

#AllowUpdate# - Leave this as 1, unless there's a need to disable updates.
#specifysource# - Leave this as 0, unless there's a specific need for a particular package.
#optionalparameter# - This is set to 0 by default, but a common option that may be needed is machine-wide installation packages.
If we want to install a package machine-wide, we use this optionalparameter to specify so.
The parameter must be passed as an array, so ensure it matches as seen in the screenshot or copy it as shown below:
'--Scope', 'machine'
Example Agent Procedure Log
12:23:19 pm 6-Jan-23   WinGet Package Install   Success THEN   provaltech.com/dan.hicks  
12:23:19 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)   Success THEN   provaltech.com/dan.hicks  
12:23:18 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0016   Powershell command complete. Results returned to global variable #global:psresult# and saved in Agent's Documents tab of server.   provaltech.com/dan.hicks  
12:23:16 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0011   Executing 64-bit Powershell command as System: "\"\" -command "%ProgramData%/_automation/AgentProcedure/WingetProcessor/Invoke-WingetProcessor.ps1 -install -AllowUpdate -PackageId notepad++.notepad++ -InformationAction Continue\" >\"c:/provaltech/psoutputtmp.txt\""   provaltech.com/dan.hicks  
12:23:16 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0013   Sending output to global variable.   provaltech.com/dan.hicks  
12:23:16 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0008   Custom commands detected as %ProgramData%/_automation/AgentProcedure/WingetProcessor/Invoke-WingetProcessor.ps1 -install -AllowUpdate -PackageId notepad++.notepad++ -InformationAction Continue   provaltech.com/dan.hicks  
12:23:16 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0003   No powershell file variable detected.   provaltech.com/dan.hicks  
12:23:15 pm 6-Jan-23   Execute Powershell Command (64-bit, Run As System)-0002   Powershell is present.   provaltech.com/dan.hicks  
12:23:14 pm 6-Jan-23   Execute Powershell Command   Success THEN   provaltech.com/dan.hicks  
12:23:13 pm 6-Jan-23   Execute Powershell Command-0011   Powershell command completed!   provaltech.com/dan.hicks  
12:23:11 pm 6-Jan-23   Execute Powershell Command-0011   Executing powershell "\"\" -Command \"New-Item -Type Directory -Path $env:ProgramData/_automation/AgentProcedure -name WingetProcessor\" \"\""   provaltech.com/dan.hicks  
12:23:11 pm 6-Jan-23   Execute Powershell Command-0010   Not sending output to variable.   provaltech.com/dan.hicks  
12:23:11 pm 6-Jan-23   Execute Powershell Command-0008   New command variable is: -Command \"New-Item -Type Directory -Path $env:ProgramData/_automation/AgentProcedure -name WingetProcessor\"   provaltech.com/dan.hicks  
12:23:11 pm 6-Jan-23   Execute Powershell Command-0008   Custom commands detected as New-Item -Type Directory -Path $env:ProgramData/_automation/AgentProcedure -name WingetProcessor   provaltech.com/dan.hicks  
12:23:09 pm 6-Jan-23   Execute Powershell Command-0002   Powershell is present.   provaltech.com/dan.hicks  
12:23:01 pm 6-Jan-23   Run Now - WinGet Package Install   Admin provaltech.com/dan.hicks scheduled procedure Run Now - WinGet Package Install to run at Jan 6 2023 12:23 PM
Dependencies
WinGet Import requires a WinGet Export JSON file to be uploaded to Managed Files in the environment.
Process
Utilizes Agnostic Content SWM - Software Management - Powershell - Invoke-WingetProcessor to run WinGet as a system user on an endpoint and manage application packages.
Output
- Agent Procedure Log
- Log Files Exported to GetFiles
- Export JSON Exported to GetFiles and present on endpoint in %ProgramData%/_automation/AgentProcedure/wingetprocessor