特定用户的 Powershell 键盘过滤器

特定用户的 Powershell 键盘过滤器

来自微软的此页面: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

相关内容