Rimuovere le configurazioni delle combinazioni di chiavi
Edizioni
✅ supportate IoT Enterprise LTSC
✅ IoT Enterprise
✅ LTSC✅
Enterprise
✅ Education
L'esempio seguente Windows PowerShell script usa i provider WMI (Windows Management Instrumentation) per Filtro tastiera per creare due funzioni per rimuovere le configurazioni di combinazione di tasti definite in modo personalizzato da Filtro tastiera. Illustra diversi modi per usare ogni funzione.
La prima funzione, Remove-Custom-Key, rimuove le configurazioni personalizzate della combinazione di chiavi.
La seconda funzione, Remove-Scancode, rimuove le configurazioni del codice di analisi personalizzate.
Non è possibile rimuovere le configurazioni predefinite della combinazione di tasti per filtro tastiera, ma è possibile disabilitarle.
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
Articoli correlati
Windows PowerShell esempi di script per il filtro della tastiera
Informazioni di riferimento sul provider WMI per i filtri da tastiera