記憶域移行サービスの既知の問題

この記事では、記憶移行サービスを使用してサーバーを移行するときに発生する既知の問題に対する回答について説明します。

記憶移行サービス は、Windows Server のサービスと、Windows Admin Center のユーザー インターフェイスの 2 つの部分でリリースされます。 このサービスは Windows Server、Long-Term サービス チャネル、Windows Server、Semi-Annual チャネルで利用できます。Windows Admin Center は個別のダウンロードとして利用できます。 また、Windows Update を介してリリースされた Windows Server の累積的な更新プログラムの変更も定期的に含まれています。

たとえば、Windows Server バージョン 1903 には、KB4512534 をインストールすることで Windows Server 2019 および Windows Server バージョン 1809 でも使用できる 記憶移行サービス の新機能と修正プログラムが含まれています。

Microsoft サポートを使用する時にログ ファイルを収集する方法

記憶移行サービス には、Orchestrator サービスとプロキシ サービスのイベント ログが含まれます。 オーケストレーター サーバーには常に両方のイベント ログが含まれます。プロキシ サービスがインストールされている宛先サーバーにはプロキシ ログが含まれます。 これらのログは次の場所に置かされます:

  • Application and Services Logs \ Microsoft \ Windows \ StorageMigrationService
  • Application and Services Logs \ Microsoft \ Windows \ StorageMigrationService

オフラインで表示したり、Microsoft サポート に送信したりするためにこれらのログを収集する必要がある場合は、次の手順で使用できるオープンソースの PowerShell スクリプトGitHubがあります:

記憶域移行サービス ヘルパー

README の使用状況を確認します。

Storage Server 2019 を管理しない限り、Windows Admin Center に移行サービスWindows表示されません

1809 バージョンの Windows Admin Center を使用して Windows Server 2019 オーケストレーターを管理する場合、記憶移行サービス のツール オプションは表示されません。

Windows Admin Center Storage Migration Service 拡張機能は、Windows Server 2019 バージョン 1809 以降のオペレーティング システムのみを管理するためのバージョンバインドです。 古いバージョンの Windows サーバー オペレーティング システムまたはインサイダー プレビューを管理するために使用する場合、ツールは表示されません。 この動作は仕様です。

解決するには、Server 2019 Windows 1809 以降を使用するかアップグレードします。

記憶域移行サービスの切り替え検証が失敗し、"対象のコンピューターのトークン フィルター ポリシーに対するアクセスが拒否されました" というエラーが表示される

カットオーバー検証を実行すると、"失敗: 宛先コンピューターのトークン フィルター ポリシーに対するアクセスが拒否されました" というエラーが表示されます。これは、ソース コンピューターとコピー先コンピューターの両方に対して正しいローカル管理者の資格情報を指定した場合でも発生します。

この問題は、 KB4512534 更新プログラムで修正 されました。

記憶移行サービス は、Windows Server 2019 Evaluation または Windows Server 2019 Essentials エディションには含まれていません

Windows Admin Center を使用して Windows Server 2019 Evaluation リリースまたは Windows Server 2019 Essentials エディションに接続する場合、記憶移行サービス を管理するオプションはありません。 記憶移行サービスは、ロールと機能にも含まれていません。

この問題は、Windows Server 2019 および Windows Server 2019 Essentials の評価メディアのサービスの問題が原因で発生します。

評価のためにこの問題を回避するには、Windows Server 2019 の製品版、MSDN、OEM、またはボリューム ライセンス バージョンをインストールし、アクティブ化しません。 アクティブ化を行わずに、Windows Server のすべてのエディションが 180 日間評価モードで動作します。

この問題は、Windows Server の今後のリリースで修正されます。

転送エラー CSV のダウンロード時の記憶域移行サービスのタイムアウト

Windows Admin Center または PowerShell を使用して転送操作の詳細な CSV ログをダウンロードすると、次のエラーが表示されます:

Transfer Log - Please check file sharing is allowed in your firewall. : This request operation sent to net.tcp://localhost:28940/sms/service/1/transfer did not receive a reply within the configured timeout (00:01:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.

この問題は、記憶域移行サービスによって許可される既定の 1 分間のタイムアウトでフィルター処理できない、転送されたファイルの数が非常に多い場合に発生します。

この問題の回避方法:

  1. オーケストレーター コンピューターで、Notepad.exe を使用して %SYSTEMROOT%\SMS\Microsoft.StorageMigration.Service.exe.config ファイルを編集し、"sendTimeout" を既定の 1 分から 10 時間に変更します。

    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBindingSms"
                 sendTimeout="10:00:00"
    
  2. オーケストレーター Storageで "Storage Migration Service" サービスを再起動します。

  3. オーケストレーター コンピューターで、次のRegedit.exeを開始します

  4. 次のレジストリ サブキーが存在しない場合は作成します:

    HKEY_LOCAL_MACHINE\Software\Microsoft\SMSPowershell

  5. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。

  6. DWORD の名前として「WcfOperationTimeoutInMinutes」と入力し、Enter キーを押します。

  7. [WcfOperationTimeoutInMinutes] を右クリックし、[変更] を選択します。

  8. [基本データ] ボックスで、[10 進数] を選択します

  9. [値のデータ] ボックスに「600」と入力し、[OK] を選択します。

  10. レジストリ エディターを終了します。

  11. エラー専用の CSV ファイルの再ダウンロードを試みます。

WAC の使用中に問題が引き続き発生する場合は、代わりに PowerShell を使用します。 Orchestrator コンピューターで次のいずれかのコマンドを実行し、独自のジョブ名とソース サーバーの FQDN 値を設定します:

Get-SmsState -Name job -TransferFileDetail -computername sourcefqdn | export-csv -path log.csv
Get-SmsState -Name job -TransferFileDetail -ErrorsOnly -computername sourcefqdn | export-csv -path errlog.csv

宛先プロキシと資格情報の管理特権に関する検証警告

転送ジョブを検証すると、次の警告が表示されます:

The credential has administrative privileges.
Warning: Action isn't available remotely.
The destination proxy is registered.
Warning: The destination proxy wasn't found.

Windows Server 2019 の移行先コンピューターに記憶域以降サービス プロキシ サービスをインストールしていない場合、この動作は仕様に基づいて行われます。 対象のコンピューターが Windows Server 2016 または Windows Server 2012 R2 の場合も、このメッセージが表示されます。 転送パフォーマンスの向上のため、プロキシがインストールされた Windows Server 2019 コンピュータへの移行をお勧めします。

特定のファイルでインベントリまたは転送が行えなかったり、エラー 5 "アクセスが拒否されました"

ソース コンピューターから移行先コンピューターにファイルをインベントリまたは転送する場合、ユーザーが 管理者グループのアクセス許可を削除したファイルは移行に失敗します。 移行と移行の記憶移行サービス-Proxyを確認すると、次のデバッグ情報が表示されます:

Log Name: Microsoft-Windows-StorageMigrationService-Proxy/Debug
Source: Microsoft-Windows-StorageMigrationService-Proxy
Date: 2/26/2019 9:00:04 AM
Event ID: 10000
Task Category: None
Level: Error
Keywords:
User: NETWORK SERVICE
Computer: srv1.contoso.com
Description:

02/26/2019-09:00:04.860 [Error] Transfer error for \\srv1.contoso.com\public\indy.png: (5) Access is denied.
Stack Trace:
at Microsoft.StorageMigration.Proxy.Service.Transfer.FileDirUtils.OpenFile(String fileName, DesiredAccess desiredAccess, ShareMode shareMode, CreationDisposition creationDisposition, FlagsAndAttributes flagsAndAttributes)
at Microsoft.StorageMigration.Proxy.Service.Transfer.FileDirUtils.GetTargetFile(String path)
at Microsoft.StorageMigration.Proxy.Service.Transfer.FileDirUtils.GetTargetFile(FileInfo file)
at Microsoft.StorageMigration.Proxy.Service.Transfer.FileTransfer.InitializeSourceFileInfo()
     at Microsoft.StorageMigration.Proxy.Service.Transfer.FileTransfer.Transfer()
at Microsoft.StorageMigration.Proxy.Service.Transfer.FileTransfer.TryTransfer()

この問題は、バックアップ特権が呼び出されていない記憶域移行サービス のコードの欠陥が原因で発生します。

この問題を解決するには、Windows Update April 2, 2019— KB4490481 (OS Build 17763.404) をオーケストレーター コンピューターにインストールし、プロキシ サービスがインストールされている場合は宛先コンピューターにインストールします。 移行元の移行ユーザー アカウントが、移行元コンピューターのローカル管理者であり、記憶移行サービス オーケストレーターの管理者かを確認します。 移行元の移行ユーザー アカウントが、移行元コンピューターのローカル管理者であり、記憶移行サービス オーケストレーターの管理者かを確認します。

記憶移行サービスを使用した時の DFSR ハッシュの不一致

記憶移行サービス を使用してファイルを新しい宛先に転送し、そのデータを既存のサーバーにレプリケートするために DFS レプリケーション を構成する場合は、事前に指定されたレプリケーションまたは DFS レプリケーション データベースの複製を使用すると、すべてのファイルでハッシュの不一致が発生し、再レプリケートされます。 データ ストリーム、セキュリティ ストリーム、サイズ、属性はすべて、記憶移行サービスを使用して転送した後完全に一致している可能性があります。 ICACLS または ICACLS を使用してファイルを調DFS レプリケーションログを複製すると、次の情報が表示されます:

ソース ファイル

  icacls d:\test\Source:

  icacls d:\test\thatcher.png /save out.txt /t thatcher.png
  D:AI(A;;FA;;;BA)(A;;0x1200a9;;;DD)(A;;0x1301bf;;;DU)(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1200a9;;;BU)

[送信先ファイル]

  icacls d:\test\thatcher.png /save out.txt /t thatcher.png
  D:AI(A;;FA;;;BA)(A;;0x1301bf;;;DU)(A;;0x1200a9;;;DD)(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1200a9;;;BU)**S:PAINO_ACCESS_CONTROL**

DFSR デバッグ ログ

   20190308 10:18:53.116 3948 DBCL  4045 [WARN] DBClone::IDTableImportUpdate Mismatch record was found.

   Local ACL hash:1BCDFE03-A18BCE01-D1AE9859-23A0A5F6
   LastWriteTime:20190308 18:09:44.876
   FileSizeLow:1131654
   FileSizeHigh:0
   Attributes:32

   Clone ACL hash:**DDC4FCE4-DDF329C4-977CED6D-F4D72A5B**
   LastWriteTime:20190308 18:09:44.876
   FileSizeLow:1131654
   FileSizeHigh:0
   Attributes:32

この問題は、 KB4512534 更新プログラムによって修正 されています。

Windowsサーバー 2008 R2 から転送するときのエラー "どのエンドポイントでもストレージを転送できませんでした"

Windows Server 2008 R2 ソース コンピューターから転送しようとすると、データ転送が行えなくなり、次のエラーが発生します:

Couldn't transfer storage on any of the endpoints.
0x9044

このエラーは、Windows Server 2008 R2 コンピューターに Windows Update のすべての重要な更新プログラムと重要な更新プログラムが完全に適用されていない場合に発生します。 Windows Server 2008 R2 コンピューターをセキュリティのために更新することが特に重要です。そのオペレーティング システムには、新しいバージョンの Windows Server のセキュリティ強化が含まれていません。

エラー "どのエンドポイントでもストレージを転送できません" と "ソース デバイスがオンラインの場合は確認します。アクセスできません。"

ソース コンピューターからデータを転送しようとすると、一部またはすべての共有が転送を行なわないので、次のエラーが発生します:

Couldn't transfer storage on any of the endpoints.
0x9044

SMB 転送の詳細を確認すると、エラーが表示されます:

Check if the source device is online - we couldn't access it.

StorageMigrationService/Admin イベント ログを調べることで、次の情報が表示されます:

Couldn't transfer storage.

Job: Job1
ID:
State: Failed
Error: 36931
Error Message:

Guidance: Check the detailed error and make sure the transfer requirements are met. The transfer job couldn't transfer any source and destination computers. This could be because the orchestrator computer couldn't reach any source or destination computers, possibly due to a firewall rule, or missing permissions.

記憶移行サービス-Proxy/Debug ログを調べることで、次の情報が表示されます:

07/02/2019-13:35:57.231 [Error] Transfer validation failed. ErrorCode: 40961, Source endpoint is not reachable, or doesn't exist, or source credentials are invalid, or authenticated user doesn't have sufficient permissions to access it.
at Microsoft.StorageMigration.Proxy.Service.Transfer.TransferOperation.Validate()
at Microsoft.StorageMigration.Proxy.Service.Transfer.TransferRequestHandler.ProcessRequest(FileTransferRequest fileTransferRequest, Guid operationId)

これは、移行アカウントに SMB 共有に対する読み取りアクセス許可が少なくともない場合に明らかになるコードの欠陥でした。 この問題は、累積的な更新プログラムで最初に 修正4520062しました。

もう 1 つの原因として、ソース ファイル サーバーへのアクセス権が足りていない可能性があります。 プロセス モニターで "Microsoft.StorageMigration.Proxy.Service.exe" プロセスを調べると、次の結果が表示されることがあります:

Date: 6/04/2022 15:36:09,1943419
Thread: 1688
Class: File System
Operation: CreateFile
Result: PRIVILEGE_NOT_HELD
Path: \\srv1.contoso.com\F$\\public
Duration: 0.0002573

Desired Access: Read Attributes, Read Control, Synchronize, Access System Security
Disposition: Open
Options: Synchronous IO Non-Alert, Open For Backup
Attributes: N
ShareMode: Read, Write
AllocationSize: n/a
Impersonating: CONTOSO\ServiceAccount
OpenResult: PRIVILEGE_NOT_HELD

操作が実際に実行されるとき、ソース ファイル サーバーに対する "Open For Backup" 特権が必要になります。 ソース ファイル サーバーへのアクセスに使用するユーザー アカウントに、このサーバーのローカル セキュリティ ポリシー Security Settings > Local Policies > User Rights Assignment > Back up files and directories を使用するか、グループ ポリシー オブジェクトを使用して、必要なアクセス許可が付与されていることを確認します。

インベントリを0x80005000するときにエラーが発生する

KB4512534 をインストールし、インベントリを実行しようとすると、インベントリがエラーで失敗します:

EXCEPTION FROM HRESULT: 0x80005000

Log Name:      Microsoft-Windows-StorageMigrationService/Admin
Source:        Microsoft-Windows-StorageMigrationService
Date:          9/9/2019 5:21:42 PM
Event ID:      2503
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      FS02.TailwindTraders.net
Description:
Couldn't inventory the computers.
Job: foo2
ID: 20ac3f75-4945-41d1-9a79-d11dbb57798b
State: Failed
Error: 36934
Error Message: Inventory failed for all devices
Guidance: Check the detailed error and make sure the inventory requirements are met. The job couldn't inventory any of the specified source computers. This could be because the orchestrator computer couldn't reach it over the network, possibly due to a firewall rule or missing permissions.

Log Name:      Microsoft-Windows-StorageMigrationService/Admin
Source:        Microsoft-Windows-StorageMigrationService
Date:          9/9/2019 5:21:42 PM
Event ID:      2509
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      FS02.TailwindTraders.net
Description:
Couldn't inventory a computer.
Job: foo2
Computer: FS01.TailwindTraders.net
State: Failed
Error: -2147463168
Error Message:
Guidance: Check the detailed error and make sure the inventory requirements are met. The inventory couldn't determine any aspects of the specified source computer. This could be because of missing permissions or privileges on the source or a blocked firewall port.

Log Name:      Microsoft-Windows-StorageMigrationService-Proxy/Debug
Source:        Microsoft-Windows-StorageMigrationService-Proxy
Date:          2/14/2020 1:18:21 PM
Event ID:      10000
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      2019-rtm-orc.ned.contoso.com
Description:
02/14/2020-13:18:21.097 [Erro] Failed device discovery stage SystemInfo with error: (0x80005000) Unknown error (0x80005000)

このエラーは、"meghan@contoso.com" などのユーザー プリンシパル名 (UPN) の形式で移行資格情報を指定すると、記憶移行サービスのコードの欠陥が原因で発生します。 記憶移行サービス オーケストレーター サービスは、この形式を正しく解析できないので、KB4512534 および 19H1 のクラスター移行サポート用に追加されたドメイン参照でエラーが発生します。

この問題を回避するには、"Contoso\Meghan" などの domain\user 形式で資格情報を指定します。

Windows Server フェールオーバー クラスターに移行するときにエラー "ServiceError0x9006" または "プロキシは現在使用できません"がでます

クラスター化されたファイル サーバーに対してデータを転送しようとすると、次のようなエラーが発生します:

Make sure the proxy service is installed and running, and then try again. The proxy isn't currently available.
0x9006
ServiceError0x9006,Microsoft.StorageMigration.Commands.UnregisterSmsProxyCommand

このエラーは、ファイル サーバー リソースが元の Windows Server 2019 クラスター所有者ノードから新しいノードに移動され、そのノードに 記憶移行サービス Proxy 機能がインストールされていない場合に発生します。

回避策として、転送先のファイル サーバー リソースを、最初に転送ペアリングを構成するときに使用された元の所有者クラスター ノードに戻します。

別の回避策:

  1. クラスター内ノードに記憶移行サービス プロキシ機能をインストールします。

  2. オーケストレーター コンピューターに 記憶 移行サービス PowerShell コマンドを実行します:

    Register-SMSProxy -ComputerName <destination server> -Force
    

クラスター ノードからインベントリを実行するときにエラー "Dll が見つかりませんでした"

記憶移行サービス でインベントリを実行しようとして、Windows Server フェールオーバー クラスターの汎用ファイル サーバー ソースをターゲットにしようとすると、次のエラーが発生します:

DLL not found
[Error] Failed device discovery stage VolumeInfo with error: (0x80131524) Unable to load DLL 'Microsoft.FailoverClusters.FrameworkSupport.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

この問題を回避するには、記憶移行サービス オーケストレーターを実行しているサーバーに "フェールオーバー クラスター管理ツール" (RSAT-Clustering-Mgmt) をインストールします。

Windows Server 2003 ソース コンピューターに対してインベントリを実行すると、"エンドポイント マッパーから使用可能なエンドポイントがこれ以上ない" というエラーが発生する

Windows Server 2003 ソース コンピューターに対して 記憶移行サービス オーケストレーターを使用してインベントリを実行しようとすると、次のエラーが表示されます:

There are no more endpoints available from the endpoint mapper

この問題は、 KB4537818 更新プログラムによって解決 されます。

累積的な更新プログラムをアンインストールすると、記憶移行サービスが開始されるのを防ぎます

サーバーのWindows更新プログラムをアンインストールすると、移行サービス記憶移行サービスを開始できなくなる場合があります。 この問題を解決するには、記憶移行サービス データベースをバックアップしてから削除します:

  1. 管理者特権での cmd プロンプトを開き、記憶 移行サービス オーケストレーター サーバーの 管理者 のメンバーであり、次を実行します:

    TAKEOWN /d y /a /r /f c:\ProgramData\Microsoft\StorageMigrationService
    
    MD c:\ProgramData\Microsoft\StorageMigrationService\backup
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService\* /grant Administrators:(GA)
    
    XCOPY c:\ProgramData\Microsoft\StorageMigrationService\* .\backup\*
    
    DEL c:\ProgramData\Microsoft\StorageMigrationService\* /q
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService  /GRANT networkservice:F /T /C
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService /GRANT networkservice:(GA) /T /C
    
  2. 記憶移行 サービスを開始します。新しいデータベースが作成されます。

"CLUSCTL_RESOURCE_NETNAME_REPAIR_VCO が netName リソースに対して失敗しました" というエラーが表示され、Windows Server 2008 R2 クラスターの切り替えが失敗する

Windows Server 2008 R2 クラスター ソースのカット オーバーを実行しようとすると、"ソース コンピューターの名前を変更する" フェーズで切り取りがスタックします。次のエラーが表示されます:

Log Name:      Microsoft-Windows-StorageMigrationService-Proxy/Debug
Source:        Microsoft-Windows-StorageMigrationService-Proxy
Date:          10/17/2019 6:44:48 PM
Event ID:      10000
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      WIN-RNS0D0PMPJH.contoso.com
Description:
10/17/2019-18:44:48.727 [Erro] Exception error: 0x1. Message: Control code CLUSCTL_RESOURCE_NETNAME_REPAIR_VCO failed against netName resource 2008r2FS., stackTrace:    at Microsoft.FailoverClusters.Framework.ClusterUtils.NetnameRepairVCO(SafeClusterResourceHandle netNameResourceHandle, String netName)
at Microsoft.FailoverClusters.Framework.ClusterUtils.RenameFSNetName(SafeClusterHandle ClusterHandle, String clusterName, String FsResourceId, String NetNameResourceId, String newDnsName, CancellationToken ct)
at Microsoft.StorageMigration.Proxy.Cutover.CutoverUtils.RenameFSNetName(NetworkCredential networkCredential, Boolean isLocal, String clusterName, String fsResourceId, String nnResourceId, String newDnsName, CancellationToken ct)    [d:\os\src\base\dms\proxy\cutover\cutoverproxy\CutoverUtils.cs::RenameFSNetName::1510]

この問題は、以前のバージョンの Windows Server で API が不足している場合に発生します。 現在、Windows Server 2008 およびWindows Server 2003 clustersの移行方法はありません。 Windows Server 2008 R2 クラスターで問題なくインベントリと転送を実行し、クラスターのソース ファイル サーバー リソースの netname と IP アドレスを手動で変更し、コピー先クラスターの netname と IP アドレスを元のソースに合わせて変更することで、手動でカットオーバーを実行できます。

静的 IP を使用すると、"ソース コンピューターのネットワーク インターフェイスのマッピング 38%" で切り替えがハングする

ソース コンピューターのカットオーバーを実行しようとして、1 つ以上のネットワーク インターフェイスで新しい静的 (DHCP ではない) IP アドレスを使用するソース コンピューターを設定すると、切り取りはフェーズ "38% Mapping network interfaces on the source computer...移行サービスのイベント ログに次のStorageが表示されます:

Log Name:      Microsoft-Windows-StorageMigrationService-Proxy/Admin
Source:        Microsoft-Windows-StorageMigrationService-Proxy
Date:          11/13/2019 3:47:06 PM
Event ID:      20494
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      orc2019-rtm.corp.contoso.com
Description:
Couldn't set the IP address on the network adapter.

Computer: fs12.corp.contoso.com
Adapter: microsoft hyper-v network adapter
IP address: 10.0.0.99
Network mask: 16
Error: 40970
Error Message: Unknown error (0xa00a)

Guidance: Confirm that the Netlogon service on the computer is reachable through RPC and that the credentials provided are correct.

ソース コンピューターを調べて、元の IP アドレスの変更に失敗したと表示されます。

この問題は、新しい静的 IP アドレスを指定した場合にのみ、Windows 管理センターの [カットオーバーの構成] 画面で [DHCP を使用する] を選択した場合には発生されません。

この問題には、次の 2 つの解決策があります:

  1. この問題は、 KB4537818 更新プログラムによって解決 されています。 その以前のコード障害により、静的 IP アドレスの使用はすべて停止していました。

  2. ソース コンピューターのネットワーク インターフェイスで既定のゲートウェイ IP アドレスを指定していない場合、この問題は KB4537818 更新プログラムでも発生します。 この問題を回避するには、ネットワーク接続アプレット (NCPA.CPL) または Set-NetRoute Powershell コマンドレットを使用して、ネットワーク インターフェイスで有効な既定の IP アドレスを設定します。

予想よりも遅い再転送のパフォーマンス

転送を完了した後、同じデータの後続の再転送を実行すると、転送元サーバーでほとんどデータが変更されていない場合でも、転送時間が大幅に改善されない可能性があります。

この問題は KB4580390 によって解決されています。 パフォーマンスをさらに調整するには、「インベントリの最適化 」と「パフォーマンスの転送」を参照してください

予想されるインベントリパフォーマンスよりも遅い

ソース サーバーのインベントリを作成する際に、ファイル または入れ子になったフォルダーが多数ある場合、ファイル インベントリに長い時間がかかっています。 何百万ものファイルとフォルダーが、高速ストレージ構成でもインベントリに数時間かかります。

この問題は KB4580390 によって解決されています。

データが転送されない、ドメイン コントローラーに移行するときにユーザーの名前が変更される

ドメイン コントローラーからまたはドメイン コントローラーへの転送を開始した後:

  1. データは移行されません。また、移行先に共有は作成されません。

  2. Windows管理センターにエラー メッセージがメッセージではなく表示赤いエラー 記号が表示される

  3. 1 つ以上の AD ユーザーとドメイン ローカル グループの名前や pre-Windows2000 ログオンWindows属性が変更されている

  4. 記憶移行サービスオーケストレーターにイベント 3509 が表示されます:

    Log Name:      Microsoft-Windows-StorageMigrationService/Admin
    Source:        Microsoft-Windows-StorageMigrationService
    Date:          1/10/2020 2:53:48 PM
    Event ID:      3509
    Task Category: None
    Level:         Error
    Keywords:
    User:          NETWORK SERVICE
    Computer:      orc2019-rtm.corp.contoso.com
    Description:
    Couldn't transfer storage for a computer.
    
    Job: dctest3
    Computer: dc02-2019.corp.contoso.com
    Destination Computer: dc03-2019.corp.contoso.com
    State: Failed
    Error: 53251
    Error Message: Local accounts migration failed with error System.Exception: -2147467259
        at Microsoft.StorageMigration.Service.DeviceHelper.MigrateSecurity(IDeviceRecord sourceDeviceRecord, IDeviceRecord destinationDeviceRecord, TransferConfiguration config, Guid proxyId, CancellationToken cancelToken)
    

    これは、記憶移行サービス を使用してドメイン コントローラーとの間で移行を試み、アカウントの名前を変更または再利用するために "ユーザーとグループの移行" オプションを使用した場合に予想される動作です。 代わりに[ユーザーとグループを転送しない] を選択します DC 移行は、記憶移行サービス ではサポートされていません。 DC には真のローカル ユーザーとグループが存在しないので、記憶移行サービス は、2 つのメンバー サーバー間で移行する場合と同様に、これらのセキュリティ プリンシパルを処理し、指示に従って ACL の調整を試み、エラーや、アカウントの管理やコピーを行います。

既に 1 回かそれ以上の転送を実行している場合は、次のコマンドを実行します:

  1. DC に対して次の AD PowerShell コマンドを使用して、変更されたユーザーまたはグループを検索します (ドメイン識別名と一致する SearchBase を変更します):

    Get-ADObject -Filter 'Description -like "*storage migration service renamed*"' -SearchBase 'DC=<domain>,DC=<TLD>' | ft name,distinguishedname
    
  2. 元の名前で返されたユーザーについては、"ユーザー ログオン名 (Windows 2000 より前)" を編集して、記憶移行サービス によって追加されたランダムな文字サフィックスを削除して、このユーザーがログオンできるようします。

  3. 元の名前で返されたグループについては、"グループ名 (Windows 2000 より前) " を編集して、記憶 移行サービス によって追加されたランダムな文字サフィックスを削除します。

  4. 記憶移行サービス によって追加されたサフィックスを含む名前を持つ無効なユーザーまたはグループについては、これらのアカウントを削除できます。 後でユーザー アカウントが追加されたのは、Domain Users グループのみを含み、記憶域移行サービス の転送開始時刻と一致する作成された日付/時刻を持つためです。

    転送目的でドメイン コントローラーで記憶移行サービス を使用する場合は、Windows 管理センター の転送設定ページで常に [ユーザーとグループを転送しない] を選択してください。

エラー 53、インベントリの実行中に "指定されたデバイスのインベントリに失敗しました"

インベントリを実行しようとすると、次のメッセージが表示されます:

Failed to inventory all specified devices

Log Name:      Microsoft-Windows-StorageMigrationService/Admin
Source:        Microsoft-Windows-StorageMigrationService
Date:          1/16/2020 8:31:17 AM
Event ID:      2516
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      ned.corp.contoso.com
Description:
Couldn't inventory files on the specified endpoint.
Job: ned1
Computer: ned.corp.contoso.com
Endpoint: hithere
State: Failed
File Count: 0
File Size in KB: 0
Error: 53
Error Message: Endpoint scan failed
Guidance: Check the detailed error and make sure the inventory requirements are met. This could be because of missing permissions on the source computer.

Log Name:      Microsoft-Windows-StorageMigrationService-Proxy/Debug
Source:        Microsoft-Windows-StorageMigrationService-Proxy
Date:          1/16/2020 8:31:17 AM
Event ID:      10004
Task Category: None
Level:         Critical
Keywords:
User:          NETWORK SERVICE
Computer:      ned.corp.contoso.com
Description:
01/16/2020-08:31:17.031 [Crit] Consumer Task failed with error:The network path was not found.
. StackTrace=   at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)
    at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String machineName, RegistryView view)
    at Microsoft.StorageMigration.Proxy.Service.Transfer.FileDirUtils.GetEnvironmentPathFolders(String ServerName, Boolean IsServerLocal)
    at Microsoft.StorageMigration.Proxy.Service.Discovery.ScanUtils.<ScanSMBEndpoint>d__3.MoveNext()
    at Microsoft.StorageMigration.Proxy.EndpointScanOperation.Run()
    at Microsoft.StorageMigration.Proxy.Service.Discovery.EndpointScanRequestHandler.ProcessRequest(EndpointScanRequest scanRequest, Guid operationId)
    at Microsoft.StorageMigration.Proxy.Service.Discovery.EndpointScanRequestHandler.ProcessRequest(Object request)
    at Microsoft.StorageMigration.Proxy.Common.ProducerConsumerManager`3.Consume(CancellationToken token)

01/16/2020-08:31:10.015 [Erro] Endpoint Scan failed. Error: (53) The network path was not found.
Stack trace:
    at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str)
    at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String machineName, RegistryView view)

この段階で、記憶移行サービスオーケストレーターは、ソース マシンの構成を決定するためにリモート レジストリの読み取りを試みますが、レジストリ パスが存在しないというメッセージがソース サーバーによって拒否されています。 考えられる原因を以下に示します。

  • リモート レジストリ サービスがソース コンピューターで実行されていない。
  • ファイアウォールでは、Orchestrator からソース サーバーへのリモート レジストリ接続は許可されません。
  • ソース移行アカウントには、ソース コンピューターに接続するためのリモート レジストリのアクセス許可が付与されません。
  • ソース移行アカウントには、ソース コンピューターのレジストリ内、"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" の下、または "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer" の下に読み取りアクセス許可が付与されません

"ソース コンピューターのネットワーク インターフェイスのマッピング 38%" で切り替えがハングする...

ソース コンピューターの切り取りを実行しようとすると、切り取りはフェーズ "38% のソース コンピューター上のネットワーク インターフェイスのマッピング..." でスタックします。移行サービスのイベント ログに次のStorageが表示されます:

Log Name:      Microsoft-Windows-StorageMigrationService-Proxy/Admin
Source:        Microsoft-Windows-StorageMigrationService-Proxy
Date:          1/11/2020 8:51:14 AM
Event ID:      20505
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      nedwardo.contosocom
Description:
Couldn't establish a CIM session with the computer.

Computer: 172.16.10.37
User Name: nedwardo\MsftSmsStorMigratSvc
Error: 40970
Error Message: Unknown error (0xa00a)

Guidance: Confirm that the Netlogon service on the computer is reachable through RPC and that the credentials provided are correct.

この問題は、ソース グループ ポリシーに次のレジストリ値を設定するエラーが原因で発生します: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy = 0"

この設定は、Standard グループ ポリシー の一部で、Microsoft セキュリティ コンプライアンス ポリシーを使用して構成されたアドオンToolkitです

  • Windows Server 2012 R2: "Configuration\Administrative Templates\SCM: Pass the Hash Mitigations\Apply UAC restrictions to local accounts on network logons"

  • サーバー 2016 の機能: "Computer Configuration\Administrative Templates\MS Security Guide\Apply UAC ネットワーク ログオン時のローカル アカウントに UAC 制限を適用する"

カスタム レジストリ設定を使用してグループ ポリシー設定を使用して設定できます。 GPRESULT ツールを使用して、ソース コンピューターにこの設定を適用しているポリシーを特定できます。

記憶移行サービスは、カット オーバー プロセスの一部として LocalAccountTokenFilterPolicy を一時的に有効にし、完了したら削除します。 競合グループ ポリシーオブジェクト (GPO) グループ ポリシー適用すると、記憶移行サービス がオーバーライドされ、切り取りが防止されます。

この問題を回避するには、次のいずれかのオプションを使用します。

  1. この競合する GPO を適用する Active Directory OU からソース コンピューターを一時的に移動します。
  2. この競合するポリシーを適用する GPO を一時的に無効にします。
  3. この設定を [無効] に設定し、他の GPO よりも優先順位の高いソース サーバーの特定の OU に適用する新しい GPO を一時的に作成します。

別のドメインの資格情報を使用するとインベントリまたは転送が失敗する

記憶 移行サービス でインベントリの実行または転送を試み、ターゲット サーバーとは異なるドメインからの移行資格情報を使用している間に Windows Server をターゲットにした場合、次のエラーが発生します

Exception from HRESULT:0x80131505

The server was unable to process the request due to an internal error

04/28/2020-11:31:01.169 [Error] Failed device discovery stage SystemInfo with error: (0x490) Could not find computer object 'myserver' in Active Directory    [d:\os\src\base\dms\proxy\discovery\discoveryproxy\DeviceDiscoveryOperation.cs::TryStage::1042]

ログをさらに調べることで、移行アカウントと 2 つ以上から移行されるサーバーが異なるドメインに存在する可能性があります:

06/25/2020-10:11:16.543 [Info] Creating new job=NedJob user=**CONTOSO**\ned
[d:\os\src\base\dms\service\StorageMigrationService.IInventory.cs::CreateJob::133]
GetOsVersion(fileserver75.**corp**.contoso.com)    [d:\os\src\base\dms\proxy\common\proxycommon\CimSessionHelper.cs::GetOsVersion::66] 06/25/2020-10:20:45.368 [Info] Computer 'fileserver75.corp.contoso.com': OS version

この問題は、記憶 移行サービスのコードの欠陥が原因で発生します。 この問題を回避するには、移行元と移行先のコンピューターが属しているのと同じドメインから移行資格情報を使用します。 たとえば、ソースコンピューターと移行先コンピューターが "contoso.com" フォレストの "corp.contoso.com" ドメインに属している場合は、"corp\myaccount" を使用して、"contoso\myaccount" 資格情報ではなく、移行を実行します。

インベントリが "要素が見つかりません" で失敗します

次のシナリオについて検討してください。

"iamaverylongcomputername" など、DNS ホスト名と Active Directory 名が 15 文字を超える Unicode 文字を持つソース サーバーがあります。 設計上、Windows では、従来の NetBIOS 名をこの長く設定し、NetBIOS 名が 15 文字の Unicode ワイド文字 (例: "iamaverylongcom") に切り捨てられるという名前がサーバーに付けられたときに警告を受け取るという警告を設定することはできませんでした。 このコンピューターのインベントリを作成しようとすると、管理センター Windowsイベント ログが表示されます:

"Element not found"
========================

Log Name:      Microsoft-Windows-StorageMigrationService/Admin
Source:        Microsoft-Windows-StorageMigrationService
Date:          4/10/2020 10:49:19 AM
Event ID:      2509
Task Category: None
Level:         Error
Keywords:
User:          NETWORK SERVICE
Computer:      WIN-6PJAG3DHPLF.corp.contoso.com
Description:
Couldn't inventory a computer.

Job: longnametest
Computer: iamaverylongcomputername.corp.contoso.com
State: Failed
Error: 1168
Error Message:

Guidance: Check the detailed error and make sure the inventory requirements are met. The inventory couldn't determine any aspects of the specified source computer. This could be because of missing permissions or privileges on the source or a blocked firewall port.

この問題は、記憶 移行サービスのコードの欠陥が原因で発生します。 現在、唯一の回避策は、コンピューターの名前を NetBIOS 名と同じ名前に変更し、 NETDOM COMPUTERNAME /ADD を使用して、インベントリを開始する前に使用された長い名前を含む代替コンピューター名を追加します。 記憶 移行サービス では、代替コンピューター名の移行がサポートされています。

記憶域移行サービス インベントリが "パラメーター名 `IncludeDFSN` に一致するパラメーターが見つかりません" で失敗する

2009 バージョンの Windows 管理センター を使用して Windows Server 2019 オーケストレーターを管理すると、ソース コンピューターのインベントリを作成しようとすると、次のエラーが発生します:

Remote exception : a parameter cannot be found that matches parameter name 'IncludeDFSN'" 

解決するには、記憶移行サービス 拡張機能をWindows管理センターのバージョン 1.113.0 以上に更新します。 更新プログラムがフィードに自動的に表示され、インストールを求めるメッセージが表示されます。

記憶移行サービスの転送検証では、"エラー HRESULT E_FAIL コンポーネントの呼び出しから返されたエラー"COM component が返されます

Windows Server 2019 11 月の累積的な更新プログラム KB4586793 をインストールした後、一部の転送検証が失敗する可能性があります:

Error HRESULT E_FAIL has been returned from a call to a COM component

すべてのソース コンピューターで発生するとは限りません。 この問題の診断に取り組み中です。 回避策として、1.115 以降のWindows管理センターの 記憶 移行サービス ツールをインストールします。 この更新プログラムは、Windows管理センターに自動的に表示され、インストールを求めるメッセージが表示され、このエラーを無視できます。 この問題を回避するには:

  1. 転送フェーズの [設定の調整] ステップに移動します。
  2. [転送の検証のオーバーライド] を有効にする。
  3. "検証" を実行したり、実行したりせずに転送を続行し、エラーをE_FAILを無視します。

重要

KB4586793 はアンインストールしないでください。 この更新プログラムは、記憶移行サービス データベースをアップグレードします。更新プログラムを削除するには、データベースを削除する必要があります。

"ファイル ハンドルの取得に失敗しました" と特定のボリュームから 1 つまたは 1 つの共有転送がない場合、転送が失敗しています

ソース コンピューターからデータを転送しようとすると、特定のボリューム転送用のファイルが他のボリュームに転送される場合でも、ファイルが存在しない場合があります。 Windows管理センターとイベント ログで次のエラーが表示されます:

"Couldn't transfer storage on any of the endpoints"

========================

SMS Admin log:
06/11/2021 08:44:17  3515 Error Couldn't transfer all of the files in the endpoint on the computer.

Job: test1
Computer: nedsrv1.corp.contoso.com
Destination Computer: nedsrv2.corp.contoso.com
Endpoint: foo
State: Failed
Source File Count: 0
Source File Size in KB: 0
Succeeded File Count: 0
Succeeded File Size in KB: 0
New File Count: 0
New File Size in KB: 0
Failed File Count: 0
Error: -2146233088
Error Message: 

Guidance: Check the detailed error and make sure the transfer requirements are met. This could be because the orchestrator computer couldn't reach a source or destination computer, possibly due to a firewall rule, or missing permissions.

========================

Get-SMSLogs コマンドを使用して SMS デバッグ ログをダンプすると、次の情報も表示されます。

SMS Debug log:

06/11/2021-08:44:17.236 [Erro] End file transfer failed with -2146233088 exception:ErrorCode: -2146233088, Transfer failed
    at Microsoft.StorageMigration.Service.EndpointHelper.TransferFiles(String source, String destination, String sourceOSVersion, IEndpointRecord endpointRecord, TransferConfiguration config, String sourcePath, String destinationPath, ProxyInformation transferProxyInformation, Int64& skippedSystemObjectCount, CancellationToken cancelToken, SourceType sourceType, Protocol protocol, String sourceClusterSharedVolumesRoot, String targetClusterSharedVolumesRoot, ServerType sourceServerType, ServerType targetServerType, Boolean isTieredAFSEnabled, Int32 volumeMinimumFreeSpace, String targetVolume, String[] mountedVolumes)    [d:\os\src\base\dms\service\OperationManager\EndpointHelper.cs::TransferFiles::510]

SMS Proxy Debug log:

14090 06/11/2021-08:44:17.123 [Crit] Failed to create root of the share \\nedsrv1.corp.contoso.com\D$ with error -2147467259 and message Failed to get file handle    [d:\os\src\base\dms\proxy\transfer\transferproxy\stages\DirectoryEnumerationStage.cs::ProcessItem::112]
14091 06/11/2021-08:44:17.124 [Erro] Stage DirectoryEnumerationStage cancelled. Received error: Failed to get file handle    [d:\os\src\base\dms\proxy\transfer\transferproxy\stages\StageBase.cs::DoStage::50]
14124 06/11/2021-08:44:17.141 [Erro] Failed pipeline execution. System.AggregateException: One or more errors occurred. ---> System.ComponentModel.Win32Exception: Failed to get file handle 
14125    at Microsoft.StorageMigration.Proxy.Service.Transfer.DirectoryEnumerationStage.ProcessItem(DirEnumResultWithParent input)
14126    at Microsoft.StorageMigration.Proxy.Service.Transfer.StageBase`3.DoStage(CancellationTokenSource cts)
14127    at System.Threading.Tasks.Task.Execute()
14128    --- End of inner exception stack trace ---
14129    at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
14130    at Microsoft.StorageMigration.Proxy.Service.Transfer.Pipeline.Run(CancellationToken token)
14131    at Microsoft.StorageMigration.Proxy.Service.Transfer.TransferOperation.Run()
14132    at Microsoft.StorageMigration.Proxy.Service.Transfer.TransferRequestHandler.ProcessRequest(FileTransferRequest fileTransferRequest, Guid operationId)
14133 ---> (Inner Exception #0) System.ComponentModel.Win32Exception (0x80004005): Failed to get file handle
14134    at Microsoft.StorageMigration.Proxy.Service.Transfer.DirectoryEnumerationStage.ProcessItem(DirEnumResultWithParent input)
14135    at Microsoft.StorageMigration.Proxy.Service.Transfer.StageBase`3.DoStage(CancellationTokenSource cts)
14136    at System.Threading.Tasks.Task.Execute()<---
14137     [d:\os\src\base\dms\proxy\transfer\transferproxy\TransferRequestHandler.cs::ProcessRequest::132]

この問題は、NTFS ボリューム全体が圧縮フラグで構成されている場合記憶移行サービス プロキシ サービスの制限が原因で発生します。 この問題を回避するには、コピー先ボリュームから圧縮フラグを削除します。

  1. ファイルエクスプローラーを開き、目的のドライブ文字を右クリックし、[プロパティ] を選択します。
  2. [このドライブを圧縮してディスク領域を節約する] をオフにする
  3. 転送を再実行します。

または、ソースコンピューターでボリュームが圧縮されている場合に、展開されたファイルを保持するための空き領域がある場合は、同じ手順を実行します。 NTFS 圧縮ファイルは、コピーまたは移動中は常に圧縮解除され、圧縮すると転送時間が短縮されます。

エラーが発生したため、記憶 移行サービスデータベースをリセットする必要があります

まれな状況では、記憶 移行サービス データベースのリセットが必要になる場合があります。 これを行うには、次の手順を実行します。

  1. 管理者特権での cmd プロンプトを開き、記憶 移行サービス オーケストレーター サーバーの 管理者 のメンバーであり、次を実行します:

    NET STOP SMS
    NET STOP SMSPROXY
    
    TAKEOWN /d y /a /r /f c:\ProgramData\Microsoft\StorageMigrationService
    
    MD c:\ProgramData\Microsoft\StorageMigrationService\backup
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService\* /grant Administrators:(GA)
    
    XCOPY c:\ProgramData\Microsoft\StorageMigrationService\* .\backup\*
    
    DEL c:\ProgramData\Microsoft\StorageMigrationService\* /q
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService  /GRANT networkservice:F /T /C
    
    ICACLS c:\ProgramData\Microsoft\StorageMigrationService /GRANT networkservice:(GA) /T /C
    
  2. 上記のコマンドでエラーが発生していないことを確認します。 記憶移行 サービスを開始します。新しいデータベースが作成されます。

    NET START SMS
    NET START SMSPROXY
    
    

転送がエラーで停止する: Unicode 文字を変換できません

実行中の転送が停止します。 以下のイベント ログ エラーが発生します。

Log Name:      Microsoft-Windows-StorageMigrationService/Admin
Source:        Microsoft-Windows-StorageMigrationService
Date:          
Event ID:      3515
Task Category: None
Level:         Error
Keywords:      
User:          NETWORK SERVICE
Computer:      
Description:
Couldn't transfer all of the files in the endpoint on the computer.
Job: 
Computer: 
Destination Computer:
Endpoint:
State: Failed
Source File Count: 833617
Source File Size in KB: 45919696
Succeeded File Count: 833438
Succeeded File Size in KB: 45919696
New File Count: 0
New File Size in KB: 0
Failed File Count: 179
Error: -2146233087
Error Message: The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:59.9970000'.

ストレージ移行サービスのデバッグ ログを確認すると、次の情報が表示されます。

03. 07. 2023-23:28:08.647 [Erro] ExceptionMessage : (Unable to translate Unicode character \uDB71 at index 1 to specified code page.), ExceptionToString: (System.Text.EncoderFallbackException: Unable to translate Unicode character \uDB71 at index 1 to specified code page.

この問題は、記憶域移行サービスで変換できない未処理の Unicode 文字が原因で発生します。 無効な文字が含まれるファイル名を見つけるには、以下のサンプル PowerShell スクリプトを編集してソース コンピューターで実行してから、結果を確認し、ファイル名を変更するかファイルを削除します。

# Sample PowerShell script to find files with unhandled unicode characters

$FolderPath = "C:\temp"
$OutputFilePath = "C:\temp\invalid_char_results.txt"
$UnhandledChar = "\uDB71"

Get-ChildItem -path $FolderPath -Recurse | ForEach-Object {
 if ($_ -is [System.IO.FileInfo]) {
  if ($_.Name -match $UnhandledChar) {
   Add-Content $outputFilePath "$($_.FullName)"
  }
 }
}

カットオーバーが 77% または 30% で失敗する

カットオーバーを実行すると、操作が "77% - adding the destination computer to the domain (移行先のコンピューターをドメインに追加しています)" または "30% - Can't unjoin domain (ドメインの参加を解除できません)" でハングします。この問題は、次のときにのみ発生します。

  • AD の組み込み管理者グループのメンバーではないユーザーが、Active Directory に移行元または移行先のコンピューター アカウントを作成しました。

    または

  • 移行ユーザー アカウントは、移行元のコンピューター アカウントを作成したのと同じユーザーではありません。

2022 年 10 月 11 日以降にリリースされた Windows 更新プログラムには 、CVE-2022-38042 に対処するための追加の保護が含まれており、これらの追加の保護によって問題が発生しました。 保護は、2023 年 3 月 14 日の累積的な更新プログラムでさらに更新され、この問題に対する回避策オプションが追加されました。 この保護は、次の場合を除き、ドメイン参加操作で移行先のドメイン内の既存のコンピューター アカウントが再利用されるのを意図的に防止します。

  • 操作を試みるユーザーが、既存のアカウントの作成者である場合。

  • 操作を試みるユーザーが、コンピューター アカウントを作成した Active Directory の組み込みグループ Domain Administrators、Enterprise Administrators、または Administrators のメンバーである場合。

  • 操作を試みるユーザーが、コンピューター アカウントのグループ ポリシー設定 "Domain controller: Allow computer account reuse during domain join. (ドメイン コントローラー: ドメイン参加中にコンピューター アカウントの再利用を許可する。)" のメンバーである場合。

この問題を解決するには、次の解決策のいずれかを使用します。

解決策 1 - "Allow computer account re-use during domain join (ドメイン参加中にコンピューター アカウントの再利用を許可する)" を使用する

  1. すべてのドメイン コントローラー、移行元コンピューター、移行先コンピューター、SMS 移行コンピューターに 2023 年 3 月 14 日の累積的な更新プログラムがインストールされ、再起動されていることを確認します。
  2. KB5020276 のアクションの実行に関するセクションで詳しく説明されている手順に従います。
  3. Windows Admin Center で、[サーバー マネージャー]>[記憶域移行サービス] に移動し、既存のジョブを作成または続行します。
  4. [Cut over to the new servers] (新しいサーバーへの切り替え)>[設定の調整] ページで、"AD 資格情報" に使用されるアカウントが、手順 2 でコンピューター アカウントの再利用が許可されたアカウントと同じであることを確認します。

解決策 2 - 移行に元のアカウントを使用する

  1. Windows Admin Center で、[サーバー マネージャー]>[記憶域移行サービス] に移動し、既存のジョブを作成または続行します。
  2. [Cut over to the new servers] (新しいサーバーへの切り替え)>[設定の調整] ページで、"AD 資格情報" に使用されるアカウントが、ドメインに対して移行元と移行先のコンピューターを作成したか、参加させたアカウントと同じであることを確認します。
  1. Windows Admin Center で、[サーバー マネージャー]>[記憶域移行サービス] に移動し、既存のジョブを作成または続行します。
  2. [Cut over to the new servers] (新しいサーバーへの切り替え)>[設定の調整] ページで、"AD 資格情報" に使用されるアカウントが、高い特権を持つ Active Directory 組み込みグループ Domain Administrators、Enterprise Administrators、または Administrators のいずれかのメンバーであることを確認します。

重要

解決策 1 に従い、"33% - can't unjoin domain (ドメインの参加を解除できません)" とエラー 0x6D1 "プロシージャは範囲外です" で参加の解除操作が失敗した場合は、2023 年 3 月 14 日の累積的な更新プログラムが移行元コンピューターにインストールされていないか、インストールされたがコンピューターが再起動されていませんでした。

Windows Server 2008 R2 でカットオーバーが失敗する

Windows Server 2008 R2 以前を実行しているソース コンピューターからのカットオーバーを実行すると、"コンピューターの名前をドメインから変更できませんでした" というエラーが表示されます。記憶域移行サービスのヘルパー Get-SmsLog コマンドを使用すると、エラー 0x6D1 と "オブジェクト参照がオブジェクトのインスタンスに設定されていません" と表示されます。 次の例は、PowerShell Get-SmsLog コマンドからのログ ファイル出力です。

Line 360: 04/02/2023-14:06:02.877 [Info] UnjoinDomain(isLocal=False, server='2008R2.corp.contoso.com')    [d:\os\src\base\dms\proxy\cutover\cutoverproxy\CutoverUtils.cs::UnjoinDomain::2151]
Line 361: 04/02/2023-14:06:02.948 [Erro] Attempt #1 failed to unjoin machine '2008R2.corp.contoso' from the domain with credential 'corp\ned'. Error 0x6D1.    [d:\os\src\base\dms\proxy\cutover\cutoverproxy\CutoverUtils.cs::UnjoinDomain::2184]
Line 362: 04/02/2023-14:06:02.954 [Erro] Fatal exception during cutover stage processing. Source: 2008R2.corp.contoso.com, CutoverStage: UnjoinSource, ErrorCode: 0x80004003, Message: Object reference not set to an instance of an object.    [d:\os\src\base\dms\proxy\cutover\cutoverproxy\CutoverOperation.cs::Run::1116]

CVE-2022-38042 に対処するために KB5020276 で導入された変更により、このエラーが発生します。

この問題を解決するには、次の解決策のいずれかを使用します。

解決策 1 (有効な ESU の Windows Server 2008 R2 を使用)

有効な延長サポート更新がある Windows Server 2008 R2 を実行しているソース コンピューターの場合は、最初に最新の累積的な更新プログラムをインストールします。 累積的な更新プログラムが正常にインストールされたら、「カットオーバーが 77% または 30% で失敗する」に記載されている手順に従って問題を解決します。

解決策 2 (有効な ESU がない Windows Server 2008 R2、Windows Server 2008、または Windows Server 2003 を使用)

ソース コンピューターで ESU がない Windows Server 2008 R2、Windows Server 2008、または Windows Server 2003 を実行している場合は、「記憶域移行サービスでのカットオーバーのしくみ」で説明されている手順を使用して手動カットオーバーを実行する必要がありますが、次の変更が必要です。

  1. 手順 3 と 4 をスキップする
  2. 手順 5 では、コンピューターにサインインし、SYSDM.CPLNETDOM.exe、または Remove-Compuer PowerShell コマンドを使用してドメインから手動で削除する必要があります。 KB5020276 の後は、ドメインからコンピューターをリモートで削除することはできません。

転送検証の警告 "宛先プロキシが見つかりませんでした"

転送を開始する前に、転送先サーバーに SMS プロキシ サービスがまだインストールされていない場合は、Windows Admin Center によって自動的にインストールされます。 ただし、特定の状況では、登録が失敗し、"宛先プロキシが見つかりませんでした" という検証エラーが表示されます。

この問題を解決するには、SMS プロキシ サービス機能が宛先サーバーにインストールされていることを確認し、Orchestrator サーバーで次の PowerShell コマンドを実行します。

Register-SMSProxy -ComputerName <destination server FQDN> -Force

検証に合格しました。

Windows Server 2008 R2 フェールオーバー クラスター ソースにディスクがない

Windows Server 2008 R2 フェールオーバー クラスター ソースのインベントリを作成した後、クラスター化されたディスクの中には表示されないものもあります。 この原因は Windows Server 2008 R2 の既定のファイル サーバー ロールで、依存関係として必ず 1 つのディスクを選択するものの、ファイル サーバー ロールに割り当てられている残りのディスクを選択しないためです。

この問題を解決するには、ファイル ロールに割り当てられているすべてのディスクが、ファイル サーバー ロールの依存関係として追加されていることを確認します。

  1. フェールオーバー クラスター マネージャー (cluadmin.msc) を開きます。
  2. クラスター化されたディスクを右クリックし、[プロパティ] をクリックします。
  3. [依存関係] タブで、ディスクの AND 行をファイル サーバー ロールに追加します。
  4. 他のすべてのクラスター化されたディスクに対して繰り返します。
  5. スナップインを閉じ、ソースをもう一度インベントリします。 すべてのディスクが表示され、転送できるようになります。

Windows Server 2022 のカットオーバーに失敗し、コンピューター名の変更時にエラー 5 が発生する

カットオーバー プロセスを開始すると、Windows Server 2022 ソース コンピューターの名前変更が 41% で停止して完了しません。 Windows Server 2022 の移行先コンピューターに移行する場合、名前変更が 75% で停止して完了しません。 SMS デバッグ ログを調べると、error 5: access denied と表示されています。

この問題は、2024 年 3 月 12 日 - KB5035857 Windows Server 2022 の累積的な更新プログラムをインストールした後に発生します。 この回帰の解決策は、現在調査中です。

この問題を回避するには、「手動カットオーバー」の手順を使用してください。

関連項目