来自微软的此页面:https://docs.microsoft.com/en-us/windows-hardware/customize/enterprise/keyboardfilter-add-blocked-key-combinations解释如何创建禁用特定组合键的 powershell 脚本。
以下是相关的代码片段...
function Enable-Custom-Key($Id) {
<#
.Synopsis
Toggle on a Custom Key keyboard filter Rule
.Description
Use Get-WMIObject to enumerate all WEKF_CustomKey instances,
filter against key value "Id", and set that instance's "Enabled"
property to 1/true.
In the case that the Custom instance does not exist, add a new
instance of WEKF_CustomKey using Set-WMIInstance.
.Example
Enable-Custom-Key "Ctrl+V"
Enable filtering of the Ctrl + V sequence.
#>
$custom = Get-WMIObject -class WEKF_CustomKey @CommonParams |
where {
$_.Id -eq "$Id"
};
if ($custom) {
# Rule exists. Just enable it.
$custom.Enabled = 1;
$custom.Put() | Out-Null;
"Enabled Custom Filter $Id.";
} else {
Set-WMIInstance `
-class WEKF_CustomKey `
-argument @{Id="$Id"} `
@CommonParams | Out-Null
"Added Custom Filter $Id.";
}
}
Enable-Custom-Key "Windows+U"
# etc.
但是,有没有一种方法可以禁用组合键,但只针对特定用户?(例如,我希望同一台计算机上的另一个“管理员”用户可以继续使用组合键)
我认为以该用户身份登录并运行脚本也许可以做到这一点,但一方面,只有当我以管理员身份运行 Powershell 时它才似乎有效,然后当我这样做时,我重新注销并以另一个“管理员”用户身份重新登录,并且这里的组合键也被阻止了。
它是 Windows 10 IoT。
(顺便说一句,我愿意接受根本不使用 Powershell 的答案。我之前被告知要使用组策略编辑器,但我找不到键盘过滤器部分)
答案1
尝试 DisableKeyboardFilterForAdministrators