From a7bd127c4393a729a46a13dda06cf7a22ca52fd0 Mon Sep 17 00:00:00 2001 From: romanitho <96626929+Romanitho@users.noreply.github.com> Date: Fri, 10 Jun 2022 10:26:41 +0200 Subject: [PATCH] VSCode Format --- Winget-AutoUpdate-Install.ps1 | 136 +++++++++--------- Winget-AutoUpdate/WAU-Uninstall.ps1 | 6 +- .../functions/Add-ScopeMachine.ps1 | 16 +-- .../functions/Get-ExcludedApps.ps1 | 4 +- .../functions/Get-IncludedApps.ps1 | 4 +- .../functions/Get-NotifLocale.ps1 | 4 +- .../functions/Get-WAUAvailableVersion.ps1 | 2 +- Winget-AutoUpdate/functions/Get-WingetCmd.ps1 | 10 +- .../functions/Get-WingetOutdatedApps.ps1 | 10 +- .../functions/Invoke-PostUpdateActions.ps1 | 12 +- Winget-AutoUpdate/functions/Start-Init.ps1 | 8 +- .../functions/Start-NotifTask.ps1 | 8 +- Winget-AutoUpdate/functions/Test-Mods.ps1 | 10 +- Winget-AutoUpdate/functions/Test-Network.ps1 | 8 +- Winget-AutoUpdate/functions/Update-App.ps1 | 10 +- Winget-AutoUpdate/functions/Update-WAU.ps1 | 6 +- Winget-AutoUpdate/winget-notify.ps1 | 4 +- Winget-AutoUpdate/winget-upgrade.ps1 | 46 +++--- 18 files changed, 152 insertions(+), 152 deletions(-) diff --git a/Winget-AutoUpdate-Install.ps1 b/Winget-AutoUpdate-Install.ps1 index d8f12e6..fa700e1 100644 --- a/Winget-AutoUpdate-Install.ps1 +++ b/Winget-AutoUpdate-Install.ps1 @@ -47,44 +47,44 @@ Specify the update frequency: Daily (Default), Weekly, Biweekly or Monthly. [CmdletBinding()] param( - [Parameter(Mandatory=$False)] [Alias('S')] [Switch] $Silent = $false, - [Parameter(Mandatory=$False)] [Alias('Path')] [String] $WingetUpdatePath = "$env:ProgramData\Winget-AutoUpdate", - [Parameter(Mandatory=$False)] [Switch] $DoNotUpdate = $false, - [Parameter(Mandatory=$False)] [Switch] $DisableWAUAutoUpdate = $false, - [Parameter(Mandatory=$False)] [Switch] $Uninstall = $false, - [Parameter(Mandatory=$False)] [Switch] $UseWhiteList = $false, - [Parameter(Mandatory=$False)] [ValidateSet("Full","SuccessOnly","None")] [String] $NotificationLevel = "Full", - [Parameter(Mandatory=$False)] [Switch] $UpdatesAtLogon = $false, - [Parameter(Mandatory=$False)] [ValidateSet("Daily","Weekly","BiWeekly","Monthly")] [String] $UpdatesInterval = "Daily" + [Parameter(Mandatory = $False)] [Alias('S')] [Switch] $Silent = $false, + [Parameter(Mandatory = $False)] [Alias('Path')] [String] $WingetUpdatePath = "$env:ProgramData\Winget-AutoUpdate", + [Parameter(Mandatory = $False)] [Switch] $DoNotUpdate = $false, + [Parameter(Mandatory = $False)] [Switch] $DisableWAUAutoUpdate = $false, + [Parameter(Mandatory = $False)] [Switch] $Uninstall = $false, + [Parameter(Mandatory = $False)] [Switch] $UseWhiteList = $false, + [Parameter(Mandatory = $False)] [ValidateSet("Full", "SuccessOnly", "None")] [String] $NotificationLevel = "Full", + [Parameter(Mandatory = $False)] [Switch] $UpdatesAtLogon = $false, + [Parameter(Mandatory = $False)] [ValidateSet("Daily", "Weekly", "BiWeekly", "Monthly")] [String] $UpdatesInterval = "Daily" ) <# APP INFO #> -$WAUVersion = "1.11.4" +$WAUVersion = "1.11.4" <# FUNCTIONS #> -function Install-Prerequisites{ +function Install-Prerequisites { Write-Host "`nChecking prerequisites..." -ForegroundColor Yellow #Check if Visual C++ 2019 or 2022 installed $Visual2019 = "Microsoft Visual C++ 2015-2019 Redistributable*" $Visual2022 = "Microsoft Visual C++ 2015-2022 Redistributable*" - $path = Get-Item HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.GetValue("DisplayName") -like $Visual2019 -or $_.GetValue("DisplayName") -like $Visual2022} + $path = Get-Item HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.GetValue("DisplayName") -like $Visual2019 -or $_.GetValue("DisplayName") -like $Visual2022 } #If not installed, ask for installation - if (!($path)){ + if (!($path)) { #If -silent option, force installation - if ($Silent){ + if ($Silent) { $InstallApp = 1 } - else{ + else { #Ask for installation $MsgBoxTitle = "Winget Prerequisites" $MsgBoxContent = "Microsoft Visual C++ 2015-2022 is required. Would you like to install it?" $MsgBoxTimeOut = 60 - $MsgBoxReturn = (New-Object -ComObject "Wscript.Shell").Popup($MsgBoxContent,$MsgBoxTimeOut,$MsgBoxTitle,4+32) + $MsgBoxReturn = (New-Object -ComObject "Wscript.Shell").Popup($MsgBoxContent, $MsgBoxTimeOut, $MsgBoxTitle, 4 + 32) if ($MsgBoxReturn -ne 7) { $InstallApp = 1 } @@ -93,12 +93,12 @@ function Install-Prerequisites{ } } #Install if approved - if ($InstallApp -eq 1){ - try{ - if((Get-CimInStance Win32_OperatingSystem).OSArchitecture -like "*64*"){ + if ($InstallApp -eq 1) { + try { + if ((Get-CimInStance Win32_OperatingSystem).OSArchitecture -like "*64*") { $OSArch = "x64" } - else{ + else { $OSArch = "x86" } Write-host "-> Downloading VC_redist.$OSArch.exe..." @@ -111,47 +111,47 @@ function Install-Prerequisites{ Remove-Item $Installer -ErrorAction Ignore Write-host "-> MS Visual C++ 2015-2022 installed successfully" -ForegroundColor Green } - catch{ + catch { Write-host "-> MS Visual C++ 2015-2022 installation failed." -ForegroundColor Red Start-Sleep 3 } } - else{ + else { Write-host "-> MS Visual C++ 2015-2022 will not be installed." -ForegroundColor Magenta } } - else{ + else { Write-Host "Prerequisites checked. OK" -ForegroundColor Green } } -function Install-WinGet{ +function Install-WinGet { Write-Host "`nChecking if Winget is installed" -ForegroundColor Yellow #Check Package Install - $TestWinGet = Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -eq "Microsoft.DesktopAppInstaller"} + $TestWinGet = Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -eq "Microsoft.DesktopAppInstaller" } - If([Version]$TestWinGet.Version -ge "2022.519.1908.0") { + If ([Version]$TestWinGet.Version -ge "2022.519.1908.0") { Write-Host "WinGet is Installed" -ForegroundColor Green } - Else{ + Else { #Download WinGet MSIXBundle Write-Host "-> Not installed. Downloading WinGet..." $WinGetURL = "https://github.com/microsoft/winget-cli/releases/download/v1.3.1391-preview/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" - $WebClient=New-Object System.Net.WebClient + $WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile($WinGetURL, "$PSScriptRoot\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle") #Install WinGet MSIXBundle - try{ + try { Write-Host "-> Installing Winget MSIXBundle for App Installer..." Add-AppxProvisionedPackage -Online -PackagePath "$PSScriptRoot\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -SkipLicense | Out-Null Write-Host "Installed Winget MSIXBundle for App Installer" -ForegroundColor Green } - catch{ + catch { Write-Host "Failed to intall Winget MSIXBundle for App Installer..." -ForegroundColor Red } @@ -162,13 +162,13 @@ function Install-WinGet{ } -function Install-WingetAutoUpdate{ +function Install-WingetAutoUpdate { Write-Host "`nInstalling WAU..." -ForegroundColor Yellow - try{ + try { #Copy files to location (and clean old install) - if (!(Test-Path $WingetUpdatePath)){ + if (!(Test-Path $WingetUpdatePath)) { New-Item -ItemType Directory -Force -Path $WingetUpdatePath | Out-Null } else { @@ -177,11 +177,11 @@ function Install-WingetAutoUpdate{ Copy-Item -Path "$PSScriptRoot\Winget-AutoUpdate\*" -Destination $WingetUpdatePath -Recurse -Force -ErrorAction SilentlyContinue #White List or Black List apps - if ($UseWhiteList){ - if (Test-Path "$PSScriptRoot\included_apps.txt"){ + if ($UseWhiteList) { + if (Test-Path "$PSScriptRoot\included_apps.txt") { Copy-Item -Path "$PSScriptRoot\included_apps.txt" -Destination $WingetUpdatePath -Recurse -Force -ErrorAction SilentlyContinue } - else{ + else { New-Item -Path $WingetUpdatePath -Name "included_apps.txt" -ItemType "file" -ErrorAction SilentlyContinue | Out-Null } } @@ -196,19 +196,19 @@ function Install-WingetAutoUpdate{ # Settings for the scheduled task for Updates $taskAction = New-ScheduledTaskAction –Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$($WingetUpdatePath)\winget-upgrade.ps1`"" $taskTriggers = @() - if ($UpdatesAtLogon){ + if ($UpdatesAtLogon) { $tasktriggers += New-ScheduledTaskTrigger -AtLogOn } - if ($UpdatesInterval -eq "Daily"){ + if ($UpdatesInterval -eq "Daily") { $tasktriggers += New-ScheduledTaskTrigger -Daily -At 6AM } - elseif ($UpdatesInterval -eq "Weekly"){ + elseif ($UpdatesInterval -eq "Weekly") { $tasktriggers += New-ScheduledTaskTrigger -Weekly -At 6AM -DaysOfWeek 2 } - elseif ($UpdatesInterval -eq "BiWeekly"){ + elseif ($UpdatesInterval -eq "BiWeekly") { $tasktriggers += New-ScheduledTaskTrigger -Weekly -At 6AM -DaysOfWeek 2 -WeeksInterval 2 } - elseif ($UpdatesInterval -eq "Monthly"){ + elseif ($UpdatesInterval -eq "Monthly") { $tasktriggers += New-ScheduledTaskTrigger -Weekly -At 6AM -DaysOfWeek 2 -WeeksInterval 4 } $taskUserPrincipal = New-ScheduledTaskPrincipal -UserId S-1-5-18 -RunLevel Highest @@ -258,23 +258,23 @@ function Install-WingetAutoUpdate{ #Run Winget ? Start-WingetAutoUpdate } - catch{ + catch { Write-host "WAU Installation failed! Run me with admin rights" -ForegroundColor Red Start-sleep 1 return $False } } -function Uninstall-WingetAutoUpdate{ +function Uninstall-WingetAutoUpdate { Write-Host "`nUninstalling WAU..." -ForegroundColor Yellow - try{ + try { #Get registry install location $InstallLocation = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate\" -Name InstallLocation #Check if installed location exists and delete - if (Test-Path ($InstallLocation)){ + if (Test-Path ($InstallLocation)) { Remove-Item $InstallLocation -Force -Recurse Get-ScheduledTask -TaskName "Winget-AutoUpdate" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False Get-ScheduledTask -TaskName "Winget-AutoUpdate-Notify" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False @@ -288,46 +288,46 @@ function Uninstall-WingetAutoUpdate{ Write-host "$InstallLocation not found! Uninstallation failed!" -ForegroundColor Red } } - catch{ + catch { Write-host "Uninstallation failed! Run as admin ?" -ForegroundColor Red Start-sleep 1 } } -function Start-WingetAutoUpdate{ +function Start-WingetAutoUpdate { #If -DoNotUpdate is true, skip. - if (!($DoNotUpdate)){ - #If -Silent, run Winget-AutoUpdate now - if ($Silent){ + if (!($DoNotUpdate)) { + #If -Silent, run Winget-AutoUpdate now + if ($Silent) { + $RunWinget = 1 + } + #Ask for WingetAutoUpdate + else { + $MsgBoxTitle = "Winget-AutoUpdate" + $MsgBoxContent = "Would you like to run Winget-AutoUpdate now?" + $MsgBoxTimeOut = 60 + $MsgBoxReturn = (New-Object -ComObject "Wscript.Shell").Popup($MsgBoxContent, $MsgBoxTimeOut, $MsgBoxTitle, 4 + 32) + if ($MsgBoxReturn -ne 7) { $RunWinget = 1 } - #Ask for WingetAutoUpdate - else{ - $MsgBoxTitle = "Winget-AutoUpdate" - $MsgBoxContent = "Would you like to run Winget-AutoUpdate now?" - $MsgBoxTimeOut = 60 - $MsgBoxReturn = (New-Object -ComObject "Wscript.Shell").Popup($MsgBoxContent,$MsgBoxTimeOut,$MsgBoxTitle,4+32) - if ($MsgBoxReturn -ne 7) { - $RunWinget = 1 - } - else { - $RunWinget = 0 - } + else { + $RunWinget = 0 } - if ($RunWinget -eq 1){ - try{ + } + if ($RunWinget -eq 1) { + try { Write-host "`nRunning Winget-AutoUpdate..." -ForegroundColor Yellow Get-ScheduledTask -TaskName "Winget-AutoUpdate" -ErrorAction SilentlyContinue | Start-ScheduledTask -ErrorAction SilentlyContinue - while ((Get-ScheduledTask -TaskName "Winget-AutoUpdate").State -ne 'Ready') { + while ((Get-ScheduledTask -TaskName "Winget-AutoUpdate").State -ne 'Ready') { Start-Sleep 1 } } - catch{ + catch { Write-host "Failed to run Winget-AutoUpdate..." -ForegroundColor Red } } } - else{ + else { Write-host "Skip running Winget-AutoUpdate" } } @@ -348,7 +348,7 @@ Write-Host "`t Winget-AutoUpdate $WAUVersion`n" -ForegroundColor Write-Host "`t https://github.com/Romanitho/Winget-AutoUpdate`n" -ForegroundColor Magenta Write-Host "`t________________________________________________________`n`n" -if (!$Uninstall){ +if (!$Uninstall) { Write-host "Installing WAU to $WingetUpdatePath\" Install-Prerequisites Install-WinGet diff --git a/Winget-AutoUpdate/WAU-Uninstall.ps1 b/Winget-AutoUpdate/WAU-Uninstall.ps1 index 8ae6c03..3701b1f 100644 --- a/Winget-AutoUpdate/WAU-Uninstall.ps1 +++ b/Winget-AutoUpdate/WAU-Uninstall.ps1 @@ -11,13 +11,13 @@ Write-Host "`t Winget-AutoUpdate`n" -ForegroundColor Cyan Write-Host "`t https://github.com/Romanitho/Winget-AutoUpdate`n" -ForegroundColor Magenta Write-Host "`t________________________________________________________`n`n" -try{ +try { Write-host "Uninstalling WAU..." -ForegroundColor Yellow #Get registry install location $InstallLocation = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate\" -Name InstallLocation #Check if installed location exists and delete - if (Test-Path ($InstallLocation)){ + if (Test-Path ($InstallLocation)) { Remove-Item "$InstallLocation\*" -Force -Recurse -Exclude "*.log" Get-ScheduledTask -TaskName "Winget-AutoUpdate" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False Get-ScheduledTask -TaskName "Winget-AutoUpdate-Notify" -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$False @@ -33,7 +33,7 @@ try{ Write-host "$InstallLocation not found! Uninstallation failed!" -ForegroundColor Red } } -catch{ +catch { Write-host "`nUninstallation failed! Run as admin ?" -ForegroundColor Red } diff --git a/Winget-AutoUpdate/functions/Add-ScopeMachine.ps1 b/Winget-AutoUpdate/functions/Add-ScopeMachine.ps1 index 80b5968..81ef5da 100644 --- a/Winget-AutoUpdate/functions/Add-ScopeMachine.ps1 +++ b/Winget-AutoUpdate/functions/Add-ScopeMachine.ps1 @@ -1,21 +1,19 @@ #Function to configure prefered scope option as Machine function Add-ScopeMachine ($SettingsPath) { - if (Test-Path $SettingsPath){ - $ConfigFile = Get-Content -Path $SettingsPath | Where-Object {$_ -notmatch '//'} | ConvertFrom-Json + if (Test-Path $SettingsPath) { + $ConfigFile = Get-Content -Path $SettingsPath | Where-Object { $_ -notmatch '//' } | ConvertFrom-Json } - if (!$ConfigFile){ + if (!$ConfigFile) { $ConfigFile = @{} } - if ($ConfigFile.installBehavior.preferences.scope){ + if ($ConfigFile.installBehavior.preferences.scope) { $ConfigFile.installBehavior.preferences.scope = "Machine" } else { - Add-Member -InputObject $ConfigFile -MemberType NoteProperty -Name 'installBehavior' -Value $( - New-Object PSObject -Property $(@{preferences = $( - New-Object PSObject -Property $(@{scope = "Machine"})) - }) - ) -Force + $Scope = New-Object PSObject -Property $(@{scope = "Machine" }) + $Preference = New-Object PSObject -Property $(@{preferences = $Scope }) + Add-Member -InputObject $ConfigFile -MemberType NoteProperty -Name 'installBehavior' -Value $Preference -Force } $ConfigFile | ConvertTo-Json | Out-File $SettingsPath -Encoding utf8 -Force diff --git a/Winget-AutoUpdate/functions/Get-ExcludedApps.ps1 b/Winget-AutoUpdate/functions/Get-ExcludedApps.ps1 index 01f1ff1..79e5ca4 100644 --- a/Winget-AutoUpdate/functions/Get-ExcludedApps.ps1 +++ b/Winget-AutoUpdate/functions/Get-ExcludedApps.ps1 @@ -1,8 +1,8 @@ #Function to get Black List apps -function Get-ExcludedApps{ +function Get-ExcludedApps { - if (Test-Path "$WorkingDir\excluded_apps.txt"){ + if (Test-Path "$WorkingDir\excluded_apps.txt") { return Get-Content -Path "$WorkingDir\excluded_apps.txt" diff --git a/Winget-AutoUpdate/functions/Get-IncludedApps.ps1 b/Winget-AutoUpdate/functions/Get-IncludedApps.ps1 index 81ea456..199773b 100644 --- a/Winget-AutoUpdate/functions/Get-IncludedApps.ps1 +++ b/Winget-AutoUpdate/functions/Get-IncludedApps.ps1 @@ -1,8 +1,8 @@ #Function to get White List apps -function Get-IncludedApps{ +function Get-IncludedApps { - if (Test-Path "$WorkingDir\included_apps.txt"){ + if (Test-Path "$WorkingDir\included_apps.txt") { return Get-Content -Path "$WorkingDir\included_apps.txt" diff --git a/Winget-AutoUpdate/functions/Get-NotifLocale.ps1 b/Winget-AutoUpdate/functions/Get-NotifLocale.ps1 index 657130d..568f8e9 100644 --- a/Winget-AutoUpdate/functions/Get-NotifLocale.ps1 +++ b/Winget-AutoUpdate/functions/Get-NotifLocale.ps1 @@ -9,12 +9,12 @@ Function Get-NotifLocale { $TestOSLocalPath = "$WorkingDir\locale\$($OSLocale.Name).xml" #Set OS Local if file exists - if(Test-Path $TestOSLocalPath){ + if (Test-Path $TestOSLocalPath) { $LocaleDisplayName = $OSLocale.DisplayName $LocaleFile = $TestOSLocalPath } #Set English if file doesn't exist - else{ + else { $LocaleDisplayName = "English" $LocaleFile = "$WorkingDir\locale\en.xml" } diff --git a/Winget-AutoUpdate/functions/Get-WAUAvailableVersion.ps1 b/Winget-AutoUpdate/functions/Get-WAUAvailableVersion.ps1 index b4052f7..e8bd42d 100644 --- a/Winget-AutoUpdate/functions/Get-WAUAvailableVersion.ps1 +++ b/Winget-AutoUpdate/functions/Get-WAUAvailableVersion.ps1 @@ -19,6 +19,6 @@ function Get-WAUAvailableVersion { } - return ((Invoke-WebRequest $WAUurl -UseBasicParsing | ConvertFrom-Json)[0].tag_name).Replace("v","") + return ((Invoke-WebRequest $WAUurl -UseBasicParsing | ConvertFrom-Json)[0].tag_name).Replace("v", "") } \ No newline at end of file diff --git a/Winget-AutoUpdate/functions/Get-WingetCmd.ps1 b/Winget-AutoUpdate/functions/Get-WingetCmd.ps1 index bdea396..f6180f7 100644 --- a/Winget-AutoUpdate/functions/Get-WingetCmd.ps1 +++ b/Winget-AutoUpdate/functions/Get-WingetCmd.ps1 @@ -4,25 +4,25 @@ Function Get-WingetCmd { #Get WinGet Path (if admin context) $ResolveWingetPath = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe" - if ($ResolveWingetPath){ + if ($ResolveWingetPath) { #If multiple version, pick last one $WingetPath = $ResolveWingetPath[-1].Path } #Get Winget Location in User context $WingetCmd = Get-Command winget.exe -ErrorAction SilentlyContinue - if ($WingetCmd){ + if ($WingetCmd) { $Script:Winget = $WingetCmd.Source } #Get Winget Location in System context (WinGet < 1.17) - elseif (Test-Path "$WingetPath\AppInstallerCLI.exe"){ + elseif (Test-Path "$WingetPath\AppInstallerCLI.exe") { $Script:Winget = "$WingetPath\AppInstallerCLI.exe" } #Get Winget Location in System context (WinGet > 1.17) - elseif (Test-Path "$WingetPath\winget.exe"){ + elseif (Test-Path "$WingetPath\winget.exe") { $Script:Winget = "$WingetPath\winget.exe" } - else{ + else { Write-Log "Winget not installed or detected !" "Red" return $false } diff --git a/Winget-AutoUpdate/functions/Get-WingetOutdatedApps.ps1 b/Winget-AutoUpdate/functions/Get-WingetOutdatedApps.ps1 index 0051d3a..d806bf6 100644 --- a/Winget-AutoUpdate/functions/Get-WingetOutdatedApps.ps1 +++ b/Winget-AutoUpdate/functions/Get-WingetOutdatedApps.ps1 @@ -13,16 +13,16 @@ function Get-WingetOutdatedApps { $upgradeResult = & $Winget upgrade | Out-String #Start Convertion of winget format to an array. Check if "-----" exists - if (!($upgradeResult -match "-----")){ + if (!($upgradeResult -match "-----")) { return } #Split winget output to lines - $lines = $upgradeResult.Split([Environment]::NewLine) | Where-Object {$_} + $lines = $upgradeResult.Split([Environment]::NewLine) | Where-Object { $_ } # Find the line that starts with "------" $fl = 0 - while (-not $lines[$fl].StartsWith("-----")){ + while (-not $lines[$fl].StartsWith("-----")) { $fl++ } @@ -40,9 +40,9 @@ function Get-WingetOutdatedApps { # Now cycle in real package and split accordingly $upgradeList = @() - For ($i = $fl + 2; $i -le $lines.Length; $i++){ + For ($i = $fl + 2; $i -le $lines.Length; $i++) { $line = $lines[$i] - if ($line.Length -gt ($sourceStart+5) -and -not $line.Contains("--include-unknown")){ + if ($line.Length -gt ($sourceStart + 5) -and -not $line.Contains("--include-unknown")) { $software = [Software]::new() $software.Name = $line.Substring(0, $idStart).TrimEnd() $software.Id = $line.Substring($idStart, $versionStart - $idStart).TrimEnd() diff --git a/Winget-AutoUpdate/functions/Invoke-PostUpdateActions.ps1 b/Winget-AutoUpdate/functions/Invoke-PostUpdateActions.ps1 index 4a9c6b2..3f1f31c 100644 --- a/Winget-AutoUpdate/functions/Invoke-PostUpdateActions.ps1 +++ b/Winget-AutoUpdate/functions/Invoke-PostUpdateActions.ps1 @@ -7,7 +7,7 @@ function Invoke-PostUpdateActions { #Reset Winget Sources $ResolveWingetPath = Resolve-Path "$env:programfiles\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\winget.exe" - if ($ResolveWingetPath){ + if ($ResolveWingetPath) { #If multiple version, pick last one $WingetPath = $ResolveWingetPath[-1].Path & $WingetPath source reset --force @@ -52,10 +52,10 @@ function Invoke-PostUpdateActions { $WAUConfigPath = "$WorkingDir\config\config.xml" if (test-path $WAUConfigPath) { [xml]$Config = Get-Content $WAUConfigPath -Encoding UTF8 -ErrorAction SilentlyContinue - if ($Config.app.WAUautoupdate -eq "False") {New-ItemProperty $regPath -Name WAU_DisableAutoUpdate -Value 1 -Force} - if ($Config.app.NotificationLevel) {New-ItemProperty $regPath -Name WAU_NotificationLevel -Value $Config.app.NotificationLevel -Force} - if ($Config.app.UseWAUWhiteList -eq "True") {New-ItemProperty $regPath -Name WAU_UseWhiteList -Value 1 -PropertyType DWord -Force} - if ($Config.app.WAUprerelease -eq "True") {New-ItemProperty $regPath -Name WAU_UpdatePrerelease -Value 1 -PropertyType DWord -Force} + if ($Config.app.WAUautoupdate -eq "False") { New-ItemProperty $regPath -Name WAU_DisableAutoUpdate -Value 1 -Force } + if ($Config.app.NotificationLevel) { New-ItemProperty $regPath -Name WAU_NotificationLevel -Value $Config.app.NotificationLevel -Force } + if ($Config.app.UseWAUWhiteList -eq "True") { New-ItemProperty $regPath -Name WAU_UseWhiteList -Value 1 -PropertyType DWord -Force } + if ($Config.app.WAUprerelease -eq "True") { New-ItemProperty $regPath -Name WAU_UpdatePrerelease -Value 1 -PropertyType DWord -Force } #Remove file once converted Remove-Item $WAUConfigPath -Force -Confirm:$false @@ -70,7 +70,7 @@ function Invoke-PostUpdateActions { "$WorkingDir\functions\Get-WAUCurrentVersion.ps1", "$WorkingDir\functions\Get-WAUUpdateStatus.ps1" ) - foreach ($FileName in $FileNames){ + foreach ($FileName in $FileNames) { if (Test-Path $FileName) { Remove-Item $FileName -Force -Confirm:$false diff --git a/Winget-AutoUpdate/functions/Start-Init.ps1 b/Winget-AutoUpdate/functions/Start-Init.ps1 index fe5475b..6dd41a3 100644 --- a/Winget-AutoUpdate/functions/Start-Init.ps1 +++ b/Winget-AutoUpdate/functions/Start-Init.ps1 @@ -10,11 +10,11 @@ function Start-Init { $Log | Write-host #Logs initialisation if admin - try{ + try { $LogPath = "$WorkingDir\logs" - if (!(Test-Path $LogPath)){ + if (!(Test-Path $LogPath)) { New-Item -ItemType Directory -Force -Path $LogPath } @@ -24,11 +24,11 @@ function Start-Init { } #Logs initialisation if non-admin - catch{ + catch { $LogPath = "$env:USERPROFILE\Winget-AutoUpdate\logs" - if (!(Test-Path $LogPath)){ + if (!(Test-Path $LogPath)) { New-Item -ItemType Directory -Force -Path $LogPath } diff --git a/Winget-AutoUpdate/functions/Start-NotifTask.ps1 b/Winget-AutoUpdate/functions/Start-NotifTask.ps1 index db68276..0ee572a 100644 --- a/Winget-AutoUpdate/functions/Start-NotifTask.ps1 +++ b/Winget-AutoUpdate/functions/Start-NotifTask.ps1 @@ -1,6 +1,6 @@ #Function to send notifications to user -function Start-NotifTask ($Title,$Message,$MessageType,$Balise) { +function Start-NotifTask ($Title, $Message, $MessageType, $Balise) { if (($WAUConfig.WAU_NotificationLevel -eq "Full") -or ($WAUConfig.WAU_NotificationLevel -eq "SuccessOnly" -and $MessageType -eq "Success")) { @@ -22,11 +22,11 @@ function Start-NotifTask ($Title,$Message,$MessageType,$Balise) { $currentPrincipal = [bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-4") #if not "Interactive" user, run as system - if ($currentPrincipal -eq $false){ + if ($currentPrincipal -eq $false) { #Save XML to File $ToastTemplateLocation = "$env:ProgramData\Winget-AutoUpdate\config\" - if (!(Test-Path $ToastTemplateLocation)){ + if (!(Test-Path $ToastTemplateLocation)) { New-Item -ItemType Directory -Force -Path $ToastTemplateLocation } $ToastTemplate.Save("$ToastTemplateLocation\notif.xml") @@ -36,7 +36,7 @@ function Start-NotifTask ($Title,$Message,$MessageType,$Balise) { } #else, run as connected user - else{ + else { #Load Assemblies [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null diff --git a/Winget-AutoUpdate/functions/Test-Mods.ps1 b/Winget-AutoUpdate/functions/Test-Mods.ps1 index d63a70f..b161847 100644 --- a/Winget-AutoUpdate/functions/Test-Mods.ps1 +++ b/Winget-AutoUpdate/functions/Test-Mods.ps1 @@ -1,22 +1,22 @@ #Function to check if modification exists in 'mods' directory -function Test-Mods ($app){ +function Test-Mods ($app) { #Takes care of a null situation $ModsInstall = $null $ModsUpgrade = $null $Mods = "$WorkingDir\mods" - if (Test-Path "$Mods\$app-*"){ - if (Test-Path "$Mods\$app-install.ps1"){ + if (Test-Path "$Mods\$app-*") { + if (Test-Path "$Mods\$app-install.ps1") { $ModsInstall = "$Mods\$app-install.ps1" $ModsUpgrade = "$Mods\$app-install.ps1" } - if (Test-Path "$Mods\$app-upgrade.ps1"){ + if (Test-Path "$Mods\$app-upgrade.ps1") { $ModsUpgrade = "$Mods\$app-upgrade.ps1" } } - return $ModsInstall,$ModsUpgrade + return $ModsInstall, $ModsUpgrade } diff --git a/Winget-AutoUpdate/functions/Test-Network.ps1 b/Winget-AutoUpdate/functions/Test-Network.ps1 index d049c3d..9e5c332 100644 --- a/Winget-AutoUpdate/functions/Test-Network.ps1 +++ b/Winget-AutoUpdate/functions/Test-Network.ps1 @@ -7,23 +7,23 @@ function Test-Network { #Test connectivity during 30 min then timeout Write-Log "Checking internet connection..." "Yellow" - While ($timeout -lt 1800){ + While ($timeout -lt 1800) { $TestNetwork = Test-NetConnection 8.8.8.8 -Port 443 -InformationLevel Quiet - if ($TestNetwork){ + if ($TestNetwork) { Write-Log "Connected !" "Green" return $true } - else{ + else { Start-Sleep 10 $timeout += 10 #Send Warning Notif if no connection for 5 min - if ($timeout -eq 300){ + if ($timeout -eq 300) { Write-Log "Notify 'No connection' sent." "Yellow" $Title = $NotifLocale.local.outputs.output[0].title $Message = $NotifLocale.local.outputs.output[0].message diff --git a/Winget-AutoUpdate/functions/Update-App.ps1 b/Winget-AutoUpdate/functions/Update-App.ps1 index 378f4c2..31ee6fd 100644 --- a/Winget-AutoUpdate/functions/Update-App.ps1 +++ b/Winget-AutoUpdate/functions/Update-App.ps1 @@ -21,7 +21,7 @@ Function Update-App ($app) { $FailedToUpgrade = $false #Check if mods exist $ModsInstall, $ModsUpgrade = Test-Mods $($app.Id) - foreach ($CheckApp in $CheckOutdated){ + foreach ($CheckApp in $CheckOutdated) { if ($($CheckApp.Id) -eq $($app.Id)) { #If app failed to upgrade, run Install command @@ -29,12 +29,12 @@ Function Update-App ($app) { #Check if application installed properly $CheckOutdated2 = Get-WingetOutdatedApps - foreach ($CheckApp2 in $CheckOutdated2){ + foreach ($CheckApp2 in $CheckOutdated2) { if ($($CheckApp2.Id) -eq $($app.Id)) { $FailedToUpgrade = $true } else { - if ($ModsInstall){ + if ($ModsInstall) { Write-Log "Modifications for $($app.Id) after install are being applied..." "Yellow" & "$ModsInstall" } @@ -42,7 +42,7 @@ Function Update-App ($app) { } } else { - if ($ModsUpgrade){ + if ($ModsUpgrade) { Write-Log "Modifications for $($app.Id) after upgrade are being applied..." "Yellow" & "$ModsUpgrade" } @@ -52,7 +52,7 @@ Function Update-App ($app) { Write-Log "########## WINGET UPGRADE PROCESS FINISHED FOR APPLICATION ID '$($App.Id)' ##########" "Gray" #Notify installation - if ($FailedToUpgrade -eq $false){ + if ($FailedToUpgrade -eq $false) { #Send success updated app notification Write-Log "$($app.Name) updated to $($app.AvailableVersion) !" "Green" diff --git a/Winget-AutoUpdate/functions/Update-WAU.ps1 b/Winget-AutoUpdate/functions/Update-WAU.ps1 index 8cfb8ff..0f2008e 100644 --- a/Winget-AutoUpdate/functions/Update-WAU.ps1 +++ b/Winget-AutoUpdate/functions/Update-WAU.ps1 @@ -10,7 +10,7 @@ function Update-WAU { Start-NotifTask $Title $Message $MessageType $Balise #Run WAU update - try{ + try { #Force to create a zip file $ZipFile = "$WorkingDir\WAU_update.zip" @@ -29,7 +29,7 @@ function Update-WAU { #Update scritps Write-Log "Updating WAU" "Yellow" $TempPath = (Resolve-Path "$location\*\Winget-AutoUpdate\")[0].Path - if ($TempPath){ + if ($TempPath) { Copy-Item -Path "$TempPath\*" -Destination "$WorkingDir\" -Exclude "icons" -Recurse -Force } @@ -62,7 +62,7 @@ function Update-WAU { } - catch{ + catch { #Send Error Notif $Title = $NotifLocale.local.outputs.output[4].title -f "Winget-AutoUpdate" diff --git a/Winget-AutoUpdate/winget-notify.ps1 b/Winget-AutoUpdate/winget-notify.ps1 index 10dc469..c4f1a1e 100644 --- a/Winget-AutoUpdate/winget-notify.ps1 +++ b/Winget-AutoUpdate/winget-notify.ps1 @@ -2,7 +2,9 @@ #get xml notif config [xml]$NotifConf = Get-Content "$env:ProgramData\Winget-AutoUpdate\config\notif.xml" -Encoding UTF8 -ErrorAction SilentlyContinue -if (!($NotifConf)) {break} +if (!($NotifConf)) { + break +} #Load Assemblies [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null diff --git a/Winget-AutoUpdate/winget-upgrade.ps1 b/Winget-AutoUpdate/winget-upgrade.ps1 index 8e62204..4091188 100644 --- a/Winget-AutoUpdate/winget-upgrade.ps1 +++ b/Winget-AutoUpdate/winget-upgrade.ps1 @@ -3,7 +3,7 @@ #Get Working Dir $Script:WorkingDir = $PSScriptRoot #Get Functions -Get-ChildItem "$WorkingDir\functions" | ForEach-Object {. $_.FullName} +Get-ChildItem "$WorkingDir\functions" | ForEach-Object { . $_.FullName } <# MAIN #> @@ -15,7 +15,7 @@ Start-Init $Script:WAUConfig = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Winget-AutoUpdate" #Run post update actions if necessary -if (!($WAUConfig.WAU_PostUpdateActions -eq 0)){ +if (!($WAUConfig.WAU_PostUpdateActions -eq 0)) { Invoke-PostUpdateActions } @@ -29,42 +29,42 @@ if ([System.Security.Principal.WindowsIdentity]::GetCurrent().IsSystem) { Get-NotifLocale #Check network connectivity -if (Test-Network){ +if (Test-Network) { #Check if Winget is installed and get Winget cmd $TestWinget = Get-WingetCmd - if ($TestWinget){ + if ($TestWinget) { #Get Current Version $WAUCurrentVersion = $WAUConfig.DisplayVersion Write-Log "WAU current version: $WAUCurrentVersion" #Check if WAU update feature is enabled or not $WAUDisableAutoUpdate = $WAUConfig.WAU_DisableAutoUpdate #If yes then check WAU update - if ($WAUDisableAutoUpdate -eq 1){ + if ($WAUDisableAutoUpdate -eq 1) { Write-Log "WAU AutoUpdate is Disabled." "Grey" } - else{ + else { Write-Log "WAU AutoUpdate is Enabled." "Green" #Get Available Version $WAUAvailableVersion = Get-WAUAvailableVersion #Compare - if ([version]$WAUAvailableVersion -gt [version]$WAUCurrentVersion){ + if ([version]$WAUAvailableVersion -gt [version]$WAUCurrentVersion) { #If new version is available, update it Write-Log "WAU Available version: $WAUAvailableVersion" "Yellow" Update-WAU } - else{ + else { Write-Log "WAU is up to date." "Green" } } #Get White or Black list - if ($WAUConfig.WAU_UseWhiteList -eq 1){ + if ($WAUConfig.WAU_UseWhiteList -eq 1) { Write-Log "WAU uses White List config" $toUpdate = Get-IncludedApps $UseWhiteList = $true } - else{ + else { Write-Log "WAU uses Black List config" $toSkip = Get-ExcludedApps } @@ -73,7 +73,7 @@ if (Test-Network){ $outdated = Get-WingetOutdatedApps #Log list of app to update - foreach ($app in $outdated){ + foreach ($app in $outdated) { #List available updates $Log = "-> Available update : $($app.Name). Current version : $($app.Version). Available version : $($app.AvailableVersion)." $Log | Write-host @@ -84,44 +84,44 @@ if (Test-Network){ $Script:InstallOK = 0 #If White List - if ($UseWhiteList){ + if ($UseWhiteList) { #For each app, notify and update - foreach ($app in $outdated){ - if (($toUpdate -contains $app.Id) -and $($app.Version) -ne "Unknown"){ + foreach ($app in $outdated) { + if (($toUpdate -contains $app.Id) -and $($app.Version) -ne "Unknown") { Update-App $app } #if current app version is unknown - elseif($($app.Version) -eq "Unknown"){ + elseif ($($app.Version) -eq "Unknown") { Write-Log "$($app.Name) : Skipped upgrade because current version is 'Unknown'" "Gray" } #if app is in "excluded list" - else{ + else { Write-Log "$($app.Name) : Skipped upgrade because it is not in the included app list" "Gray" } } } #If Black List or default - else{ + else { #For each app, notify and update - foreach ($app in $outdated){ - if (-not ($toSkip -contains $app.Id) -and $($app.Version) -ne "Unknown"){ + foreach ($app in $outdated) { + if (-not ($toSkip -contains $app.Id) -and $($app.Version) -ne "Unknown") { Update-App $app } #if current app version is unknown - elseif($($app.Version) -eq "Unknown"){ + elseif ($($app.Version) -eq "Unknown") { Write-Log "$($app.Name) : Skipped upgrade because current version is 'Unknown'" "Gray" } #if app is in "excluded list" - else{ + else { Write-Log "$($app.Name) : Skipped upgrade because it is in the excluded app list" "Gray" } } } - if ($InstallOK -gt 0){ + if ($InstallOK -gt 0) { Write-Log "$InstallOK apps updated ! No more update." "Green" } - if ($InstallOK -eq 0){ + if ($InstallOK -eq 0) { Write-Log "No new update." "Green" } }