TFS 2017/2018: ローカル ユーザーから AD ユーザーへの移行

TFS 2017/2018: ローカル ユーザーから AD ユーザーへの移行

外部ユーザー向けに、古いサーバー上に約 50 個の「ローカル」ユーザー アカウントが存在します (歴史的に進化しています)。
これらのユーザーは、バックログ アイテムを追加し、従属要素 (タスクなど) の作業の進行状況を確認します。

古い W​​indows Server 2008 R2 (SQL 2014 および TFS 2017)。
新しい Windows Server 2016 (SQL 2017 および TFS 2018)。
両方のサーバーは同じドメインに参加しています。

これらのユーザー アカウントを Active Directory に移行し、これらの AD ユーザーを新しい TFS 2018 サーバーにマップする予定です。

新しい AD ユーザーを新しいサーバーにマップして、新しいユーザーが適切なバックログ項目やタスクなどを表示できるようにする方法はありますか?

移行フェーズではこれをテストしたいと考えています。したがって、両方のシステム (ローカル ユーザーを使用する古いシステムと AD ユーザーを使用する新しいシステム) が並行して動作する必要があります。

答え1

あなたが実行したいシナリオは不可能です。TFS でターゲット ユーザーが認識されていない限り、ユーザーを 1 つのドメインまたはワークグループから別のドメインまたはワークグループにマップすることしかできません。したがって、新しいユーザーと古いユーザーを並べて実行できるようにしたいというあなたの希望は、技術的には不可能です。

TFS によって認識されている既存の 2 人のユーザーをマージすることはできません。

唯一の選択肢は、移行/アップグレード手順の一環としてこれを行うことであり、新しいIDがないあなたのケースでは、TFS によって認識されているということは、ターゲット ユーザーは移行前に Active Directory の一部になることはできず、TFS の移行後に Active Directory の一部になる必要があることを意味します。

TFS を完全にシャットダウンした後 (通常は、古いバージョンのアプリケーション層をアンインストールした後)、次のコマンドを使用して、既存の ID を新しい ID と、移行後に存在するはずのサーバーの不明な ID にマップできます。

TfsConfig identities /change /fromdomain:<D1> /todomain:<D2>
                           [/account:<N1> [/toaccount:<N2>]]
                           [/sqlInstance:<sqlInstance>
                            /databaseName:<databaseName>]

個々のアカウントごとにこのコマンドを実行する必要がある場合があります。fromdomain現在のローカル ユーザーをホストしているサーバーの名前を指定できます。

すべてのマッピングが完了したら、Active Directory にまったく同じユーザーを作成し、(新しい) アプリケーション層を再起動/インストールして起動します。サービス手順中に、これらのユーザーは Active Directory に同期され、TFS 内のすべての「所有物」が新しいユーザーに移行されるはずです。

注記: 最初に成功しなかった場合に備えて、この手順を数回実行できるように、対象ユーザーをまだ認識していないバックアップ データベースが利用可能であることを確認してください。

注記: この手順では、アップグレード中にダウンタイムが発生する可能性が高く、TFS 管理者とドメインの担当者の間で同期されたアクティビティが必要になります。残念ながら、これが現状です。

関連情報