Фильтр клавиатуры Powershell для определенного пользователя

Фильтр клавиатуры Powershell для определенного пользователя

Эта страница от Microsoft: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

Связанный контент