検索
ニュース

Windows 10 IoTロックダウン機能の個別解説:Shell LauncherとKeyboard Filter待ったなし!組み込み機器のWindows 10 IoT移行(5)(3/3 ページ)

2020年10月13日にサポートが終了する「Windows Embedded Standard 7」から最新の「Windows 10」世代への移行について解説する本連載。第5回は、ロックダウン機能に用いられる各機能のうち、Shell LauncherとKeyboard Filterについて説明する。

Share
Tweet
LINE
Hatena
前のページへ |       

ブレイクアウトキーを有効にする

 ブレイクアウトキーは、通常運用時からメンテナンスを実施したい時に管理者ユーザーでログオンし直すためログオン画面に遷移するのに必要となります。通常であればログオフすればよいのですが、カスタムアプリケーションなどでログオフ機能を保有していない場合にはこのブレイクアウトキーを設定することによりログオフが可能になります(リスト4)。

function Set-BreakoutKey([String] $ScanCode)
{
	$Setting = Get-KeyboardFilterSetting("BreakoutKeyScanCode")
	if ($Setting)
	{
		if ($ScanCode)
		{
			$Setting.Value = $ScanCode
			$Setting.Put() | Out-Null;
		}
		else
		{
			Write-Error "BreakoutKeyScanCode cannot be set to null";
		}
    }
	else
	{
		Write-Error "Unable to find BreakoutKeyScanCode setting";
	}
}
Set-BreakoutKey "71"
リスト4 ブレイクアウトキーを有効にする設定の例

 リスト4の例ではスキャンキーコードの71(Homeキー)をブレイクアウトキーとして設定をしています。この設定には仮想キーコードではなく実際のスキャンキーコードを入力する必要があります。特殊なスキャンキーコードを発行できる機器であればそのコードを指定することもできます。

無効にするキーを指定する

 最後に無効にするキーを指定します(リスト5)。

function Block-PredefinedKey($Id)
{
	$predefined = Get-WmiObject -class WEKF_PredefinedKey -namespace "root\standardcimv2\embedded" |
	where {
		$_.Id -eq "$Id"
	};
	if ($predefined)
	{
		$predefined.Enabled = 1;
		$predefined.Put() | Out-Null;
	}
	else
	{
		Write-Error "$Id is not a valid predefined key"
	}
}
Block-PredefinedKey "Windows"
Block-PredefinedKey "Ctrl+Alt+Del"
…
リスト5 無効にするキーの設定例

 制限したいキーはあらかじめ定義されているキーネームを利用して指定する必要があります。Keyboard Filterで利用するキーネームは下記に掲載されています。

⇒Keyboard Filter key names

 これらのように、Shell LauncherとKeyboard Filterを利用することで特定用途向けの機器で意図しない操作を制限することができます。



 次回は、2018年10月にリリースされた、Windows10 IoT Enterprise 2019 LTSCのアップデートについて解説します。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る