WEKF_PredefinedKey
This class blocks or unblocks predefined key combinations, such as Ctrl+Alt+Delete.
Syntax
class WEKF_PredefinedKey {
[Static] uint32 Enable (
[In] string PredefinedKey
);
[Static] uint32 Disable (
[In] string PredefinedKey
);
[Key] string Id;
[Read, Write] boolean Enabled;
};
Members
The following tables list any constructors, methods, fields, and properties that belong to this class.
Methods
Methods | Description |
---|---|
WEKF_PredefinedKey.Enable | Blocks the specified predefined key. |
WEKF_PredefinedKey.Disable | Unblocks the specified predefined key. |
Properties
Property | Data type | Qualifiers | Description |
---|---|---|---|
Id | string | [key] | The name of the predefined key combination. |
Enabled | Boolean | [read, write] | Indicates whether the key is blocked or unblocked. To indicate that the key is blocked, specify true. To indicate that the key is not blocked, specify false. |
Remarks
All accounts have read access to the WEKF_PRedefinedKey class, but only administrator accounts can modify the class.
For a list of predefined key combinations for Keyboard Filter, see Predefined key combinations.
Example
The following sample Windows PowerShell script blocks the Ctrl+Alt+Delete and the Ctrl+Esc key combinations when the Keyboard Filter service is running.
<#
.Synopsis
This script shows how to use the built in WMI providers to enable and add
Keyboard Filter rules through Windows PowerShell on the local computer.
.Parameter ComputerName
Optional parameter to specify a remote machine 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 Enable-Predefined-Key($Id) {
<#
.Synposis
Toggle on a Predefined Key Keyboard Filter Rule
.Description
Use Get-WMIObject to enumerate all WEKF_PredefinedKey instances,
filter against key value "Id", and set that instance's "Enabled"
property to 1/true.
.Example
Enable-Predefined-Key "Ctrl+Alt+Delete"
Enable CAD filtering
#>
$predefined = Get-WMIObject -class WEKF_PredefinedKey @CommonParams |
where {
$_.Id -eq "$Id"
};
if ($predefined) {
$predefined.Enabled = 1;
$predefined.Put() | Out-Null;
Write-Host Enabled $Id
} else {
Write-Error $Id is not a valid predefined key
}
}
# Some example uses of the function defined above.
Enable-Predefined-Key "Ctrl+Alt+Delete"
Enable-Predefined-Key "Ctrl+Esc"
Requirements
Windows Edition | Supported |
---|---|
Windows Home | No |
Windows Pro | No |
Windows Enterprise | Yes |
Windows Education | Yes |
Windows IoT Enterprise | Yes |