Windows 10 Pro で Sysprep を成功させる方法!


「Windows 10 で Sysprep しようとしたら、”Sysprep で Windows のインストールを検証できませんでした。” っていうエラーが出たんですケド (泣)」

Sysprep

「こんなことなら Win 10 なんて導入しなきゃよかった……。」
なんて後悔してしまいそうですが、まだ大丈夫!

私も同じような失敗をしてしまい、一時はパソコンを投げかけましたが (笑)、人柱の意地で何とか無事にできる方法を突き止めることができました (笑)
できるだけ簡単に、そして順を追ってもらえれば必ずできるようにまとめていますので、少し長いですが安心して読み進めてください。


■ Windows 10 Pro で Sysprep を行うと、なぜエラーが出るのか?

これは、2015 年 11 月のアップデートで Win 10 がバージョン 1511 になったことが関係しています。
このアップデートにより、何とネットに接続するだけで [Candy Crush Saga] や [Netflix] などのストアアプリが勝手に順次インストールされていくようになりました。
そこまでならいいのですが、それらのアプリが Sysprep のジャマになった結果、冒頭のようなエラーが出るようになってしまったんですね。
「なんて OS だ!」
さらに困ったことに、このアプリたちはユーザーごとにインストールされますので、管理者と標準ユーザーのアカウントを作っていた場合は、それぞれにアプリがインストールされてしまいます。しかも同じ順ではありません。一方は [Candy Crush Saga] が先に、もう一方は [Netflix] が先に、という感じで、サインインしている間に順不同での~んびりと入っていきます。あぁーもぅ (怒)

■ アプリの自動インストールは、グループポリシーの適用で阻止できるんじゃないの?

私もハマってしまったのですが、残念ながらこれでは阻止できません
ちなみに Microsoft Technetの記事 (こちら) には 2016.9.22 現在、次のように載っています。
「マスター作成時に [Microsoft コンシューマーエクスペリエンスを無効にする] という設定を有効にすることで、アプリの自動インストールを防ぐことができる。(要約しています)」
それを信じてクリーンインストールからのマスター作成を 2 度も行いましたが、エラーは収まりませんでした (怒)
「何これ、ウソなの!?」と思ってしまいますが、次の画面をよ~く見てください。

Sysprep

Enterprise と Education、どちらかのエディション (SKU = Stock Keeping Units) でしか機能しない、つまり Windows 10 の「Pro では適用できない」と書いてあります!
「なんじゃそりゃ!! (# ゚Д゚)」
とにかく Pro ではアプリの自動インストールを止めることはできません。ネットに接続しなければ阻止できますが、それはないですよね……。Windows Update もできやしない (笑) こんな手法を堂々と提案するな! と叫びたい。
なので、アプリの自動インストールを止めるのはあきらめます。

■ では、どうすれば Win 10 Pro で Sysprep できるようになるのか?

かんたんに言えば、Sysprep 直前に、自動インストールされたアプリをすべて削除すれば解決します。
ただし気を付けてください!
[設定] – [システム] – [アプリと機能] からアンインストールしても解決しません。
では、どうすればいいのか?
Windows PowerShell を使って、ユーザーごとにアプリを削除していきます。
「えっ!? それってコマンドプロンプトみたいなやつ? 難しいんじゃないの?」
はい、確かに手間取りましたが、何度も検証して最短で済ませられるようにまとめましたので、がんばりましょう!

▼ ▼ 手順 ▼ ▼

1. まずは管理者アカウントで Windows にサインインしてください。

2. アプリを一括削除するコマンドファイルを準備します。
今回は私の方で作ってありますので、それを使ってください。
下のアイコン画像を右クリック – [対象をファイルに保存] でデスクトップに保存してください。
そのあと C: ドライブ直下に移動させておくと、何かと便利です。

Sysprep
remove.ps1

3. Windows PowerShell を管理者として実行します。
(アプリ削除のコマンドを実行できるようにするため、管理者である必要があります)
スタート画面の一覧から [Windows PowerShell] フォルダーを開き、中の [Windows PowerShell] を右クリック – [管理者として実行] を選択します。

4. [ユーザーアカウント制御] ウィンドウが表示されるので、[はい] を選択します。

Sysprep

5. “PS C:¥Windows¥System32> ” に続けて “Set-ExecutionPolicy RemoteSigned” と入力して Enter。全部小文字でもかまいません。”Remote~” の前にだけ半角スペースがあるので注意!

Sysprep

6. 入力に成功すると、
“実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの~”
と長々聞いてきますので、「はい (YES)」を示す “Y” を入力して Enter。こちらも小文字で大丈夫です。

Sysprep

7. 次の行に、何事もなく “PS C:¥Windows¥System32> ” の文字が表示されたら、設定は完了です。

Sysprep

8. それでは手順 2 で用意したスクリプトを使って、いよいよアプリを一括削除します。
“PS C:¥Windows¥System32> ” に続けて “C:¥remove.ps1” と入力して Enter。(←ここの “C:¥remove~” は円マークを全角にしているので、コピペする場合は半角に直してください)
もし PS1 ファイルが C: ドライブ直下でない場合は、入力するパスを変えてください。

Sysprep

9. PS1 ファイルの実行に成功すれば、次の写真のようにグリーンの帯が上に重なって、削除が実行されます。

Sysprep

10. グリーンの帯が消え、次の行に何事もなく “PS C:¥Windows¥System32> ” の文字が表示されたら、サインイン中のアカウントのアプリ削除は完了です。
“Exit” と入力するか、[×] をクリックして Windows PowerShell を閉じましょう。

11. もしほかにもアカウントがある場合は、そちらにサインインし直して手順 12 へ。なければ、手順 16 へ進んでください。

─ ─ ─ ─ ─
12. 次のアカウントにサインインできたら、早速 Windows PowerShell を起動します。
スタート画面の一覧から [Windows PowerShell] フォルダーを開き、中の [Windows PowerShell] を選択してください。今回は管理者として実行してはダメなので、普通に起動してください。
(管理者アカウントのアプリではなく、あくまで今サインインしているアカウントのアプリを削除するため)

13. 手順 8 と同じく、スクリプトを使ってアプリを一括削除します。
今回は “PS C:¥Windows¥System32> ” ではなく “PS C:¥Users¥” のあとにアカウント名が 入っていれば正解 (管理者として実行していない、という意味) です。
それでは、”PS C:¥Users¥アカウント名> ” に続けて “C:¥remove.ps1” と入力して Enter です。

14. 手順 9~10 のように、グリーン帯が表示され終えたら、Windows PowerShell を閉じます。

15. まだほかにもアカウントがあるようなら、さらにサインインし直して手順 12 に戻ります。なければ次に進んでください。
─ ─ ─ ─ ─

16. お待たせしました。満を持して、Sysprep を実行してください!

■ 上記の手順でもエラーが出てしまったときは?

安心してください、履いて……じゃなくて、まだ手はありますからご安心を。
おそらく、冒頭と同じエラー ↓ が出たかと思います。

Sysprep

と言うことで、言われた通りにログファイルを見てみましょう。

17. [C:] – [Windows] – [System32] – [Sysprep] – [Panther] フォルダーにある [setuperr.log] を、メモ帳などで開いてみてください。

※ エラーには [setupact.log] を見ろと指定されていますが、そこからエラーログだけを抜き出したのが [setuperr.log] です。なので、ご指名のファイルではなく [setuperr.log] を開いた方が圧倒的に見やすい (心が折れない) です。

18. [setuperr.log] の 1 行目には、次のようなエラー文があるかと思います。

SYSPRP Package <アプリのパッケージ名> was installed for a user,
but not provisioned for all users.
This package will not function properly in the sysprep image.

その行から、”<アプリのパッケージ名>” と書かれた部分の文字を見てください。
“Microsoft.MicrosoftStickyNotes_1.1.24.0_x64__8wekyb3d8bbwe” のような感じのパッケージ名が書かれているかと思います。これが、Sysprep のジャマをしているアプリの正体です!
(このアプリ名は実例ですが、違う場合もあります)
このアプリに制裁を加えたいところですが、気持ちを鎮めて、その文字から最初のアンダーバー “_” までをコピーしてください。
この例では “Microsoft.MicrosoftStickyNotes_” までですね。

19. C: ドライブ直下に残しておいた remove.ps1 を開きます。

20. “$list = @(“ と書かれた次の行に、次のように追記します。

“<手順 18 でコピーしたパッケージ名>.”,

今回の例を使うと、”Microsoft.MicrosoftStickyNotes_.”, というようになります。
最後のピリオド、ダブルクォーテーション、カンマに注意してください。
そうすると、次のようになりますね。

$list = @(
"Microsoft.MicrosoftStickyNotes_.",
"4DF9E0F8.Netflix_.",

21. PS1 ファイルを上書き保存して閉じます。

22. ちょっと大変ですが手順 3 まで戻り、再度手順を進めていきます。手順 5~7 の実行ポリシー設定は飛ばしてかまいませんので、再度 PS1 ファイルを実行し、Sysprep をするところまで進めてください。

無事にできれば、めでたく完了です!

またまたエラーが出てしまったら? 全然大丈夫です。
手順 17 からやり直し、新たにひっかかったアプリ名を PS1 ファイルに追記。もう一度 PS1 ファイルを実行して Sysprep。これを Sysprep が成功するまでくり返すことで、いつか必ず成功します。
PS1 ファイルを見れば分かる通り、私は 7 回やりましたよ (汗)

この記事で使った PS1 ファイルは 2016.9.23 に作ったものなので、時間が経つにつれて削除しなければならないアプリも増えていくと思われますが、面倒なだけで必ず成功しますので、心折れずにトライしてみてください!

必ずできます!

※ もしよければ、達成できたかどうかだけでもコメントいただけると幸いです。
※ 追記したアプリ名も教えていただけると、すごく嬉しいです。
※ 下のボタンからの [ツイート] や [いいね!] も歓迎です。
 _(._.)_

カテゴリー: 必達ナビゲート | 投稿日: | 投稿者:





Windows 10 Pro で Sysprep を成功させる方法!」への2件のフィードバック

  1. nakajima

    こちらの情報のおかげで無事Sysprep を成功させることができました。
    今回追加したアプリ名は、
    “flaregamesGmbH.RoyalRevolt2_.”,
    “Microsoft.MinecraftUWP_.”,
    “Microsoft.WindowsAlarms_.”,
    “Microsoft.WindowsStore_.”,
    “microsoft.windowscommunicationsapps_.”,
    “Microsoft.WindowsCalculator_.”,
    “NAVER.LINEwin8_.”,
    “Facebook.Facebook_.”,
    でした。

    いや、長い道のりでした(笑)

  2. シフ 投稿作成者

    nakajima さん、コメントありがとうございます。
    超マニアックなネタでしたが、お役に立ったようでうれしいです! ^^
    貴重なアプリのリストも参考にさせていただきますね!

コメントを残す

メールアドレスが公開されることはありません。

トラックバック URL