Remover as configurações de combinação de teclas
O exemplo a seguir Windows PowerShell script usa os provedores WMI (Instrumentação de Gerenciamento do Windows) para Filtro de Teclado para criar duas funções para remover as configurações de combinação de teclas definidas personalizadas do Filtro de Teclado. Ele demonstra várias maneiras de usar cada função.
A primeira função, Remove-Custom-Key, remove as configurações de combinação de chaves personalizadas.
A segunda função, Remove-Scancode, remove as configurações personalizadas de código de verificação.
Você não pode remover as configurações de combinação de teclas predefinidas para Filtro de Teclado, mas pode desabilitá-las.
Remove-rules.ps1
#
# Copyright (C) Microsoft. All rights reserved.
#
<#
.Synopsis
This script shows how to use the build in WMI providers to remove keyboard filter rules. Rules of type WEKF_PredefinedKey cannot be removed.
.Parameter ComputerName
Optional parameter to specify the remote computer that this script should
manage. If not specified, the script will execute all WMI operations
locally.
#>
param(
[string] $ComputerName
)
$CommonParams = @{"namespace"="root\standardcimv2\embedded"}
$CommonParams += $PSBoundParameters
function Remove-Custom-Key($Id) {
<#
.Synopsis
Remove an instance of WEKF_CustomKey
.Description
Enumerate all instances of WEKF_CustomKey. When an instance has an
Id that matches $Id, delete it.
.Example
Remove-Custom-Key "Ctrl+V"
This removes the instance of WEKF_CustomKey with a key Id of "Ctrl+V"
#>
$customInstance = Get-WMIObject -class WEKF_CustomKey @CommonParams |
where {$_.Id -eq $Id}
if ($customInstance) {
$customInstance.Delete();
"Removed Custom Filter $Id.";
} else {
"Custom Filter $Id does not exist.";
}
}
function Remove-Scancode($Modifiers, [int]$Code) {
<#
.Synopsis
Remove and instance of WEKF_Scancode
.Description
Enumerate all instances of WEKF_Scancode. When an instance has a
matching modifiers and code, delete it.
.Example
Remove-Scancode "Ctrl" 37
This removes the instance of WEKF_Scancode with Modifiers="Ctrl" and
Scancode=37.
#>
$scancodeInstance = Get-WMIObject -class WEKF_Scancode @CommonParams |
where {($_.Modifiers -eq $Modifiers) -and ($_.Scancode -eq $Code)}
if ($scancodeInstance) {
$scancodeInstance.Delete();
"Removed Scancode $Modifiers+$Code.";
} else {
"Scancode $Modifiers+$Code does not exist.";
}
}
# Some example uses of the functions defined above.
Remove-Custom-Key "Ctrl+V"
Remove-Custom-Key "Numpad0"
Remove-Custom-Key "Shift+Numpad1"
Remove-Custom-Key "%"
Remove-Scancode "Ctrl" 37
Tópicos relacionados
Exemplos de script do Windows PowerShell para filtro de teclado