<# .SYNOPSIS Creates a new temporary directory. #> function New-TemporaryDirectory { $path = Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName()); New-Item -ItemType Directory $path; } <# .SYNOPSIS Removes desktop icons which apply to the specified pattern. .PARAMETER Pattern The pattern to match the icons to delete. #> function Remove-DesktopIcon { param( [string] $Pattern ) $path = "Desktop/$Pattern"; foreach ($userDir in @($(~), $env:PUBLIC, "$env:SystemDrive/Users/Default")) { $fullName = "$userDir/$path"; if (Test-Path -PathType Leaf $fullName) { Remove-Item $fullName; } } }