48 lines
1.1 KiB
PowerShell
48 lines
1.1 KiB
PowerShell
<#
|
|
.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;
|
|
}
|
|
}
|
|
}
|
|
|
|
<#
|
|
.SYNOPSIS
|
|
Removes icons from the task bar.
|
|
|
|
.PARAMETER Pattern
|
|
The pattern of the icon names to remove.
|
|
#>
|
|
function Remove-TaskbarItem {
|
|
param(
|
|
[string] $Pattern
|
|
)
|
|
|
|
Import-Module -UseWindowsPowerShell PinnedItem;
|
|
Get-PinnedItem -Type TaskBar | Where-Object { $_.Name -like "$Pattern" } | ForEach-Object { Remove-PinnedItem $_ };
|
|
}
|