Client」カテゴリーアーカイブ

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」ドメインはやめましょうということかなと思いました。

 

 

情報として残っているネットワークアダプタを削除する

情報として残っているネットワークアダプタを削除する

これは完全なる自分用の備忘録です。

久しぶりにHyper-Vをいじっていたら、ネットワークアダプタ情報が残ってしまい、うまくバインドされなくなったので削除しました。

方法

コマンドプロンプトより下記コマンドを実行する(存在しないデバイスを表示させる設定)。

set devmgr_show_nonpresent_devices=1

デバイスマネージャーを起動して、表示メニューより「非表示デバイスの表示」にチェックして、該当のネットワークアダプタを選択して削除する。

KB4041994がエラーでインストールできない

Update for Windows 10 Version 1709 for x64-based Systems (KB4041994) – エラー 0x80070643

Thinkpad X1 Carbon の Windows Update にて上記エラーがでて、何度行ってもインストールできません。調べてみると、自分のOSビルドは16299.371で、少なくともOSビルド16299.19(どこからかはわかりませんがw)以降はKB4041994は適用不要とのこと。しかしながら何らかの原因でWindows Updateに表示されてしまうそうです。さて、自分のOSビルドを確認したいときは、「winver」コマンドを実行しましょう!

ということで、KB4041994をUpdateから非表示にしてみました。

“Show or hide updates“ トラブルシューター

“Show or hide updates“ トラブルシューターはマイクロソフトが Windows 10 向けに提供しているツールで、特定の問題を起こしている更新プログラムやドライバーを Windows Update で非表示にし、自動でインストールされないようにすることができます。

ダウンロード リンク:

Show or hide updates“ トラブルシューター
Download the “Show or hide updates” troubleshooter package now.

Show or hide updates“ トラブルシューターをダウンロードして実行します。

Hide update をクリックします。

今回隠したい更新プログラムを選択して、次へをクリックします。

これで完了。

うんうん。この状態ですよね~

Windowsキー+Xで表示されるPowerShellをコマンドプロンプトに変更する

コマンドプロンプトはどこ行った

Windows10 を Creators Update にしたところ、Windowsキー+X のメニューが「コマンドプロンプト」から「PowerShell」に変更されているんですが・・・

これって、「コマンドプロンプト」に戻すことができます。タスクバーを右クリックして、「タスクバーの設定」をクリックすると、設定できます。

画面中央に表示されるIMEモードが気になる

あと、Creators Update にして気になったのは、IME入力モード切替の通知が画面中央に表示されることです。

これを非表示にするには・・・

IME プロパティを開いて、IME入力モード切替の通知のチェックを外せばOKです。

とうことで、備忘録でした。

 

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 Server 2016 を使用した Windows 10 の展開 Part1

OS展開方法のまとめ

2015年に、新しいクライアントOSである Windows 10 がローンチされました。多くの企業では Windows 10 の評価段階がそろそろ終了し、実装を検討しているのではないでしょうか。そこで、Windows 10 の展開を行う方法を理解することで、適切な展開手法を選択することができるでしょう。OS展開手法として次の3つがあります・

ハイ タッチ インストール

ドライバーやアプリケーションのインストールおよびカスタマイズが行われていない状態でのインストール作業のことを表します。ハイタッチインストールの代表的な手法として、メディアから直接インストールする手法を「フルタッチ」といいます。企業に属さない個人ユーザーのほとんどはこの「フルタッチインストール」でOSを展開(インストール)しているでしょう。このインストール形態の難点は、展開中に多くのユーザー操作が必要ということです。

ライト タッチ インストール

極力ユーザー操作を排除した展開手法になります。ユーザーによる展開の管理と監視が必要ですが、繰り返しのステップやプロセスを極力除外し、展開の効率をアップする手法になります。Microsoft では展開に使用するツールとしてWindows 展開サービス (WDS) や Microsoft Deployment Toolkit (MDT) を提供しています。

ゼロ タッチ インストール

ユーザーの介入なしにインストール全自動で行う手法になります。Microsoft では Microsoft System Center Configuration Manager (SCCM) を提供しており、これを使用することで全自動インストールを実現できます。

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

Windows Server 2016 で提供されている、WDSを使用することで「ライトタッチインストール」を実現することができます。そこで、一般的な展開手順を次に示します。

[table id=12 /]

1.Windows展開サービスのインストールと構成

2.参照コンピューターのインストール

3.参照コンピューターのカスタマイズ(Sysprep)

4.カスタマイズ済み参照コンピューターのキャプチャ(カスタムイメージ)

5.カスタムイメージの展開

WDS

Windows10 の展開時の課題

Windows 7の頃は、マスターとなるイメージを育てるように作成してきました。これは、一旦作成したイメージをベースに新しいイメージを作成していたのです。しかし、Windows8からストアアプリが導入された関係で Sysprep がうまく動作しない現象が起きてきました。その現象は Windows10 でも同様です。様々な検証を行いましたがストアアプリが更新されると Sysprep がうまくいったり、いかなかったりといった現象が起きます。そこで、参照コンピューターを作成する際のポイントとしては、応答ファイルを使用して「administrator」でログインするコンピューターとすることによってストアアプリがインストールされない状態にします。この状態であれば Sysprep は現在のところうまく動作しています。よって、今までのように何度も Sysprep を繰り返してイメージを育てるという方法は難しくなっています。そして、展開時に作成する参照コンピューターのインストールは最初が肝心となります。

*Windows 10をデフォルトでインストールすると「administrator」は無効化された状態となっています。

Sysprepの意味合い

Windowsオペレーティングシステムは、複数のWindowsコンピューターがネットワークに接続した際、重複しない固有のコンピューターとして認識されるための「識別情報」を持っています。この識別情報(SIDなど)が2台のコンピューターで同じものを使用していると、ネットワーク上で競合が発生します。

WDSで使用するキャプチャイメージは、SIDやライセンスデータを含め参照コンピューターと同じなので、展開後に競合が発生しないように、展開前にこれらの情報を消去しておく必要があります。この情報を削除するために利用するのが、「Sysprep(システム準備ツール)」になります。SysprepはWindowsセットアップと連動して実行され、既存のWindows環境をリセットし、新しいコンピューターに環境を展開するたびに情報を再構成できる状態にします。このプロセスを「一般化(Generalize)」と呼び、Sysprepが実行されると不必要な設定や情報がコンピューターから削除され、「OOBE(Out of the Box Experience)」と呼ばれるWindowsセットアップフェーズで再起動されるのです。

Windows展開サービスの構成

Windows展開サービスをインストールし、メニューバーの [操作] より、[サーバーの構成] をクリックして、Windows構成サービスの構成ウィザードを起動します。この際、インストールオプションとして[Active Directoryと統合] もしくは、[スタンドアロンサーバー] を選択します。また、Windows展開サーバーが使用するイメージの保管場所として、システムドライブ以外のNTFSパーティションに、リモートインストールフォルダーのパスを指定します。PXEサーバーの初期設定として、Windows展開サービスのセットアップ中にPXEが反応しないよう、[クライアントコンピューターには反応しない] を選択してウィザードを進めればいいでしょう。

ブートイメージの登録

Windowsの展開に使用するブートイメージを追加する必要があります。今回はオペレーティングシステムとして Windows 10 の 64ビット版をPCにインストールします。そこで、Windows 10のイメージに格納されているブートイメージを使用します。ブートイメージは、展開するオペレーティングシステムの種類に依存しており、64ビット版を展開するにはx64ブートイメージ、32ビット版を展開するにはx32ブートイメージが必要です。ブートイメージはインストールメディアの「\sources\boot.win」です。

キャプチャイメージの作成

参照コンピューターのキャプチャを行うためのブートイメージを作成します。これは、ブートイメージを基に作成します。作成したブートイメージを選択し、右クリック、[キャプチャイメージの作成]より行います。ウィザードの操作が完了したら、[今すぐイメージをWindows展開サーバーに追加する] にチェックをいれて、キャプチャイメージを登録します。

ドライバーの追加

展開コンピューターに必要なドライバーを追加します。ドライバーはすべて「.inf」形式である必要があります。「.exe」形式に格納されたドライバーは使用できないので注意が必要です。ドライバーを追加する際は、Windows展開サービスのドライバーを右クリックし、[ドライバーパッケージの追加]をクリックします。ただし、この段階ですべてのドライバーをインストールする必要ありません。なぜなら、参照コンピューターのカスタマイズ時にインストールすれば、カスタムイメージにはドライバー導入済みとなるからです。

参照コンピューターのインストール

参照コンピューターにオペレーティングシステムをインストールするため、インストールイメージを追加します。インストールイメージは、インストールメディアの「\sources\install.win」です。インストールイメージの登録をするには、メニューバーの操作より、[インストールイメージの追加]をクリックします。イメージの追加ウィザードが起動するので、イメージグループを作成し、イメージファイル(install.wim)を指定します。イメージが登録できたら、展開サーバーを選択し右クリックし、プロパティをクリックし、PXEタブより [PXE応答ポリシー] を [すべて(既知および不明)のクライアントコンピューターに応答する] にチェックして、参照コンピューターのPXEブートに反応するようにします。

そして肝心なのは、応答ファイルを設定することです。WDSのプロパティ画面の「クライアント」タブより、「無人インストールを有効にする」にチェックし、適切なアーキテクチャに応答ファイルを設定します。この応答ファイルでは、「administrator」アカウントを使用してセットアップするよう構成しています。

WDS01

PCを起動し、PXEブートするとイメージの選択画面になるので、ブートイメージを選択すると、Windows展開サービスが起動してWindows 10のインストールが始まります。その際、インストールメディアを使用したインストールと同様に、プロンプト画面よりさまざまな入力(ロケール、キーボードまたは入力方式、キーボードの種類、インストールするパーティションなど)を行う必要があります。

応答ファイル例(install.xml)

[xml wraplines=”true”]

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<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>false</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
<TimeZone>Tokyo Standard Time</TimeZone>
<AutoLogon>
<Password>
<Value>Pa$$w0rd</Value>
<PlainText>true</PlainText>
</Password>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>administrator</Username>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>Pa$$w0rd</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</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]

これで、参照コンピューターにオペレーティングシステムのインストールができました。そして、重要なことは、administrator アカウントでログオンできるようになっていることです。これから展開を行うためのマスターとなるオペレーティングシステムのカスタマイズを行っていきます。

OneDriveの容量を無料のまま15Gで使い続けるには

Microsoft OneDrive を15Gで使い続けるには

OneDrive を使用している方はご存知だと思いますが、無料で15G使えたストレージ容量が5Gに縮小される発表があり物議を醸し出していましたが、どうやら申し込みをすることで使い続けることができるようです。

その話題が、こちらのブログに書いてありましたので備忘録として書いておきます。

https://preview.onedrive.com/bonus/

上記URLからアクセスして、申し込みをすると継続して今までと同じストレージ領域を使い続けることができます。実際にやってみたところ、1クリックでできますので是非やっておきましょう。ちなみに、5GBのカメラロールストレージの特典を利用している場合はそれも継続して利用する事が可能となっており、無料ユーザーでも30GBをそのまま利用可能になります。

ということで、OneDive を便利に使いましょう!