この記事では、v3.11.760.0 UEFI 更新プログラムをインストールして構成し、Surface Pro 3 台のデバイスのセキュリティ オプションをさらに有効にする方法について説明します。
Surface デバイスのセキュリティをより詳細に制御するために、v3.11.760.0 UEFI 更新プログラムには、特定のハードウェア デバイスを無効にしたり、それらのデバイスからの起動を防いだりできる、より多くのセキュリティ オプションが用意されています。 UEFI の更新プログラムをデバイスにインストールした後、プログラムを手動で構成することも、スクリプトを実行して自動で構成することもできます。
UEFI の更新プログラムを手動でインストールする
Surface デバイスの高度なセキュリティ機能を構成する前に、まず UEFI の更新プログラム v3.11.760.0 をインストールする必要があります。 この更新プログラムを Windows Update から受け取った場合、プログラムは自動的にインストールされます。 Windows Update を使って自動的に更新されるように Windows を構成する方法について詳しくは、「Windows での自動更新の構成方法および使用方法」をご覧ください。
Surface Pro 3 の UEFI を更新する場合は、Surface UEFI の更新プログラムを Surface Pro 3 ファームウェアおよびドライバー パックの一部としてダウンロードし、インストールできます。 これらのファームウェアおよびドライバー パックは、Microsoft ダウンロード センターの Surface Pro 3 のページから入手できます。 ファームウェアとドライバー パックの詳細については、「 Surface のドライバーとファームウェアをダウンロードする」を参照してください。 ファームウェアとドライバー パックは、自己完結型 Windows インストーラー (.msi) とアーカイブ (.zip) の 2 つの形式で利用できます。 これら 2 つの形式の詳細と、それらを使用してドライバーを更新する方法については、「 Surface ドライバーとファームウェアの更新プログラムを管理して展開する」を参照してください。
他のセキュリティ設定を手動で構成する
注
Surface デバイスのファームウェアのセットアップ画面に入るには、デバイスの電源を切り、[音量を上げる] ボタンを長押ししながら [電源] ボタンを押し、デバイスの起動が開始されたら [音量を上げる] ボタンを離します。
v3.11.760.0 UEFI 更新プログラムが Surface デバイスにインストールされると、 デバイス セキュリティの強化 という名前の別の UEFI メニューが使用できるようになります。 このメニューを選択すると、次のオプションが表示されます。
オプション | 説明 | 利用可能な設定 (太字は既定値) |
---|---|---|
ネットワーク ブート | Surface デバイスをネットワークから起動する機能を有効または無効にします (PXE ブートとも呼ばれます)。 | 有効、起動不可 |
側面 USB | Surface デバイスの側面にある USB ポートを有効または無効にします。 なお、この USB ポートを有効にすることはできますが、このポートからの起動は許可されません。 | 有効、起動不可、無効 |
ドッキング ポート | Surface のドッキング ステーションのポートを有効または無効にします なお、ドッキング ポートを有効にすることはできますが、ドッキング ステーションの USB ポートまたはイーサネット ポートからの起動は禁止されます。 | 有効、起動不可、無効 |
前面カメラ | Surface デバイスの前面のカメラを有効または無効にします。 | 有効、無効 |
背面カメラ | Surface デバイスの背面のカメラを有効または無効にします。 | 有効、無効 |
オンボード オーディオ | Surface デバイスのオーディオを有効または無効にします。 | 有効、無効 |
microSD | Surface デバイスの microSD スロットを有効または無効にします。 | 有効、無効 |
WiFi | Surface デバイスに組み込みの Wi-Fi トランシーバーを有効または無効にします。 これを無効にすると、Bluetooth も無効になります。 | 有効、無効 |
Bluetooth | Surface デバイスに組み込みの Bluetooth トランシーバーを有効または無効にします。 | 有効、無効 |
より多くのセキュリティ設定を自動化する
管理特権を持つ IT プロフェッショナルは、Microsoft ダウンロード センターから入手できる Surface Pro 3 ファームウェア ツール (476 KB) を使用して、UEFI 設定の構成を自動化できます。 これらのツールを利用すると、すべてのカスタム アプリケーションやスクリプトから呼び出すことができる .NET アセンブリがインストールされます。
Prerequisites
- このページのサンプル スクリプトは、前述の拡張機能を適用するため、ツールが管理されているデバイスにインストールされていることを前提としています。
- スクリプトは管理特権で実行する必要があります。
- Windows PowerShell コマンド Set-ExecutionPolicy Unrestricted は、サンプル スクリプトがデジタル署名されていない場合に実行する前に呼び出す必要があります。
サンプル スクリプト
注
サンプル スクリプトで使用される UEFI パスワードは、クリア テキストで表示されます。 スクリプトを保護された場所に保存し、管理された環境で実行することを強くお勧めします。
構成可能なオプションをすべて示します。
# Load the extension
[System.Reflection.Assembly]::Load("SurfaceUefiManager, Version=1.0.5483.22783, Culture=neutral, PublicKeyToken=20606f4b5276c705")
# Get the collection of all configurable settings
$uefiOptions = [Microsoft.Surface.FirmwareOption]::All()
foreach ($uefiOption in $uefiOptions)
{
Write-Host "Name:" $uefiOption.Name
Write-Host " Description =" $uefiOption.Description
Write-Host " Current Value =" $uefiOption.CurrentValue
Write-Host " Default Value =" $uefiOption.DefaultValue
Write-Host " Proposed Value =" $uefiOption.ProposedValue
# This gives usage and validation information
Write-Host " Allowed Values =" $uefiOption.FriendlyRegEx
Write-Host " Regular Expression =" $uefiOption.RegEx
Write-Host
}
UEFI パスワードを設定または変更します。
# Load the extension
[System.Reflection.Assembly]::Load("SurfaceUefiManager, Version=1.0.5483.22783, Culture=neutral, PublicKeyToken=20606f4b5276c705")
# Must supply UEFI administrator Password if set
# If it is not currently set this is ignored
[Microsoft.Surface.FirmwareOption]::Unlock("1234")
$Password = [Microsoft.Surface.FirmwareOption]::Find("Password")
# Set New value to 12345
$Password.ProposedValue = "12345"
提示された変更の状態を確認します。
# Load the extension
[System.Reflection.Assembly]::Load("SurfaceUefiManager, Version=1.0.5483.22783, Culture=neutral, PublicKeyToken=20606f4b5276c705")
# Check update status
$updateStatus = [Microsoft.Surface.FirmwareOption]::UpdateStatus
$updateIteration = [Microsoft.Surface.FirmwareOption]::UpdateIteration
Write-Host "Last Update Status =" $updateStatus
Write-Host "Last Update Iteration =" $updateIteration
# Get the individual results for the last proposed update
# If the device has never had an update attempt this will be an empty list
$details = [Microsoft.Surface.FirmwareOption]::UpdateStatusDetails
Write-Host $details.Count "Settings were proposed"
if ($details.Count -gt 0)
{
Write-Host "Result Details"
foreach ($detail in $details.GetEnumerator())
{
Write-Host " " $detail.Key "=" $detail.Value
}
}
UEFI を既定値に戻します。
# Load the extension
[System.Reflection.Assembly]::Load("SurfaceUefiManager, Version=1.0.5483.22783, Culture=neutral, PublicKeyToken=20606f4b5276c705")
# Must supply UEFI administrator Password if set
# If it is not currently set this is ignored
[Microsoft.Surface.FirmwareOption]::Unlock("1234")
# Get the collection of all configurable settings
$uefiOptions = [Microsoft.Surface.FirmwareOption]::All()
# Reset all options to the factory default
foreach ($uefiOption in $uefiOptions)
{
$uefiOption.ProposedValue = $uefiOption.DefaultValue
}
状態コードの解釈
次の状態コードは、UEFI 構成の変更の結果を解釈するのに役立ちます。
- 00 - 提示された更新が成功しました。
- 02 - 提示された値の 1 つが無効な値でした。
- 03 - 認識されなかった提案された値セットがありました
- 0F - ロック解除パスワードが現在設定されているパスワードと一致しませんでした