Windows10」タグアーカイブ

Windows10の名前解決(Ver1803)

Windows10 の名前解決

お久しぶりです、阿部です。

今回はWindows10(Ver1803)における名前解決の順番を調べてみたので備忘録として記載します。そもそも何故この課題を調べたかというと「.local」のドメインはいろいろと問題があるよ!から来ています。

また、ネットを調べていると「mDNS」周りでトラブルが発生しているようでした。「mDNS」は名前解決の方法の一つになります。Apple製品などは「Bonjour」、Linuxは「Avahi」で実現しているようです。

Windows 10 April 2018 Update(バージョン 1803)の RDP 関連の残念なバグ(続き)

そもそも、名前解決とはホスト名⇒IPアドレスに変換することを指します。前提としてWindows は HOST 名と Netbios 名を持っています。現在はあまり気にしないと思いますが、この名前解決を理解するにはこの情報を知っておく必要があります。

Windows7 の頃の名前解決は以下のようになっていました。

  1. DNSキャッシュ
  2. HOSTSファイル
  3. DNS
  4. NetBIOSキャッシュ
  5. Netbiosブロードキャスト
  6. LLMNR

ちなみに、これはレジストリに記載されています。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider

パラメータ 意味 デフォルト値
LocalPriority DNSキャッシュ 0x1f3(499)
HostsPriority HOSTSファイル 0x1f4(500)
DNSPriority DNSサーバー 0x7d0(2000)
NetbtPriority NBTによる名前解決 0x7d1(2001)

値の低いものから順に使用する。そしてヒットしたらそこで終わり。しかしながら、Windows10 の名前解決で使用される LLMNR と mDNS はこのレジストリには記載がありません。こんな時はパケットキャプチャすればわかりますね!

Windows10(Ver1803)では「mDNS」をサポートしているので、果たしてどのようになるのか?

結果は以下のようになりました。

  1. DNSキャッシュ
  2. HOSTSファイル
  3. DNS
  4. NetBIOSキャッシュ
  5. Netbiosブロードキャスト
  6. mDNS
  7. LLMNR

このことから、Windows 間の名前解決では DNS を使用していない場合、「5」の Netbios ブロードキャストで名前解決できるので、「mDNS」は使用されないのでは。よって、mDNS はWindows、Mac、linux 、NASデバイスなどとの異機種間通信で、DNS を使用していない場合の手段として使われることがわかりますね。

.local ドメインってどうなの?

この問題の本質は何だろうかと考えました。いろんな記事が出回っていましたが、私なりに整理しました(あくまでも私見ですw)

私の記憶では、この話題がでたのは Windows Server 2008 の頃でした。いわゆる ADFS を使用して Office365 に SSO する際に Windows ドメイン情報を使う場合に問題となるでした。そもそも、AD ドメインはあくまでも Windows だけを考えており、外部との連携などは考慮していなかったのが実情です。ですので、「xxx.local」は企業内ネットワークのみで使用し、インターネットで使われないのだから、何の問題もありませんでした。しかしながら、クラウドベースのアプリケーションを企業が使用することが多くなると、そのアプリ毎にIDを発行するのはセキュリティ的にも課題となりIDフェデレーションが出てきました。その際のIDプロバイダの役割として AD を使用するという流れができてきたのを覚えています。その場合、ADのドメイン名は、正式に取得しているドメイン名+サブドメインとしたほうがいいよね~でした。

ちなみに、ADFS+Office365 では「Alternate Login」ができたことで一旦回避できました。

【ADFS+Office365】 UPNを使わないでシングルサインオン

それでは、何が問題なの?と考えてみると、マルチデバイス環境における「mDNS」の名前解決関連ではないかと・・・

例えばこんな記事がありました。

iOS で「.local」が末尾に付いたユニキャスト DNS での名前を解決できない

ただ、内容を確認すると「シングルラベル」の 「local」ドメインの場合、問題が発生するように読み取れました。そもそも、ADドメインをシングルラベルで「local」としているのはあまりありません。通常は「xxx.local」の2ラベル、もしくはそれ以上でしょう。ですので、Windows端末でホスト名のみで名前解決をする場合、ドメインのサフィックス(2ラベル)が付加されることを考慮するとこの記事の内容では「.local」は問題なしかな?

となると「.local」の課題は、mDNS が Mac、Linux、BSD を採用している NAS、プリンタ、ネットワーク機器などにも組み込まれていることではないかと。

例えばこちら

Apple 製のデバイスで社内ネットワークの ‘.local’ ドメインを開けない場合

mDNS は、ホスト名+local でマルチキャストを使って名前解決を行うので、他の端末のサフィックスに「.local」が含まれているとうまく動かないことがあるようです。要するに、ネットワーク上には Windows 端末だけではなく、マルチデバイスが存在するのでトラブルの原因となる「.local」ドメインはやめましょうということかなと思いました。

 

 

ESRV.EXE の起動エラーを修復する

ESRV.EXEって何もの

皆さん、Creators Update にしました?とりあえず、私も Windows10 はすべからくアップデートしてみました。しかし、一部の端末では [ESRV.EXE]の起動エラーが発生しているのでちょっと調査。

これが毎回は煩わしいですよね~

Autoruns で調べてみると直接このプログラムが起動されている形跡はなし。なので、フィルターで調べてみると・・・

「Intel® Energy Checker」が怪しいですね。「Intel® Energy Checker」とはなんぞやと調べてみるとアプリの省電力をサポートする?ようなもの見たい。

解決方法は

インテル ドライバー・アップデート・ユーティリティーをアンインストールするか、アップデートするかになります。現在は、このエラーに対応済みとなっているのでアップデートをサクッとしましょう!

 

Windows Server 2016 を使用した Windows 10 の展開 Part4

応答ファイルの作成

前回は参照コンピューターに対してカスタマイズしたイメージをアップロードしたので、実際にカスタムイメージを展開する作業になります。この際の注意点として、最低1アクションは残して展開することです。この理由としては、PXEブートを間違って行ってしまったとしても自動的にインストールが開始しないことを目的としています。そして、どこまでをゴールとするのかを決めます。例えば、特定のアプリケーションなどでは自分のプロファイルがないとインストールがうまくいかないなどが考えられます。ということは、カスタムイメージにアプリケーションは入っていたとしても起動はしてはいけないなどがあるでしょう(Office 2016などはそれに該当)。

前回、実際にWDSからカスタムイメージを応答ファイルなしでインストールした場合の、対話画面を確認しました。とりあえず今回目標とするゴールは、カスタムイメージを選択する画面以外はすべてバイパスすることになります。

応答ファイルを作成するには、Windows ADKに含まれているシステムイメージマネージャーを使用します。このシステムイメージマネージャーを使用するためには、最初にWindowsイメージ画面でカタログファイルを作成する必要があります。ポイントとしては、ISOファイルをマウントして、ディスクにフォルダを作成し、コピーしておきます。その中にあるwimファイルよりカタログファイルを作成することになります。

応答ファイル01

カタログファイルが作成されると、コンポーネントが表示されるので、適切なコンポーネントを選択して応答ファイルを作成していきます。

大まかな流れとしては、次の通り

WDS部分の自動化(WindowsPE部分)

  • ロケール設定
  • インストールディスク設定
  • WDSサーバーログオン設定
  • インストールディスク指定

OOBE部分の自動化

  • ロケール設定
  • 自動ログオン設定(administratorでのログオン)
  • ドメイン参加(powershellスクリプトを使用)

簡単な解説

今回は、BIOSベースのコンピューターにインストールしました。UEFIの場合はインストールディスク設定が変わってきます。また、新規にローカルユーザーは作成せず、administratorでのログオンを行ってドメインに参加させています。その際、スクリプトを使用してドメイン参加しています。powershellでのドメイン参加になりますが、スクリプトの実行方法を工夫しています。

[xml wraplines=”true”]
powershell -ExecutionPolicy Unrestricted -File \\dc1\script\domainjoin.ps1
[/xml]

ここで使用しているスクリプト「domainjoin.ps1」は下記のとおり

[xml wraplines=”true”]
$domain = "contoso.com"
$password = ‘Pa$$w0rd’ | ConvertTo-SecureString -asPlainText -Force
$username = "$domain\administrator"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential
Restart-Computer
[/xml]

今回はスクリプトを使用してドメイン参加しましたが、これをプロビジョニングパッケージで行うこともできそうですね。次回はこれで検証してみます。

今回作成した応答ファイルは以下になります。

[xml wraplines=”true”]
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>ja-JP</UILanguage>
</SetupUILanguage>
<InputLocale>0411:00000411</InputLocale>
<SystemLocale>ja-JP</SystemLocale>
<UILanguageFallback>ja-JP</UILanguageFallback>
<UserLocale>ja-JP</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<Disk wcm:action="add">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="add">
<Extend>true</Extend>
<Order>2</Order>
<Type>Primary</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Type>Primary</Type>
<Size>350</Size>
</CreatePartition>
</CreatePartitions>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Active>true</Active>
<Format>NTFS</Format>
<Label>System Reserved</Label>
<Order>1</Order>
<PartitionID>1</PartitionID>
<TypeID>0x07</TypeID>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Format>NTFS</Format>
<Order>2</Order>
<PartitionID>2</PartitionID>
<Label>Windows</Label>
<Letter>C</Letter>
</ModifyPartition>
</ModifyPartitions>
</Disk>
</DiskConfiguration>
<WindowsDeploymentServices>
<Login>
<Credentials>
<Username>redbull\administrator</Username>
<Password>Pa$$w0rd</Password>
</Credentials>
</Login>
<ImageSelection>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>2</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<UserData>
<ProductKey>
<Key>NPPR9-FWDCX-D2C8J-H872K-2YT43</Key>
</ProductKey>
</UserData>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>1</ProtectYourPC>
<SkipMachineOOBE>true</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>Tokyo Standard Time</TimeZone>
<AutoLogon>
<Password>
<Value>Pa$$w0rd</Value>
<PlainText>Ture</PlainText>
</Password>
<Username>administrator</Username>
<LogonCount>1</LogonCount>
<Enabled>true</Enabled>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>Pa$$w0rd</Value>
<PlainText>Ture</PlainText>
</AdministratorPassword>
</UserAccounts>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>powershell -ExecutionPolicy Unrestricted -File \\dc1\script\domainjoin.ps1</CommandLine>
<Order>1</Order>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/temp/wtp/esd/sources/install.wim#Windows 10 Enterprise Technical Preview" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
[/xml]

このファイルの作成方法としてはシステムイメージマネージャーを使用します。

WDSを使用したWindows8.1のライトタッチインストール

の記事でシステムイメージマネージャーでの作成方法を書きましたので参考になると思います。

参考情報

BIOS ベースの推奨ディスク パーティション構成

https://technet.microsoft.com/ja-jp/library/dd744364(v=ws.10).aspx

TypeID

https://msdn.microsoft.com/ja-jp/library/ff715563.aspx

Windows10 の展開時においての10の考慮点

1.最新イメージを作成

  • 最新のISOが提供されていない場合は、install.esd ファイルより作成する

2.参照コンピューターのインストールは最初が肝心

  • 通常のインストールでは、ローカルユーザーを作成し、administrator アカウントは無効化される。
  • ローカルユーザーが存在すると、ストアアプリの関係で Sysprep に失敗する可能性が高い
  • Administrator アカウントでログオンする(ローカルユーザーは存在しない)
  • 応答ファイルで対応可能

3.参照コンピューターは物理コンピューターで作成

  • 仮想マシンで参照コンピューターを作成しても、なぜかキャプチャ9%以降進まない現象が発生(メモリの問題かも)

4.System Reserve領域の作成

  • Technet に書いてある通りにやっても、応答ファイル読み込み時にエラーとなる
  • TypeID (0x07)を入力しないとダメ(TechnetではTypeIDなし)
    • 07=NTFS
    • 17=hidden NTFS
    • 27=WindowsRE

5.Microsoft-Windows-UnattendJoin は使わない

  • ドメインに参加する場合、スクリプトで対応する。
  • Specialize で動作するので、コンピューター名は自動で作成されたもの
  • ドメインのコンピューターアカウントが作成されない

6.CopyProfileは使わない

  • 展開は可能だが、スタート画面が表示されない現象が多発

7.応答ファイルでPowerShell を使うには

  • ポリシーがRemoteSignedになっているので、ローカルのスクリプトしか動かない
  • PowerShell –ExecutionPolicy Unrestricted –File \\<サーバー名>\\<共有名>\\スクリプト名

8.AutoLogon のログオンカウントを使いこなす

  • ログオンカウントで指定された回数、そのアカウントで自動ログオンされる

9.OOBEの新しい項目のUnattendEnableRetailDemoは使わない

  • 謎の2アカウントが作成される

10.初回起動時はスタート画面が表示されない時がある

  • 再起動して、ログオンすることで解決

Windows Server 2016 を使用した Windows 10 の展開 Part3

カスタムイメージの作成

Windows10 のイメージ展開に使用するイメージ(カスタムイメージ)を作成します。このイメージをカスタムイメージやマスターイメージと呼ぶことがあります。Part1でも紹介しましたが、Windows10のカスタムイメージを作成する場合、Sysprepを行う関係上、最初が肝心になります。なぜなら「administrator」アカウントでカスタムイメージを作成しないと Sysprep がうまくいかない可能性が大きいからです。

さて、カスタムイメージを作成する際、企業で使用するアプリケーションなどをインストールします。例えば、Office製品やAdobe Acrobat Readerは定番のアプリケーションになります。その他には壁紙や既定のユーザーアカウントの画像もカスタマイズできます。ただし、注意しなくてはいけないのは、Sysprep に対応しているアプリケーションでないと不具合が生じる可能性がありますので、検証をしっかりと行いましょう。

既定のユーザー アカウントの画像

下記フォルダに、下記のファイル名でサイズを合わせて保管します。

C:\ProgramData\Microsoft\User Account Pictures

  • user.bmp (448×448 pixels)
  • user.png (448×448 pixels)
  • user-32.png (32×32 pixels)
  • user-40.png (40×40 pixels)
  • user-48.png (48×48 pixels)
  • user-192.png (192×192 pixels)

また、ドライバーもこの段階で入れてしまうこともできます。

Pre-staged app cleanup の無効化

これは Windows 8 の時にあったのですが、Sysprep を実行すると ストアアプリが英語化されてしまうという問題を回避するものになります。Windows10でも再発するかはわかりませんが、念のため同様の操作をしておきます。

[タスク スケジューラー](Taskschd.msc) で \Microsoft\Windows\AppxDeploymentClient\Pre-staged app cleanup を無効化します。またはコマンド プロンプト(管理者として実行) で Schtasks.exe /change /disable /tn “\Microsoft\Windows\AppxDeploymentClient\Pre-staged app cleanup” を実行でもできます。

Windows Updateを実行して最新状態に更新

カスタムイメージを作成した時点での最新状態にしておきます。

Sysprep を実行

[powershell wraplines=”true”]
Sysprep /oobe /generalize /shutdown
[/powershell]

Sysprep /generalize コマンドを実行すると、不必要な設定や情報がコンピューターから削除され、次回コンピューターを起動したときにミニセットアップ(OOBE)が起動します。

参照コンピューターのキャプチャ

参照コンピューターでPXEブートを行い、キャプチャブートイメージをロードします。

イメージキャプチャウイザードではキャプチャ後にキャプチャイメージを自動的にWDSに登録することができるので特別な要件がなければキャプチャと同時にWDSへの登録を行うのがいいでしょう。この際、キャプチャイメージはどこに保存されるかというと、参照コンピューターのディスクになるので注意が必要です。イメージキャプチャウイザードでキャプチャ時にWDSに登録しない場合は、参照コンピューター起動後にキャプチャしたイメージを手動でWDSにコピーして登録します。

図3 イメージキャプチャウィザード時にキャプチャイメージをWDSに登録

応答ファイルとプロビジョニングパッケージ

Part2で紹介した、Windows ADK をインストールすると、Windows SIM(Windows System Image Manger)と Windows ICD(イメージングおよび構成デザイナー:Windows Imaging and Configuration Designer)がインストールされます。

応答ファイルに関しては、今までと同じでOS展開を自動化するためのファイルという位置づけです。ただし、この応答ファイルは様々なバージョンやOSの種類に対応していることもあり、このOSバージョンでは動くが、別のバージョンでは動かないなどの挙動が確認されています。そのことから、応答ファイルを実際に使用するには検証が必要になるでしょう。この応答ファイルの作成には Windows SIM を使用します。

さて、Windows ICDで作成するプロビジョニングパッケージというものが Windows 10 で使用できるようになりました。これは 今までの OS の展開手法にとって代わるものなのか調べてみました。結論から申しますと、筆者の見解としては、あくまでも展開作業においては応答ファイルを補完する役割のものと理解しました。そもそもプロビジョニングパッケージとはどういうものなのか?これは、山内さんが書かれている記事が理解しやすいです。

2016-02-21_095958

では、プロビジョニングパッケージで何ができるのか?ですが、応答ファイルでできることと重複している部分がありますが、新しい仕組みなので、応答ファイルでできないこともプロビジョニングパッケージには含まれています。よって、応答ファイルのみですべて行ってもいいですし、応答ファイルで対応できない作業をプロビジョニングパッケージに置き換えて行うこともできます。例えばMDMや無線に関する項目を設定したいなどが相当します。

プロビジョニングパッケージを使用したWindows 10 の展開には、主に次の3つの方法があります。

  1. プロビジョニングパッケージ(.ppkg)をオフラインイメージに配置し、イメージを起動する
  2. プロビジョニングパッケージ(.ppkg)を含むインストールメディアを作成し(Windows ICDで作成可能)、ベアメタルPCをセットアップする
  3. プロビジョニングパッケージ(.ppkg)をUSBメモリなどのリムーバブルメディアのルートにコピーし、インストール済みのWindows 10に読み込む

今回行いたいことは、ライトタッチインストールになります。よって、なるべくユーザーの操作なしでPCのイメージ展開を行い、ドメインなどに参加した状態でアプリケーションが使用できる環境を作成したいのです。そのことから考えると、2.に関しては企業アプリなどの導入ができない時点で使えません(Windows ICDにもアプリケーションを入れる項目がありましたが、調べてみたところいわゆるストアアプリでした)。3.に関しては導入後操作となるので除外になります。ということは、1.の方法がライトタッチインストールに適合しますね。

Windows 10のインストールメディアの「Sources¥Install.wim」を展開したディスク、あるいはWindows 10のSysprep済みのイメージの「C:¥ProgramData¥Microsoft¥Provisioning」フォルダにコピーし、イメージを起動することでプロビジョニングパッケージを使用することができます。ライトタッチインストールにおいて、プロビジョニングパッケージを使用するには、カスタムイメージを作成する際に、1.の方法を使用してプロビジョニングパッケージを「C:¥ProgramData¥Microsoft¥Provisioning」フォルダにコピーすることで対応できます。しかしながら、この対応方法は少々面倒ですね。できれば、WDSサーバーで応答ファイルと同じようにプロビジョニングパッケージを指定できると尚いい感じがします。

現状の動作を知る

カスタムイメージの作成が終わったら Sysprep を行ったのち、それをWDSサーバーに取り込んで、そのカスタムイメージを展開する必要があります。

では、応答ファイルなしの状態でどのような対話形式でインストールされるのか確認してみます。

PXEブートで起動します。ブートイメージを選択して進めます。

dep1

ロケールなどを選択し、次へをクリックします。

dep2

カスタムイメージにアクセスするための資格情報を入力します。

dep3

カスタムイメージを選択します。

dep4

インストール先のドライブや容量を設定します。

dep5

インストールが進みます。

dep6

ミニセットアップ(OOBE)が起動します。

dep7

リーガルですね。

dep8

設定を促す画面の対応

dep9

接続方法を選択

dep10

アカウントの作成

dep11

ログオンする

dep13

このような一連の対話型の操作が必要になることが分かります。これらの対話型操作を極力なくして、ログオン状態まで行いたいと思います。

 

 

 

 

Windows Server 2016 を使用した Windows 10 の展開 Part2

g0012_800x600

Windows 10 のアップデート

Windows 10 のアップデートの仕組みが今までと変わったのはご存知かもしれません。実は「Windows as a Service」という概念が入ってきました。「Windows as a Service」とは、Windows をサービスとして提供する考え方で、OSリリース時には含まれていなかった機能などが、随時更新されアップデートされていく仕組みになります。これが Windows 10 が最後のバージョンと言われる理由になります。

WAAS

サービシングモデル

Windows 10 の機能更新のタイミングには次の3つがあります。この機能更新(メジャーアップデート)は Windows Update などを通じて配信されるのですが、事実上新しいOSの上書きインストールです。このことから、企業では常に最新の OS を使用する CB もしくは CBB を選択するか、バージョン固定の LTSB のどちらかを選択することになります。ちなみに、 LTSB は専用メディアが用意されています。このことは、OSの展開設計にもかかわることですので書いておきました。なぜなら、CB、CBBを選択した企業では、常に最新の Windows 10 を使用することになります。ということは、メジャーアップデートが行われた場合、前バージョンで作成したカスタムイメージは古いバージョンとなるので、新しくアップデートされた ISO ファイルを入手してカスタムイメージの再作成が必要となることを意味します。

Current Branch(CB)

CB

主にコンシューマー向けで、常に最新の機能が提供されるモデル。
業務アプリケーションの互換性などを確認するための検証用システムなどにもこのモデルが推奨されている。

Current Branch for Business(CBB)

CBB

主にビジネスユーザー向けで、CBの後に新機能が提供されるモデル。
新機能が市場で安定して動作することが確認されてからの提供となる。

Long Term Servicing Branch(LTSB)

LTSB

主にミッションクリティカルシステム向けで、新機能の提供はされず、セキュリティ更新プログラムや修正プログラムのみが提供されるモデル。

Windows 展開に必要なツールをインストール

Windows 10 をカスタマイズするために必要なツールである Windows ADKをインストールします。2016年2月現在の最新版であるバージョン1511をインストールします。

Windows ADK for Windows 10 バージョン 1511

ADK

最低、下記4つはインストールしましょう。

  • Deployment Tools
  • Windows PE
  • Windows ICD
  • USMT

Insider Preview を展開する場合

Insider Preview では 次のCBで展開されるまでの過程で配布されるビルドを使用することができます。 当然ながら人柱用のビルドなのでこれを配布することはないと思いますが奇特な方は次の方法で ISO を作成することができます。

メジャーバージョンをインストール後、最新ビルド(Insider Preview)にアップデートします。「Install.esd」ファイルが作成されるので、そのファイルから必要なファイルを生成して ISO を作成します。

C:\$Windows.~BT\Sources\Install.esd

install.esd から最新の Install.wim と boot.wim を作成する

作業用フォルダーの作成

[C:\Temp\WTP\ESD]   ESD:展開先フォルダー
[C:\Temp\WTP\tmp]   tmp:一時作業用フォルダー
[C:\RecoveryImage]         esdファイル保存先フォルダー

install.esd含まれる内容を確認

[powershell wraplines=”true”]
Dism /Get-WimInfo /WimFile:C:\RecoveryImage\install.esd
[/powershell]

install.esd の展開

[powershell wraplines=”true”]
Dism /Apply-Image /ImageFile:C:\RecoveryImage\install.esd /Index=1 /ApplyDir:C:\Temp\WTP\ESD
[/powershell]

Boot.wim の作成

[powershell wraplines=”true”]
Dism /Capture-Image /ImageFile:C:\Temp\WTP\ESD\sources\boot.wim /CaptureDir:C:\Temp\WTP\tmp /Name:tmp /Compress:max
Dism /Export-Image /SourceImageFile:C:\RecoveryImage\Install.esd /SourceIndex:2 /DestinationImageFile:C:\Temp\WTP\ESD\sources\boot.wim /Compress:Recovery /Bootable
Dism /Delete-Image /ImageFile:C:\Temp\WTP\ESD\sources\boot.wim /Index:1
Dism /Export-Image /SourceImageFile:C:\RecoveryImage\Install.esd /SourceIndex:3 /DestinationImageFile:C:\Temp\WTP\ESD\sources\boot.wim /Compress:Recovery /Bootable
[/powershell]

Install.wim の作成

[powershell wraplines=”true”]
Dism /Capture-Image /ImageFile:C:\Temp\WTP\ESD\sources\Install.wim /CaptureDir:C:\Temp\WTP\tmp /Name:tmp /Compress:Maximum
Dism /Export-Image /SourceImageFile:C:\RecoveryImage\Install.esd /SourceIndex:4 /DestinationImageFile:C:\Temp\WTP\ESD\sources\install.wim /Compress:recovery
Dism /Delete-Image /ImageFile:C:\Temp\WTP\ESD\sources\install.wim /Index:1
[/powershell]

ISOファイルの作成

展開及びイメージング ツール環境(Deployment and Imaging Tools Environment)を起動します。

[powershell wraplines=”true”]
copype amd64 C:\workdir
[/powershell]

Windows10の中身(C:\Temp\WTP\ESD)を C:\workdir\mediaに上書きします。

[powershell wraplines=”true”]
Makewinpemedia /iso \workdir \win10ent_1XXX_amd64.iso
[/powershell]

これで、ISOファイルが作成できました。

Windows Hello と Microsoft Passport の関係

hello

Windows Hello とは

Windows10 には Windows Hello が搭載されました。これはわかりやすく言うと生体認証アプリケーションになります。よって、今まではパスワードを使用してユーザー認証を行っていましたが、生体認証を使用することができるということです。Windows10 が対応している生体認証方法としては、「指紋認証(Fingerprint)」「顔認証(Face)」「虹彩認証(Iris)」の3種類に対応します。

指紋認証は今までもノートPCなどで採用されていたので馴染みが深いと思います。

顔認証に関しては、入退館システムでたまに見かけるくらいであまり浸透はしていませんね。

虹彩認証も、顔認証と同様になります。虹彩とは、瞳孔の周りの色のついたリングのことで、角膜で保護されています。虹彩と網膜は別のものです。そもそも、虹彩とは、生後18か月までにパターンが特定され一生変わることはありません。

さて、話を戻すと Windows10 の Windows Hello では PIN との組み合わせになります。よって、デバイスが使用できない状態でも PIN でログオンができます。PIN に関してはデバイスごとに設定するので、たとえ PIN 番号が漏れたとしてもそのデバイスの PIN 番号を変更するだけで済むことがメリットになります。よって、運用面から考えると複数のデバイスを所有しているユーザーは PIN の使いまわしは避けるべきでしょうね。

Windows Hello を使用して指紋認証でログオンすることができますが、私は以前から ThinkPad の指紋認証を使用して Windows にログオンしていたのであまり感慨深いものはないのですよね~。

さて、実際問題として Windows Hello を使用するためには生体認証デバイスが必要になります。しかしながら、日本ではそのデバイスの入手が難しいです。指紋認証デバイスにおいてはあることにはあるのですが、値段が高い。

サンワサプライ 指紋認証リーダー FP-RD2

とかがAmazonで購入できます。私は

Thumbprint Security USB Reader

を Amazon USA から購入しました。送料込みでも日本で購入するより安いです。

そして、顔認証においては Intel Realsense が必要になります。追加デバイスとしては、Intel RealSense F200 が必要になるのですがこれも日本では入手が難しいです。また、現在使用していますがまだドライバーが未成熟なのかWindows10の問題なのか、不安定な状態なのでお勧めはしません。

また虹彩認証デバイスはまだ世の中に出ていないようです。

Microsoft Passport とは

FIDO2.0 という規格に対応した認証プロセスで Windows Hello による認証が完了すると FIDO クライアントである Windows10 が秘密鍵(Private Key)を取り出して認証要求に対して署名をつけてFIDOサーバーである Azure AD に送信します。これは Windows10とAzure AD との組み合わせでサポートされています。次期 Windows Server 2016 の AD で Windows10 との組み合わせもサポートするようです。この仕組みのメリットはなにかというと、PKIの公開鍵と秘密鍵を使用していて、Windows10がサインイン(認証)要求を FIDO Server である Azure AD に送信する際、TPM に保管されている秘密鍵を取り出して署名して送信しているので、ネットワークには一切パスワード情報が流れていないことになります。FIDO サーバー(Azure AD)にはユーザーの公開鍵が保管されているので署名の確認を行い、正当なサインイン要求だった場合には PRT(Primay Refresh Token)が発行されてアクセストークンである PRT をさまざまなアプリに提示することで再認証を回避して SSO(Single Sign On)が可能になります。

まとめ

Windows Hello と Microsoft Passport の関係性に関して、以前までもやもやしていましたが、FEST2015 の安納さんのセッションを受講してすっきりしましたのでこちらにまとめておきました。何か間違いなどがありましたら、こっそり教えていただければ幸いです。

追伸:2015/9/18 に間違いがわかりましたので書き直しました

Surface2 にスタート画面がやってきた

StartLine

Windows RT 8.1 Update 3 が公開

Windows10 が発表されて忘れ去られている我が家の Surface2(Windows RT)ですが、Windows RT 8.1 Update 3 が公開されたことで、Windows10 ライクなスタートメニュー画面が追加されました。今までのスタート画面と交換する形になります。ということで、さっそくアップデートしてみました。

IMG_0895

これが我が家の Surface2 になります。見事にスタート画面が Windows10 と同じで、気分だけでも Windows RT ということを忘れさせてくれますw

さて、Update後にすぐにこの画面になるわけではなく、若干の設定が必要になります。タスクバーとスタートメニューのプロパティの「スタート」タブの「スタート画面ではなくスタートメニューを使用する」にチェックを入れて[適用]をクリックします。

startmenu

下のダイアログボックスが表示されるので、[サインアウトしてスタートを変更]をクリックします。

restart

サインインするとスタート画面が Windows10 と同じになります。

start

しかしながら、当たり前ですが ストアアプリは Windows10 のような ウィインドウ表示にはならず全画面表示です。

 

Windows10 のショートカットキーの一覧

career-516949_1280

Windows10 のショートカットキー

Windows10 のショートカットキー一覧がこちらに掲載されています。これを眺めているとずいぶんいっぱいあることに驚きます。

その中でも Windows10 だからこそ使える便利なキーがあるもんですよね~

例えば、大型のディスプレイを使用している場合は一画面に複数のアプリを並べる(スナップ)ことがあると思います。特に最近は4K対応ディスプレイなども出てきているのでこの用途は多くなるでしょう。そんな時はショートカットキーを使用して簡単にアプリを配置可能なんです。Windows8の時もありましたが、Windows10では1/4サイズも可能になっているので便利です。

2015-08-26_092609

Windowsキー+左:アクティブウィンドウを左にスナップ
Windowsキー+右:アクティブウィンドウを右にスナップ
Windowsキー+上:アクティブウィンドウを上にスナップ(最大化)
Windowsキー+下:アクティブウィンドウを下にスナップ(最小化)

あとは、仮想デスクトップも使いこなしたい機能なので紹介しておきます。

2015-08-26_093758

Windowsキー+Ctrl+D:新たな仮想デスクトップの作成
Windowsキー+Ctrl+左:左に仮想デスクトップをスクロール
Windowsキー+Ctrl+右:右に仮想デスクトップをスクロール
Windowsキー+Ctrl+F4:現在の仮想デスクトップを閉じる
Windowsキー+Tab:すべての仮想デスクトップ(とアプリ)をタスクビューページで閲覧

ということで、ほかにもたくさんありますので、使えそうなショートカットキーは覚えておくのはいいかもしれませんね!

 

 

 

Windows10 を KMS で認証するには

authentication

KMS ホストの要件

Windows10 の KMS ホストは、既存のサーバーを使用する際には注意が必要です。

Windows10の認証をサポートしているサーバーは Windows Server 2008 R2 以降(Windows7)Windows Server 2012 以降(Windows8)になります。よって以下の KMS ホストはサポートしません。

*2015年11月12日追記

どうやら状況が変わって、Windows7 と Windows Server 2008 R2 の KMS ホストも Windows10 の認証をサポートしたようです。

Update that enables Windows 7 and Windows Server 2008 R2 KMS hosts to activate Windows 10

  • Windows 7
  • Windows Server 2008 R2
  • Windows Vista
  • Windows Server 2008
  • Windows Server 2003

これらのサーバーを使用している場合は、新たに KMS ホストを作成する必要があります。

そして、次の修正プログラムを適用する必要があります(既存の KMS サーバーも同様です)。

Update that enables Windows 8.1 and Windows 8 KMS hosts to activate Windows 10

Volume Licensing Service Center (VLSC) から Windows10 用のプロダクトキーをダウンロードして、インストールします。修正プログラムをインストールせずにライセンスキーを入力すると、以下のエラーが出るようです。

0xC004F015

Error details
0xc004f042 – SL_E_VL_KEY_MANAGEMENT_SERVICE_ID_MISMATCH

The Software Licensing Service determined that the specified Key Management Service (KMS) cannot be used.

参考情報:

Error 0xC004F015 when you try to activate Windows 10 Enterprise on a Windows Server 2012 R2 KMS host

以上のことから、Windows Server 2012 / 2012 R2 を KMS ホストとして運用する(Windows8 / 8.1 でもWindows10はクライアントなので クライアント認証専用 KMS ホストとして運用可能)必要があるので、基本的にボリュームライセンス認証ツールを使用することになるでしょう。このツールを使用すれば、ウィザードに従ってキーをインストールするだけで KMS ホストの構築が可能です。

Windows10 を MAK で認証後、KMS 認証に変更したい場合は KMS キーに変更します。

Appendix A: KMS Client Setup Keys

Windows10 の KMS キーが公開されていますので、参考にしてください。