다음을 통해 공유


키 조합 구성 제거

지원되는 버전
✅ IoT Enterprise LTSC
✅ IoT Enterprise✅
Enterprise LTSC
✅ Enterprise
✅ Education

다음 샘플 Windows PowerShell 스크립트는 키보드 필터용 WMI(Windows Management Instrumentation) 공급자를 사용하여 키보드 필터에서 사용자 지정 정의 키 조합 구성을 제거하는 두 가지 함수를 만듭니다. 각 함수를 사용하는 여러 가지 방법을 보여 줍니다.

첫 번째 함수 인 Remove-Custom-Key는 사용자 지정 키 조합 구성을 제거합니다.

두 번째 함수 인 Remove-Scancode는 사용자 지정 검사 코드 구성을 제거합니다.

키보드 필터에 대해 미리 정의된 키 조합 구성은 제거할 수 없지만 사용하지 않도록 설정할 수 있습니다.

Remove-rules.ps1

#
# Copyright (C) Microsoft. All rights reserved.
#

<#
.Synopsis
    This script shows how to use the build in WMI providers to remove keyboard filter rules.  Rules of type WEKF_PredefinedKey cannot 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 an instance of WEKF_CustomKey
    .Description
        Enumerate all instances of WEKF_CustomKey.  When an instance has an
        Id that matches $Id, delete it.
    .Example
        Remove-Custom-Key "Ctrl+V"

        This removes the instance of WEKF_CustomKey with a key Id of "Ctrl+V"
#>

    $customInstance = Get-WMIObject -class WEKF_CustomKey @CommonParams |
        where {$_.Id -eq $Id}

    if ($customInstance) {
        $customInstance.Delete();
        "Removed Custom Filter $Id.";
    } else {
        "Custom Filter $Id does not exist.";
    }
}

function Remove-Scancode($Modifiers, [int]$Code) {
    <#
    .Synopsis
        Remove and instance of WEKF_Scancode
    .Description
        Enumerate all instances of WEKF_Scancode.  When an instance has a
        matching modifiers and code, delete it.
    .Example
        Remove-Scancode "Ctrl" 37

        This removes the instance of WEKF_Scancode 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 Scancode $Modifiers+$Code.";
    } else {
        "Scancode $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 "%"
Remove-Scancode "Ctrl" 37

키보드 필터에 대한 스크립트 샘플 Windows PowerShell

키보드 필터 WMI 공급자 참조

키보드 필터