From 30a34577bcfb40767d23513491312c8938b4173a Mon Sep 17 00:00:00 2001
From: Romanitho <96626929+Romanitho@users.noreply.github.com>
Date: Sun, 16 Jan 2022 18:05:33 +0100
Subject: [PATCH] Add files via upload
---
winget-update/Invisible.vbs | 1 +
winget-update/error.png | Bin 0 -> 3733 bytes
winget-update/info.png | Bin 0 -> 3324 bytes
winget-update/success.png | Bin 0 -> 4198 bytes
winget-update/warning.png | Bin 0 -> 3221 bytes
winget-update/winget-notify.ps1 | 21 +++
winget-update/winget-upgrade.ps1 | 278 +++++++++++++++++++++++++++++++
7 files changed, 300 insertions(+)
create mode 100644 winget-update/Invisible.vbs
create mode 100644 winget-update/error.png
create mode 100644 winget-update/info.png
create mode 100644 winget-update/success.png
create mode 100644 winget-update/warning.png
create mode 100644 winget-update/winget-notify.ps1
create mode 100644 winget-update/winget-upgrade.ps1
diff --git a/winget-update/Invisible.vbs b/winget-update/Invisible.vbs
new file mode 100644
index 0000000..78fd137
--- /dev/null
+++ b/winget-update/Invisible.vbs
@@ -0,0 +1 @@
+CreateObject("Wscript.Shell").Run "" & WScript.Arguments(0) & "", 0, False
\ No newline at end of file
diff --git a/winget-update/error.png b/winget-update/error.png
new file mode 100644
index 0000000000000000000000000000000000000000..b58f0804115d0d4859b9f6be37e829c7cdd78d0d
GIT binary patch
literal 3733
zcmV;G4r=j
DgGeaNKV3WddO*W
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
literal 0
HcmV?d00001
diff --git a/winget-update/info.png b/winget-update/info.png
new file mode 100644
index 0000000000000000000000000000000000000000..7760bdea34aa6e8273287a6770517b2942de33e5
GIT binary patch
literal 3324
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
Hu0mjfBC}4n
literal 0
HcmV?d00001
diff --git a/winget-update/winget-notify.ps1 b/winget-update/winget-notify.ps1
new file mode 100644
index 0000000..d8053d2
--- /dev/null
+++ b/winget-update/winget-notify.ps1
@@ -0,0 +1,21 @@
+#Send Notif Script
+
+#get xml notif config
+[xml]$NotifConf = Get-Content "C:\ProgramData\winget-update\notif.xml" -Encoding UTF8
+if (!($NotifConf)) {break}
+
+#Load Assemblies
+[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
+[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null
+
+#Prepare XML
+$ToastXml = [Windows.Data.Xml.Dom.XmlDocument]::New()
+$ToastXml.LoadXml($NotifConf.OuterXml)
+
+#Specify Launcher App ID
+$LauncherID = "Windows.SystemToast.Winget.Notification"
+
+#Prepare and Create Toast
+$ToastMessage = [Windows.UI.Notifications.ToastNotification]::New($ToastXML)
+$ToastMessage.Tag = $NotifConf.toast.tag
+[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($LauncherID).Show($ToastMessage)
\ No newline at end of file
diff --git a/winget-update/winget-upgrade.ps1 b/winget-update/winget-upgrade.ps1
new file mode 100644
index 0000000..f1b7d4d
--- /dev/null
+++ b/winget-update/winget-upgrade.ps1
@@ -0,0 +1,278 @@
+function Init {
+ #Var
+ $Script:WorkingDir = "C:\ProgramData\winget-update"
+
+ #Logs initialisation
+ $LogPath = "$WorkingDir\logs"
+ if (!(Test-Path $LogPath)){
+ New-Item -ItemType Directory -Force -Path $LogPath
+ }
+
+ #Log file
+ $Script:LogFile = "$LogPath\updates.log"
+
+ #Log Header
+ $Log = "##################################################`n# CHECK FOR APP UPDATES - $(Get-Date -Format 'dd/MM/yyyy')`n##################################################"
+ $Log | Write-host
+ $Log | out-file -filepath $LogFile -Append
+}
+
+function Write-Log ($LogMsg,$LogColor = "White") {
+ #Get log
+ $Log = "$(Get-Date -UFormat "%T") - $LogMsg"
+ #Echo log
+ $Log | Write-host -ForegroundColor $LogColor
+ #Write log to file
+ $Log | out-file -filepath $LogFile -Append
+}
+
+function Run-NotifTask ($Title,$Message,$MessageType,$Balise) {
+
+ #Add XML variables
+[xml]$ToastTemplate = @"
+
+
+
+ $Title
+ $Message
+
+
+
+ $Balise
+
+"@
+
+ #Save XML File
+ $ToastTemplate.Save("$WorkingDir\notif.xml")
+
+ #Send Notification to user
+ Get-ScheduledTask -TaskName "Winget Update Notify" -ErrorAction SilentlyContinue | Start-ScheduledTask -ErrorAction SilentlyContinue
+ #Wait for notification to display
+ while ((Get-ScheduledTask -TaskName "Winget Update Notify").State -ne 'Ready') {
+ echo "Waiting on scheduled task..."
+ }
+}
+
+function Test-Network {
+ $timeout = 0
+ $ping = $false
+ #test connectivity during 30 min then timeout
+ Write-Log "Checking internet connection..." "Yellow"
+ while (!$ping -and $timeout -lt 1800){
+ try{
+ Invoke-RestMethod -Uri 'https://en.wikipedia.org/api/rest_v1/'
+ Write-Log "Coonected !" "Green"
+ $ping = $true
+ return
+ }
+ catch{
+ sleep 10
+ $timeout += 10
+ Write-Log "Checking internet connection. $($timeout)s." "Yellow"
+ }
+ if ($timeout -eq 300){
+ #Send Notif if no connection for 5 min
+ Write-Log "Notify 'No connection'" "Yellow"
+ $Title = "Vérifiez votre connexion réseau"
+ $Message = "Impossible de vérifier les mises à jours logicielles pour le moment !"
+ $MessageType = "warning"
+ $Balise = "connection"
+ Run-NotifTask $Title $Message $MessageType $Balise
+ }
+ }
+ return $ping
+}
+
+function Get-WingetOutdated {
+ class Software {
+ [string]$Name
+ [string]$Id
+ [string]$Version
+ [string]$AvailableVersion
+ }
+
+ #Get WinGet Location to run as system
+ if (Test-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\AppInstallerCLI.exe"){
+ #WinGet < 1.17
+ $script:upgradecmd = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\AppInstallerCLI.exe" | Select -ExpandProperty Path
+
+ }
+ elseif (Test-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\winget.exe"){
+ #WinGet > 1.17
+ $script:upgradecmd = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\winget.exe" | Select -ExpandProperty Path
+ }
+ else{
+ Write-Log "No Winget installed !"
+ return
+ }
+
+ $upgradeResult = & $upgradecmd upgrade | Out-String
+
+ if (!($upgradeResult -match "-----")){
+ return
+ }
+
+ $lines = $upgradeResult.Split([Environment]::NewLine)
+
+ # Find the line that starts with ------
+ $fl = 0
+ while (-not $lines[$fl].StartsWith("-----"))
+ {
+ $fl++
+ }
+
+ #Get header line
+ $fl = $fl - 2
+
+ #Get header titles
+ $index = $lines[$fl] -split '\s+'
+
+ # Line $i has the header, we can find char where we find ID and Version
+ $idStart = $lines[$fl].IndexOf($index[1])
+ $versionStart = $lines[$fl].IndexOf($index[2])
+ $availableStart = $lines[$fl].IndexOf($index[3])
+ $sourceStart = $lines[$fl].IndexOf($index[4])
+
+ # Now cycle in real package and split accordingly
+ $upgradeList = @()
+ For ($i = $fl + 2; $i -le $lines.Length; $i++)
+ {
+ $line = $lines[$i]
+ if ($line.Length -gt ($availableStart + 1) -and -not $line.StartsWith('-'))
+ {
+ $name = $line.Substring(0, $idStart).TrimEnd()
+ $id = $line.Substring($idStart, $versionStart - $idStart).TrimEnd()
+ $version = $line.Substring($versionStart, $availableStart - $versionStart).TrimEnd()
+ $available = $line.Substring($availableStart, $sourceStart - $availableStart).TrimEnd()
+ $software = [Software]::new()
+ $software.Name = $name;
+ $software.Id = $id;
+ $software.Version = $version
+ $software.AvailableVersion = $available;
+ $upgradeList += $software
+ }
+ }
+
+ return $upgradeList
+}
+
+### MAIN ###
+
+#Run initialisation
+Init
+
+#Exclude apps (auto update)
+$toSkip = @(
+"Google.Chrome",
+"Mozilla.Firefox",
+"Microsoft.Edge",
+"Microsoft.Office"
+)
+
+#Check network connectivity
+$ping = Test-Network
+
+if ($ping){
+
+ #Get outdated choco packages
+ Write-Log "Checking available updates..." "yellow"
+
+ #Get outdated apps
+ $outdated = Get-WingetOutdated
+
+ #Log list of app to update
+ foreach ($app in $outdated){
+ #List available updates
+ $Log = "Available update : $($app.Name). Current version : $($app.Version). Available version : $($app.AvailableVersion)."
+ $Log | Write-host
+ $Log | out-file -filepath $LogFile -Append
+ }
+
+ #Count good update installs
+ $InstallOK = 0
+
+ #For each app, notify and update
+ foreach ($app in $outdated){
+
+ if (-not ($toSkip -contains $app.Id)){
+
+ #Send available update notification
+ Write-Log "Updating $($app.Name) from $($app.Version) to $($app.AvailableVersion)..." "Cyan"
+
+ #Send Notif
+ $Title = "$($app.Name) va être mis à jour."
+ $Message = "$($app.Version) -> $($app.AvailableVersion)"
+ $MessageType = "info"
+ $Balise = $($app.Name)
+ Run-NotifTask $Title $Message $MessageType $Balise
+
+ #Install update
+ $Log = "#--- Winget - $($app.Name) Upgrade Starts ---"
+ $Log | Write-host -ForegroundColor Gray
+ $Log | out-file -filepath $LogFile -Append
+
+ #Winget upgrade
+ & $upgradecmd upgrade -e --id $($app.Id) --accept-package-agreements --accept-source-agreements
+ Sleep 3
+
+ $Log = "#--- Winget - $($app.Name) Upgrade Finished ---"
+ $Log | Write-host -ForegroundColor Gray
+ $Log | out-file -filepath $LogFile -Append
+
+ #Check installed version
+ $checkoutdated = Get-WingetOutdated
+ $FailedToUpgrade = $false
+ foreach ($checkapp in $checkoutdated){
+ if ($($checkapp.Id) -eq $($app.Id)) {
+ $FailedToUpgrade = $true
+ }
+ }
+
+ #Notify installation
+ if ($FailedToUpgrade -eq $false){
+ #Send success updated app notification
+ Write-Log "$($app.Name) updated to $($app.AvailableVersion) !" "Green"
+
+ #Send Notif
+ $Title = "$($app.Name) a été mis à jour."
+ $Message = "Version installée : $($app.AvailableVersion)"
+ $MessageType = "success"
+ $Balise = $($app.Name)
+ Run-NotifTask $Title $Message $MessageType $Balise
+
+ $InstallOK += 1
+ }
+ else {
+ #Send failed updated app notification
+ Write-Log "$($app.Name) update failed." "Red"
+
+ #Send Notif
+ $Title = "$($app.Name) n'a pas pu être mis à jour !"
+ $Message = "Contacter le support."
+ $MessageType = "error"
+ $Balise = $($app.Name)
+ Run-NotifTask $Title $Message $MessageType $Balise
+ }
+ }
+ else{
+ Write-Log "Skipped upgrade because $($app.Name) is in the excluded app list" "Gray"
+ }
+ }
+
+ if ($InstallOK -gt 0){
+ Write-Log "$InstallOK apps updated ! No more update." "Green"
+ }
+ if ($InstallOK -eq 0){
+ Write-Log "No new update." "Green"
+ }
+}
+else{
+ Write-Log "Timeout. No internet connection !" "Red"
+ #Send Notif
+ $Title = "Aucune connexion réseau"
+ $Message = "Les mises à jour logicielles n'ont pas pu être vérifiées !"
+ $MessageType = "error"
+ $Balise = "connection"
+ Run-NotifTask $Title $Message $MessageType $Balise
+}
+Write-Log "End of process!" "Cyan"
\ No newline at end of file