【VMware】クローン作成時にSIDを重複させない方法


# はじめに
VMware vSphere Client上でクローンを作成する際、SIDが重複してしまい、エラー発生。
このことを忘れないためにも、備忘録として残しておきます

**マシン重複の神話**なんてものもあるので、この記事で同じようなことになる人が減ればいいなと。

# SIDとは
セキュリティ識別子の略
Windowsのユーザー、グループ、およびコンピュータアカウントを識別する番号

# SIDが重複しているとどうなる?

VMwareのサイトに以下のような文言があります
[クローン作成またはデプロイ時の Windows のカスタマイズ](https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-F3E382AB-72F6-498A-BD26-7EC0BFE320A0.html)

> Windows が元の仮想マシンと同一のセキュリティ ID（SID）を持つ新しい仮想マシンまたはテンプレートを割り当てないように設定できます。これらのコンピュータが 1 つのドメイン内にあり、ドメイン ユーザー アカウントのみが使用される場合、SID が重複していても問題が発生することはありません。しかし、これらのコンピュータがワークグループの一部であったり、ローカル ユーザー アカウントを使用したりする場合、SID が重複しているとファイル アクセスが危険にさらされる場合があります。

SIDは重複しないよう設定した方が良いでしょう

# 検証環境
VMwareのラボを使用
→Virtualization 101 (HOL-2210-01-SDC)

・vSphere7.0
・Windows10


# クローン作成方法

### 仮想マシンのカスタマイズ仕様作成

1. 「メニュー」→「ポリシーおよびプロファイル」を順にクリックする
<img width="500"alt="WS000002.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/d11d574c-8770-ffde-ccdd-487fc2c6af8e.jpeg">

1. 「仮想マシンのカスタマイズ仕様」で「+新規」をクリックする
<img width="500"alt="WS000003.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/3b136f27-2761-7c79-b195-e4bfba4baa28.jpeg">

1. 仮想マシンのカスタマイズ仕様の名前と説明を入力し、「NEXT」をクリックする
※説明は書かなくてもOK
<img width="500"alt="WS000004.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/aed694d1-7ab7-9080-2778-bd52855731fd.jpeg">

1. 登録情報を入力し、「NEXT」をクリックする
<img width="500"alt="WS000006.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/9758e7c4-3fcd-befe-ca3e-afd6a2f859a2.jpeg">

1. 仮想マシンのコンピュータ名を指定する
・仮想マシン名を使用→仮想マシンの名前がコンピュータ名
・クローン/デプロイウィザードに名前を入力→クローンを作成する際に名前入力画面が表示
・名前を入力→この画面で入力した名前がコンピュータ名
<img width="500"alt="WS000007.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/5e1ddb4f-6af0-766b-ef09-f1c011f65a87.jpeg">

1. Windowsライセンス情報が必要な場合、入力して「NEXT」をクリックする
今回は入力せず、「NEXT」をクリック
<img width="500"alt="WS000008.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/3f6df4c6-c47e-6bd3-7744-93151b7ef521.jpeg">

1. 管理者パスワードを入力し、「NEXT」をクリックする
※クローン作成元の仮想マシンにパスワードが設定していない場合、このパスワードが有効になる
<img width="500"alt="WS000009.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/c7e2b521-cb25-6086-4eef-a1813747277b.jpeg">

1. タイムゾーンを選択し、「NEXT」をクリックする
<img width="500"alt="WS000010.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/8462f541-a99d-8c1d-557e-46311b7c91d0.jpeg">

1. ログオンしたときに実行したいコマンドを入力する
今回は入力せずに、「NEXT」をクリック
<img width="500"alt="WS000011.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/bac9bf93-6f59-71d4-22b5-67179b688f53.jpeg">

1. カスタム設定を手動で選択を選択
NIC1を選択し、「編集」をクリックする
<img width="500"alt="WS000012.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/6ca631bc-97a3-c247-84bd-696b54fd3e22.jpeg">
・DHCPを使用してIPv4アドレスを自動的に取得します→DHCP
・この仕様を使用する場合、IPv4アドレスの入力プロンプトを表示→この画面ではサブネットマスクとデフォルトゲートウェイのみ設定し、IPv4アドレスはクローン作成時に設定
・カスタム設定を使用→この画面でIPv4アドレス、サブネットマスク、デフォルトゲートウェイすべて設定
<img width="500"alt="WS000013.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/48cfe4a0-c1f8-825f-56f1-1a111ec30ae6.jpeg">

1. ワークグループまたはドメインの設定をする
ドメインに参加させたい場合は、Windowsサーバのドメインを選択し、設定内容を入力し「NEXT」をクリックする
今回はワークグループのまま「NEXT」をクリック
<img width="500"alt="WS000014.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/c4a8f570-cec7-1fe6-3099-c33e7a2bb281.jpeg">

1. 設定の内容を確認し、「FINISH」をクリックする
<img width="500"alt="WS000015.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/5e364160-9e6c-80b0-1e67-e6b49b09fd47.jpeg">

1. 仮想マシンのカスタマイズ仕様が完成
<img width="500"alt="WS000016.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/852468e4-a290-5402-ad74-a9742df4e975.jpeg">

### クローン作成

1. クローンを作りたい仮想マシンを右クリックし、「クローン作成」→「仮想マシンにクローンを作成」を順にクリックする
<img width="500"alt="WS000017.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/8fda25b8-1d95-8a07-da59-a0100406e311.jpeg">

1. 仮想マシン名と仮想マシンの場所を設定し、「NEXT」をクリックする
<img width="500"alt="WS000018.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/6f4a234f-b4f8-5064-5aa3-49039e18480e.jpeg">

1. 仮想マシンを配置するホストを選択し、「NEXT」をクリックする
<img width="500"alt="WS000019.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/b5e635a1-3513-102f-07f6-a262946721d2.jpeg">

1. 仮想マシンのストレージを選択し、「NEXT」をクリックする
<img width="500"alt="WS000020.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/19df5fd2-ee97-8e7a-a039-2298dfaac482.jpeg">

1. 「□ オペレーティングシステムのカスタマイズ」と「□ 作成後に仮想マシンをパワーオン」をクリックし、「NEXT」をクリックする
※作成後に仮想マシンをパワーオンは選択しなくても問題はありません(手動でパワーオンすることになるだけ)
ディスクを拡張したい等ある場合は、「□ この仮想マシンのハードウェアをカスタマイズします」を選択することで、カスタマイズ可能
<img width="500"alt="WS000021.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/3123c4bc-4e8e-4312-52bd-ba2d70b3f2d0.jpeg">

1. [ゲストOSのカスタマイズ]画面で先ほど作成したカスタマイズ仕様を選択し、「NEXT」をクリックする
※今回の作業のみカスタマイズを変更したいという場合は、オーバーライドをすることで変更可能
<img width="500"alt="WS000022.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/a4bc3ade-07b7-8d73-95a2-aa6fc3e7d70b.jpeg">

1. コンピュータ名とネットワークを設定し、「NEXT」をクリックする
<img width="500"alt="WS000023.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/85e668fa-14ce-25b2-2a24-2e773abb78fc.jpeg">

1. 設定の確認をし、「FINISH」をクリックする
<img width="500"alt="WS000024.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/0a0fd91b-4625-cb01-f7ab-9e01b4547899.jpeg">

1. クローンの作成が完了
※クローン作成直後は、クローン元のIPアドレスもしくはDHCPが表示される可能性がある
<img width="500"alt="WS000027.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/e7934297-3400-a9a4-12b5-55738e1cd866.jpeg">

1. しばらくすると再起動が開始され、クローン作成時に設定したIPアドレスに変わる
<img width="500"alt="WS000029.JPG"src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844260/aef35f6b-9088-362f-7ef9-16946fa2dd76.jpeg">

### SIDの確認

Webコンソールを開き、SIDが重複していないことを確認する

⇩⇩SID確認コマンド⇩⇩
**【WMCI useraccount get name,sid】** 

・今回作成したクローン
```:Command Prompt
C:\Users\holuser>hostname
TEST

C:\Users\holuser>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet0 2:

    Connection-specific DNS Suffix  . :
    Link-local IPc6 Address . . . . . : fe80::248b:38d4:96f3:d647%2
    IPv4 Address. . . . . . . . . . . : 192.168.11.1
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : 192.168.11.254

C:\Users\holuser>wmic useraccount get name,sid
Name
Administrator       S-1-5-21-1993279662-1354586893-2796534878-500
DefaultAccount      S-1-5-21-1993279662-1354586893-2796534878-503
Guest               S-1-5-21-1993279662-1354586893-2796534878-501
holuser             S-1-5-21-1993279662-1354586893-2796534878-1001
WDAGUtilityAccount  S-1-5-21-1993279662-1354586893-2796534878-504
```

・クローン元の仮想マシン
```:Command Prompt
C:\Users\holuser>hostname
Windows10

C:\Users\holuser>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet0 2:

    Connection-specific DNS Suffix  . :
    Link-local IPc6 Address . . . . . : fe80::248b:38d4:96f3:d647%2
    IPv4 Address. . . . . . . . . . . : 192.168.120.53
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : 192.168.120.1

C:\Users\holuser>wmic useraccount get name,sid
Name
Administrator       S-1-5-21-402389249-3722959180-1089387990-500
DefaultAccount      S-1-5-21-402389249-3722959180-1089387990-503
Guest               S-1-5-21-402389249-3722959180-1089387990-501
holuser             S-1-5-21-402389249-3722959180-1089387990-1001
WDAGUtilityAccount  S-1-5-21-402389249-3722959180-1089387990-504
```

無事、SIDが重複することなくクローンを作成できた


# クローンは作成できたのにSIDが変わらない事象

今回作業を行う中で、カスタマイズも行いSIDが重複しないよう設定を進めたにもかかわらず、SIDが変わらない！なぜ！どうしよう！といったことも起きたので、ご紹介。

上記で説明したように設定を行い、いざ確認したところSIDどころかIPアドレス、ホスト名もクローン元と全く一緒、、、
クローンした仮想マシンはWindows10 20H2
Sysprepができていない模様

**C:\Windows\System32\Sysprep\Panther** 配下の **setuperr.log** を確認
エラーログです。
以下何行か抜粋

```setuperr.log:setuperr.log
2022-10-01 15:40:23, Error                 SYSPRP Package InputApp_1000.18362.387.0_neutral_neutral_cw5n1h2txyewy was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.

2022-10-01 15:40:23, Error                 SYSPRP Failed to remove apps for the current user: 0x80073cf2.

2022-10-01 15:40:23, Error                 SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
```

ストアアプリがsysprepを実行する妨げとなりエラーとなっているよう
つまり、アプリを削除しないとsysprepが通らない

結果まだどうやってアプリを消さなければいけないのか、わかっていないという現実。
どなたか教えていただける方いたらうれしいです。
わかり次第この記事に追記しようと思います。