Skip to content

Commit 00594d9

Browse files
committed
✨ After updates, keep empty desktops clear
1 parent b354f2e commit 00594d9

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

Update-Everything.ps1

+27-2
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,20 @@ Justification='This script is not intended for pipelining.')]
9696
)
9797
Begin
9898
{
99+
function Test-EmptyDesktop([switch] $Shared)
100+
{
101+
if($Shared -and !(Test-Administrator.ps1)) {return $false}
102+
$dir = [environment]::GetFolderPath(($Shared ? 'CommonDesktopDirectory' : 'Desktop' ))
103+
return !(Get-ChildItem -Path $dir -Filter *.lnk)
104+
}
105+
106+
function Clear-Desktop([switch] $Shared)
107+
{
108+
if($Shared -and !(Test-Administrator.ps1)) {return}
109+
$dir = [environment]::GetFolderPath(($Shared ? 'CommonDesktopDirectory' : 'Desktop' ))
110+
Remove-Item -Path $dir -Filter *.lnk
111+
}
112+
99113
Set-Variable 'UP!' "$([char]0xD83C)$([char]0xDD99)" -Option Constant -Scope Script -Description 'UP! symbol'
100114

101115
function Write-Step([string]$Message)
@@ -115,7 +129,7 @@ Begin
115129

116130
function Update-Essential
117131
{
118-
if(!(Test-Administrator.ps1)) {Write-Warning "Not running as admin; skipping Essentials."; return}
132+
if(!(Test-Administrator.ps1)) {Write-Warning "Not running as admin; skipping Essential."; return}
119133
Write-Step "$([char]0xD83D)$([char]0xDD1C) Checking for essential updates"
120134
if(Get-Command choco -ErrorAction Ignore)
121135
{
@@ -142,6 +156,7 @@ Begin
142156

143157
function Update-WindowsStore
144158
{
159+
if(!(Test-Administrator.ps1)) {Write-Warning "Not running as admin; skipping WindowsStore."; return}
145160
if(!(Get-Command Get-CimInstance -ErrorAction Ignore))
146161
{Write-Verbose 'Get-CimInstance not found, skipping WindowsStore updates'; return}
147162
Write-Step "${UP!} Updating Windows Store apps (asynchronously)"
@@ -250,4 +265,14 @@ Begin
250265
}
251266
}
252267

253-
Process {$Steps |ForEach-Object {& "Update-$_"}}
268+
Process
269+
{
270+
$emptyShared = Test-EmptyDesktop -Shared
271+
$empty = Test-EmptyDesktop
272+
try {$Steps |ForEach-Object {& "Update-$_"}}
273+
finally
274+
{
275+
if($emptyShared) {Clear-Desktop -Shared}
276+
if($empty) {Clear-Desktop}
277+
}
278+
}

0 commit comments

Comments
 (0)