Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Éditions
✅prises en charge IoT Enterprise LTSC
✅ IoT Enterprise
✅ Enterprise LTSC
✅ Enterprise Éducation
✅
L’exemple de script Windows PowerShell suivant utilise les fournisseurs WMI (Windows Management Instrumentation) pour le filtre clavier afin de créer deux fonctions qui suppriment les configurations de règle de blocage personnalisées. La suppression d’une règle supprime cette configuration, mais une autre règle active peut toujours bloquer la même entrée physique.
La première fonction, Remove-Custom-Key, supprime les règles de blocage des touches personnalisées.
La deuxième fonction, Remove-Scancode, supprime les règles de blocage du code de scan.
Vous ne pouvez pas supprimer les règles de blocage à clé prédéfinie, mais vous pouvez les désactiver en définissant leur Enabled propriété sur 0.
Remove-rules.ps1
#
# Copyright (C) Microsoft. All rights reserved.
#
<#
.Synopsis
This script uses the built-in WMI providers to remove Keyboard Filter blocking rules. WEKF_PredefinedKey rules can't 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 a WEKF_CustomKey blocking rule.
.Description
Enumerate all WEKF_CustomKey instances. When an instance has an Id that
matches $Id, delete it.
.Example
Remove-Custom-Key "Ctrl+V"
Removes the WEKF_CustomKey blocking rule for Ctrl+V.
#>
$customInstance = Get-WMIObject -class WEKF_CustomKey @CommonParams |
where {$_.Id -eq $Id}
if ($customInstance) {
$customInstance.Delete();
"Removed custom-key blocking rule for $Id.";
} else {
"Custom-key blocking rule for $Id does not exist.";
}
}
function Remove-Scancode($Modifiers, [int]$Code) {
<#
.Synopsis
Remove a WEKF_Scancode blocking rule.
.Description
Enumerate all WEKF_Scancode instances. When an instance has matching
Modifiers and Scancode values, delete it.
.Example
Remove-Scancode "Ctrl" 37
Removes the WEKF_Scancode blocking rule 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 scan-code blocking rule for $Modifiers+$Code";
} else {
"Scan-code blocking rule for $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 "Shift+5"
Remove-Scancode "Ctrl" 37
Articles connexes
Exemples de script Windows PowerShell pour le filtre clavier
Informations de référence sur les fournisseurs WMI de filtre clavier