mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 06:35:51 -06:00
44 lines
1.3 KiB
PowerShell
44 lines
1.3 KiB
PowerShell
Function Install-WinUtilProgramWinget {
|
|
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Manages the provided programs using Winget
|
|
|
|
.PARAMETER ProgramsToInstall
|
|
A list of programs to manage
|
|
|
|
.PARAMETER manage
|
|
The action to perform on the programs, can be either 'Installing' or 'Uninstalling'
|
|
|
|
.NOTES
|
|
The triple quotes are required any time you need a " in a normal script block.
|
|
|
|
#>
|
|
|
|
param(
|
|
$ProgramsToInstall,
|
|
$manage = "Installing"
|
|
)
|
|
|
|
$x = 0
|
|
$count = $($ProgramsToInstall -split ",").Count
|
|
|
|
Write-Progress -Activity "$manage Applications" -Status "Starting" -PercentComplete 0
|
|
|
|
Foreach ($Program in $($ProgramsToInstall -split ",")){
|
|
|
|
Write-Progress -Activity "$manage Applications" -Status "$manage $Program $($x + 1) of $count" -PercentComplete $($x/$count*100)
|
|
if($manage -eq "Installing"){
|
|
Start-Process -FilePath winget -ArgumentList "install -e --accept-source-agreements --accept-package-agreements --scope=machine --silent $Program" -NoNewWindow -Wait
|
|
}
|
|
if($manage -eq "Uninstalling"){
|
|
Start-Process -FilePath winget -ArgumentList "uninstall -e --purge --force --silent $Program" -NoNewWindow -Wait
|
|
}
|
|
|
|
$X++
|
|
}
|
|
|
|
Write-Progress -Activity "$manage Applications" -Status "Finished" -Completed
|
|
|
|
} |