TFSConfig を使用してオンプレミスの Azure DevOps を管理する

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

TFSConfig コマンド ライン ツールを使用して、Azure DevOps オンプレミスデプロイに対してさまざまな管理アクションを実行できます。

TFSConfig は、Azure DevOps Serverがインストールされている任意のコンピューターから実行できます。

コマンド ライン ツールの場所

Azure DevOps コマンド ライン ツールは、Azure DevOps アプリケーション層サーバーの /Tools ディレクトリにインストールされます。

  • Azure DevOps Server 2020:%programfiles%\Azure DevOps Server 2020\Tools
  • Azure DevOps Server 2019: %programfiles%\Azure DevOps Server 2019\Tools
  • TFS 2018: %programfiles%\Microsoft Team Foundation Server 2018\Tools
  • TFS 2017: %programfiles%\Microsoft Team Foundation Server 15.0\Tools
  • TFS 2015: %programfiles%\Microsoft Team Foundation Server 14.0\Tools
  • TFS 2013: %programfiles%\Microsoft Team Foundation Server 12.0\Tools
  • TFS 2012: %programfiles%\Microsoft Team Foundation Server 11.0\Tools
  • TFS 2010: %programfiles%\Microsoft Team Foundation Server 2010\Tools

前提条件

多くのコマンドが正しく動作するには、 TFSConfig が TFS 展開の一部であるさまざまなサーバーとサービスに接続できる必要があり、 TFSConfig を実行しているユーザーは、これらの同じサーバーとサービスに対する管理アクセス許可を持っている必要があります。 特定のコマンドの要件を以下に示します。

実行中のユーザーが管理者資格情報を持っている場合でも、管理者特権のコマンド プロンプトから多くの TFSConfig コマンドを実行する必要があります。 管理者特権のコマンド プロンプトを開くには、[スタート] をクリックし、[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。 詳細については、「 ユーザー アカウント制御」を参照してください。

Azure DevOps Serverの管理コンソールを使用して、対話形式で管理アクションを実行することもできます。 「管理タスクのクイック リファレンス」を参照してください

コマンドを一覧表示してヘルプを表示する

TFSConfig コマンドの完全な一覧を表示するには、help コマンドを使用します。

TFSConfig help

個々のコマンドのヘルプを取得するには、help コマンドを使用し、 ヘルプ が必要なコマンドの名前を指定します。 たとえば、 accounts コマンドのヘルプを表示するには、次のようにします。

TFSConfig help accounts

アカウント

accounts コマンドを使用して、これらのAzure DevOps Serverサービス アカウントを管理します。

  • Azure DevOps Server サービス アカウント
  • SQL Server Reporting Servicesのデータ ソースアカウント
  • Azure DevOps プロキシ サーバー サービス アカウント

このコマンドを使用して、Azure DevOps Server データベースの所有権を変更することもできます。

TfsConfig accounts /change|add|set|delete|updatepassword|resetowner
	[/accountType:<adminConsole|applicationTier|proxy|reportingDataSource>]
	[/account:<accountName>] [/password:<password>]
	[/sqlInstance:<serverName>] [/databaseName:<databaseName>] [/continue]
操作 説明
UpdatePassword サービス アカウントとして使用されているアカウントのパスワードを変更します。 既存のアカウントと、指定されたアカウントとして実行されるすべての accountTypes を変更します。
Change サービス アカウントとして使用するアカウントを変更します。 必要なリソースとグループに新しいアカウントを追加し、必要なアクセス許可を付与してから、それを使用するようにサービスを設定します。 これにより、古いアカウントがリソースから削除されることはありません。

accountType オプションを使用しない場合、アプリケーション層のサービス アカウントが変更されます。
追加 新しいアカウントを必要なリソースにのみ追加します。 NLB のシナリオに役立ちます。 一部のコレクションに到達できない場合は、continue フラグを使用します。 Add は、後でもう一度実行して、見逃したコレクションを更新できます。 アカウントをサービス アカウントとして使用するために必要なグループにアカウントを追加します。
Set リソースに既に追加されているアカウントを使用するようにサービスのみを設定します。 NLB のシナリオに役立ちます。
削除 すべてのリソースからアカウントを削除します。 アカウントを削除する場合は、他のサーバーがサービスを拒否する可能性があるため、予防策を使用する必要があります。
ResetOwner データベースが移動、複製、またはディザスター リカバリーの一部として復元される場合、データベース所有者はサーバーを復元する管理者に切り替えることができます。 このオプションは、すべてのデータベースを反復処理し、dbo ログインを現在の所有者に設定します。
AccountType 説明
AdminConsole 管理コンソール ユーザーは、コンソールを使用するためのさまざまなリソースに対して最小限のアクセス許可が付与されているユーザーです。
ApplicationTier コア Web サービスの appPool のサービス アカウントを変更します。 (TFSService)
プロキシ プロキシ Web サービスの appPool のサービス アカウントを変更します。 (TFSProxy)
ReportingDataSource レポートがレポート データへのアクセスに使用するアカウントを変更します。 (TFSReports)

既定値は ApplicationTier です。

sqlInstance と databaseName は、アプリケーション層が構成される前に、データベースにアカウントを追加する場合にのみ使用するのに適しています。 これは、AT Only 構成ウィザードを実行する前に別のアカウントが必要なディザスター リカバリー シナリオで主に役立ちます。

continue オプションは、アカウントを追加または変更するときに使用されます。 これらの操作では、各コレクション データベースでアカウントが変更されます。 continue を指定すると、コレクションに到達できない場合は続行されます。 到達可能な場合は、再度実行できます。

注意

アカウントは domainName\userName 形式である必要があります。 システム アカウントの場合は、完全なアカウント名 ("NT Authority\Network Service" など) を引用符で囲む必要があります。 システム アカウントにはパスワードは必要ありません。

パラメーター 説明
Account 参照先のアカウントの種類 ( /AccountType:ApplicationTier など) から追加、変更、または削除するアカウントの名前を指定します。
パスワード サービス アカウントのパスワードを指定します。 このパラメーターは、システム アカウント、または Network Service などのパスワードがないアカウントを使用している場合は省略可能です。
sqlInstance /ResetOwner でのみ使用されます。

既定のインスタンス以外のインスタンスを使用する場合は、SQL Serverを実行しているサーバーの名前とインスタンスの名前を指定します。 名前とインスタンスは次の形式で指定する必要があります。

ServerName\InstanceName。
databaseName /ResetOwner でのみ使用されます。

所有者を変更するデータベースの名前を指定します。 このコマンドを使って、コマンドを実行するアカウントに指定するデータベースの所有権をリセットします。
continue コマンドを実行するときに利用できないすべてのグループを更新します。 通常、このオプションは、NLB のシナリオで使用されます。

前提条件

accounts コマンドを使用するには、次のメンバーである必要があります。

  • Azure DevOps Administrators セキュリティ グループ
  • Azure DevOps Server インスタンスが使用するすべてのSQL Server インスタンスの sysadmin ロール。

/proxy オプションを使用する場合は、プロキシ サーバーの管理者である必要があります。

詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

accounts コマンドを使用して、Azure DevOps Serverのサービス アカウント、データベース、サービス アカウント グループの変更を自動化します。 既に作成したアカウントは構成できますが、アカウントを作成することはできません。

アカウントのドメインまたはワークグループを変更する前に、アカウントに機密性の高いアカウントが必要であり、アプリケーション層サーバーに対する権限を委任することはできません。 詳細については、Microsoft Web サイトの「 委任された認証の有効化」のページを参照してください。

accounts コマンドは、オンプレミスのAzure DevOps Serverデプロイをサポートします。 Azure DevOps Services アカウントのアカウント所有者を変更するには、「アカウントの所有権を変更する」を参照してください。

Reporting Servicesのデータ ソースのサービス アカウントを Contoso ドメインの新しいアカウントに変更し、Contoso\NewAccountパスワードを にPassword変更します。

TfsConfig accounts /change /AccountType:ReportingDataSource /Account:Contoso\NewAccount /Password:Password

ネットワーク サービス システム アカウントを、Azure DevOps Serverのサービス アカウント グループに追加します (システム アカウントにはパスワードがありません)。

TfsConfig accounts /add /AccountType:ApplicationTier /Account:"NT Authority\Network Service"

名前付きインスタンスのTFS_WarehouseSQL Server上ContosoMainのデータベースの所有権をTeamDatabases、コマンドを実行しているユーザー アカウントに変更します。

注意

このコマンドを使用する場合、データベースの所有者として設定するアカウントを指定することはできません。 所有者は、コマンドを実行するアカウントに設定されます。

TfsConfig accounts /ResetOwner /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_Warehouse

AddProjectReports

注意

addProjectReports コマンドは、TFS 2017.1 以降のバージョンで使用できます。

addProjectReports コマンドを使用して、既存のチーム プロジェクトのレポートを追加または上書きします。

TfsConfig addProjectReports /collection:<teamProjectCollectionUrl> /teamProject:<projectName> /template:<templateName>
[/force]
オプション 説明
collection 必須。 チーム プロジェクト コレクションの URL。
teamproject 必須。 チーム プロジェクトの名前を指定します。
template 必須。 プロセス テンプレートの名前を指定します。 使用可能なオプションは、アジャイル、CMMI、スクラムです。
force 省略可能。 レポートが既に存在する場合は上書きすることを指定します。

前提条件

addProjectReports コマンドを使用するには、TFSConfig を実行し、レポートを Reporting Service にアップロードするためのアクセス許可が必要です。

注釈

addProjectReports コマンドは、プロジェクトにレポートがない場合、またはプロセスに定義されているレポートを更新する場合に使用します。

次の場合は、このコマンドを使用する必要がある場合があります。

  • プロジェクトは、Visual Studio ではなく Azure DevOps ポータルで作成されました
  • プロジェクトは Visual Studio から作成されましたが、レポートはAzure DevOps Serverで構成されていませんでした。

プロジェクト内の古いレポートと互換性がなくなったAzure DevOps Serverをアップグレードしたために、プロジェクト内のレポートを既定のレポートで上書きする場合は、/force オプションを使用します。 レポートをカスタマイズした場合は、これを行う前にバックアップを作成してください。

オンプレミスのAzure DevOps Serverにレポートを追加する方法の詳細については、「プロジェクトにレポートを追加する」を参照してください。

次の例は、プロジェクト コレクション内のhttp://myTfsServer:8080/tfs/DefaultCollectionプロジェクトにアジャイル レポートを追加する方法をMyProject示しています。

TFSConfig addProjectReports /collection:http://myTfsServer:8080/tfs/DefaultCollection /teamproject:MyProject /template:Agile

認証

[認証] コマンドは、Azure DevOps Serverアプリケーション層またはプロキシ Web サイトで使用されるネットワーク認証プロトコルを変更します。

TFSConfig Authentication [/provider:NTLM|Negotiate] [/viewAll] [/siteType:ApplicationTier|Proxy]

オプション

説明

/viewAll

Azure DevOps Serverの現在の認証設定を表示します。

/provider: { NTLM |ネゴシエート }

Web サイト用に構成する認証プロバイダーを指定します。

  • NTLM: NTML 認証プロトコルを使用する
  • ネゴシエート: ネゴシエート (Kerberos) 認証プロトコルを使用する

/siteType

ネットワーク認証プロトコルを変更する Web サイト (アプリケーション層またはプロキシ) を指定します。 アプリケーション層が既定です。

前提条件

認証コマンドを使用するには、siteType オプションの値に応じて、Azure DevOps Administrators セキュリティ グループのメンバーであり、アプリケーション層サーバーまたはプロキシ サーバーのローカル管理者である必要があります。

注釈

認証コマンドは、Azure DevOps Serverが依存する 1 つ以上の Web サイトのネットワーク認証プロトコルを変更する管理者によって使用されます。 ネットワーク認証プロトコルの変更を必要とするこれらの Web サイトを更新するには、管理者がアプリケーション層からこのコマンドを実行します。 コマンドは、IIS メタベースの NTAuthenticationProviders プロパティを変更します。

認証コマンドを使用して認証プロトコルを変更する前に、/viewAll オプションを指定して コマンドを実行して、既存の設定を確認できます。

次の例では、ネットワーク認証プロトコル用に割り当てられている現在の値が表示されます。

TFSConfig Authentication /viewAll

証明書

certificates コマンドを使用して、HTTPS、セキュリティで保護されたソケット レイヤー (SSL)、および証明書を使用するAzure DevOps Serverの展開でクライアント認証用に証明書を構成する方法を変更します。

TfsConfig certificates [/machine] [/disable] [/autoSelect] [/noprompt] [/thumbprints:thumbprint1[,thumbprint2,...]]
オプション 説明
マシン 現在のユーザー コンテキストではなく、ローカル コンピューター コンテキストから証明書の一覧を取得することを指定します。
無効化 (disable) クライアント認証証明書の設定を無効にすることを指定します。
autoSelect 証明書の一覧から証明書を自動的に選択することを指定します。 [クライアント証明書の管理] ウィンドウが開かない。
noprompt [証明書] コマンドの実行時に [クライアント証明書の管理] ウィンドウが開かないことを指定します。
拇印 指定した拇印に一致する証明書を使用することを指定します。 個々の拇印をコンマで区切ることで、複数の証明書を指定できます。

前提条件

certificates コマンドを使用するには、コマンドを実行するコンピューターの Azure DevOps Administrators セキュリティ グループとローカル Administrators グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

既定では、 certificates コマンドは現在のユーザーの証明書一覧からクライアント証明書を自動的に選択します。 ただし、コマンドのオプションを使用して、現在のユーザー コンテキストまたはローカル コンピューター コンテキストから特定の証明書または証明書を指定できます。

certificates コマンドを使用する前に、まず、証明書を利用するようにAzure DevOps Serverの展開でサーバーを構成する必要があります。 詳細については、「Azure DevOps Server用の Secure Sockets Layer (SSL) を使用した HTTPS の設定」を参照してください。

certificates コマンドを使用して、HTTPS/SSL と証明書を使用するように構成されたAzure DevOps Serverのデプロイで使用されるクライアント証明書を構成します。 オプションなしで Certificates コマンドを使用すると、コマンドを実行した現在のユーザー コンテキストからクライアント証明書が自動的に選択されます。

次の例では、プロンプトを表示しない拇印 aa bb cc dd ee を持つローカル コンピューター証明書を指定する方法を示します。

TfsConfig certificates /machine /thumbprint:aa bb cc dd ee /noprompt

次の例は、現在のユーザー ストアからのクライアント証明書の自動選択を使用して を指定する方法を示しています。

TfsConfig certificates /autoselect

ChangeServerID

changeServerID コマンドは、Azure DevOps Serverのデータベースに関連付けられている GUID を変更します。 GUID は、Azure DevOps Serverのデプロイ内で一意である必要があります。 複数のデータベースに同じ GUID がある場合、デプロイが不安定になったり使用できなくなったりする可能性があります。 構成データベースの GUID、配置内のすべてのプロジェクト コレクション データベースの GUID、またはその両方を変更できます。

通常、毎日の操作ではこのコマンドを使用しませんが、次の状況ではこのコマンドを使用できます。

  • デプロイを新しいハードウェアに復元し、古いデプロイは引き続き動作し、両方のデプロイを利用したいと考えています。 このシナリオは、サーバーの複製と呼ばれることもあります。

  • ソフトウェア更新プログラムまたはハードウェア構成を重複した展開でテストして、運用環境を中断するリスクがないようにする必要があります。

  • デプロイを確実に復元できるように、テスト ラボまたは別の環境の新しいハードウェアへのデータベースの復元を完全にテストする必要があります。

  • コレクション データベースの GUID は、その GUID が既に予約されている別のデプロイに移動した後でリセットする必要があります。

注意

changeServerID コマンドは元に戻すことはできません。 GUID が変更された後は、そのデータベースの以前のバージョンを復元する場合を除き、その変更を元に戻すことはできません。

TfsConfig changeServerID /sqlInstance:<serverName> /databaseName:<configurationDatabaseName>
	[/projectCollectionsOnly] [/configDBOnly] [/collectionName]
オプション 説明
sqlInstance 必須。 既定のインスタンス以外のインスタンスを使用する場合は、SQL Serverを実行しているサーバーの名前とインスタンスの名前を指定します。 インスタンスを指定する場合は、 の形式 ServerName\InstanceNameを使用する必要があります。
databaseName 必須。 Azure DevOps Serverの構成データベースの名前を指定します。 既定では、このデータベースの名前は TFS_ConfigurationDB です。
projectCollectionsOnly コレクションの GUID のみを変更することを指定します。
configDBOnly 構成データベースの GUID のみを変更することを指定します。
collectionName 特定のコレクションの新しいインスタンス ID を作成するように指定しますが、Azure DevOps インスタンスとその他のコレクションには作成しません。

前提条件

changeServerID コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーであり、Azure DevOps Serverが使用するすべてのSQL Server インスタンスの sysadmin セキュリティ ロールのメンバーである必要があります。 詳細については、「 Azure DevOps のアクセス許可リファレンス」を参照してください。

注釈

changeServerID コマンドを使用して、テストまたは複製のために、Azure DevOps Serverのデプロイの個別の複製を作成します。 changeServerID コマンドを使用した後、変更されたサーバーを使用する前に、変更されたサーバーへの接続を作成するようにクライアントに指示する必要があります。

次の例では、Azure DevOps Serverの Contoso1 デプロイ内のすべてのデータベースの GUID を変更する方法を示します。構成データベースは、SQL Serverの名前付きインスタンスTeamDatabasesで名前が付けられたContosoMainサーバーでホストされます。

TfsConfig changeServerID /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_ConfigurationDB

CodeIndex

codeIndex コマンドを使用して、Azure DevOps Serverのコード インデックス作成を管理します。 たとえば、インデックスをリセットして CodeLens 情報を修正したり、コード インデックス作成をオフにしてサーバー パフォーマンスの問題を調査したりします。

TfsConfig codeIndex /indexingStatus | /setIndexing:[on|off|keepupOnly] |
	/ignoreList:[ add | remove | removeAll | view ] <serverPath> |
	/listLargeFiles [/fileCount:FileCount] [/minSize:MinSize] |
	/reindexAll | 
    /destroyCodeIndex [/noPrompt] |
	/temporaryDataSizeLimit:[ view | <SizeInGBs> | disable ] |
	/indexHistoryPeriod:[ view | all | <NumberOfMonths> ] [/collectionName:<collectionName> | /collectionId:<collectionId>]
オプション 説明
indexingStatus コード インデックス作成サービスの状態と構成を表示します。
setIndexing on: すべての変更セットのインデックス作成を開始します。
off: すべての変更セットのインデックス作成を停止します。
keepupOnly: 以前に作成された変更セットのインデックス作成を停止し、新しい変更セットのインデックス作成のみを開始します。
ignoreList インデックスを作成しないコード ファイルとそのパスの一覧を指定します。

add: インデックスを作成しないファイルを無視ファイル リストに追加します。
remove: インデックスを作成するファイルを無視ファイル リストから削除します。
removeAll: 無視ファイル リストをクリアし、すべてのファイルのインデックス作成を開始します。
view: インデックスを作成しないすべてのファイルを表示します。
ServerPath: コード ファイルへのパスを指定します。

ワイルドカード文字 (*) を、サーバー パスの先頭、末尾、または両端に使用できます。
listLargeFiles KB 単位で指定されたサイズを超えるファイルを指定された数だけ表示します。 その後で、/ignoreList オプションを使用して、これらのファイルをインデックス作成から除外することができます。

このためには、 Team Foundation Server 2013 と Update 3 が必要です。
reindexAll 以前にインデックスを作成したデータをクリアし、インデックス作成を再び開始します。
destroyCodeIndex コード インデックスを削除し、すべてのインデックス データを削除します。 /noPrompt のオプションを使用する場合は、確認を要求されません。
temporaryDataSizeLimit 変更セットを処理するときに CodeLens が作成する一時データの量を制御します。 制限の既定値は 6 GB (更新プログラム 5 では 2 GB) です。

view: 現在のサイズ制限を表示します。
SizeInGB: サイズ制限を変更します。
disable: サイズの制限を削除します。

CodeLens が新しい変更セットを処理する前に、この制限の検査が行われます。 一時データがこの制限を超える場合、CodeLens は過去の変更セット (新しい変更セットではない) の処理を一時停止します。 データがクリーンアップされ、この制限内に収まると、CodeLens は処理を再開します。 クリーンアップは 1 日に 1 度、自動的に行われます。 このことは、クリーンアップの実行が始まるまでは、一時データがこの制限を超えている可能性があることを意味します。

このためには、 Team Foundation Server 2013 と Update 4 が必要です。
indexHistoryPeriod 変更履歴のインデックスを作成する期間を制御します。 これは、CodeLens の履歴の表示量に影響します。 制限の既定値は 12 か月です。 つまり、CodeLens が過去 12 か月間の変更履歴のみを表示するという意味です。

view: 現在の月数を表示します。
all: すべての変更履歴のインデックスを作成します。
NumberOfMonths: インデックス変更履歴に使用する月数を変更します。

このためには、 Team Foundation Server 2013 と Update 4 が必要です。
collectionName CodeIndex コマンドを実行する対象のプロジェクト コレクションの名前を指定します。 /CollectionId を使用しない場合は必ず指定します。
collectionId CodeIndex コマンドを実行する対象のプロジェクト コレクションの ID 番号を指定します。 /CollectionName を使用しない場合は必須

前提条件

codeIndex コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーである必要があります。 Azure DevOps Serverのアクセス許可リファレンスに関するページを参照してください。

コード インデックス作成の状態と構成を表示するには:

TfsConfig codeIndex /indexingStatus /collectionName:"Fabrikam Web Site"

すべての変更セットのインデックス作成を開始するには:

TfsConfig codeIndex /setIndexing:on /collectionName:"Fabrikam Web Site"

以前に作成された変更セットのインデックス作成を停止し、新しい変更セットのインデックス作成のみを開始するには:

TfsConfig codeIndex /setIndexing:keepupOnly /collectionName:"Fabrikam Web Site"

10 KB を超えるファイルを最大 50 個検索するには:

TfsConfig codeIndex /listLargeFiles /fileCount:50 /minSize:10 /collectionName:"Fabrikam Web Site"

特定のファイルをインデックス作成から除外し、無視ファイル リストに追加するには:

TfsConfig codeIndex /ignoreList:add "$/Fabrikam Web Site/Catalog.cs" /collectionName:"Fabrikam Web Site"

インデックスを作成しないすべてのファイルを表示するには:

TfsConfig codeIndex /ignoreList:view

以前にインデックスを作成したデータをクリアし、インデックス作成を再び開始するには:

TfsConfig codeIndex /reindexAll /collectionName:"Fabrikam Web Site"

すべての変更履歴を保存するには:

TfsConfig codeIndex /indexHistoryPeriod:all /collectionName:"Fabrikam Web Site"

CodeLens 一時データのサイズ制限を取り払い、一時データのサイズに関係なくインデックス作成を続けるには:

TfsConfig codeIndex /temporaryDataSizeLimit:disable /collectionName:"Fabrikam Web Site"

確認後にコード インデックスを削除するには:

TfsConfig codeIndex /destroyCodeIndex /collectionName:"Fabrikam Web Site"

コレクション

collection コマンドを使用すると、Azure DevOps Serverの配置からプロジェクト コレクションをアタッチ、デタッチ、または削除できます。 collection コマンドを使用して、既存のコレクションのデータベースを複製し、名前を変更してデプロイにアタッチすることもできます。 このプロセスはコレクションの複製と呼ばれることもあります。

TfsConfig collection {/attach | /create | /detach | /delete} [/collectionName:<collectionName>]
    [/description:<collectionDescription>]
    [/collectionDB:<serverName>;<databaseName>]
    [/processModel:Inheritance|Xml]
    [/reportingFolder:<reportingFolderPath>]
    [/clone] [/verify] [/continue]
オプション 説明
アタッチ /detach も /delete も使用しない場合は必須です。 このオプションを指定する場合は、 /collectionDB オプションも使用する必要があります。 オプションとして、このオプションで /collectionName/clone を使用することもできます。 /attach オプションを使用すると、指定したコレクション データベースがAzure DevOps Serverのデプロイに追加されます。
create コレクションを作成します。
デタッチ /attach も /delete も使用しない場合は必須です。 このオプションを指定する場合は、 /collectionName オプションも使用する必要があります。 /detach オプションを使用すると、指定したコレクションのデータベースが停止され、コレクションは Azure DevOps Server のデプロイからデタッチされます。
削除 /detach も /attach も使用されていない場合は必須です。 このオプションを指定する場合は、 /collectionName オプションも使用する必要があります。 /delete オプションを使用すると、指定したコレクションのデータベースが停止され、コレクションはAzure DevOps Serverから完全にデタッチされます。 このコレクション データベースはこの配置だけでなく、他のすべての配置に再アタッチできなくなります。
CollectionName プロジェクト コレクションの名前を指定します。 コレクション名にスペースが含まれている場合は、名前を引用符で囲む ("My Collection" など) 必要があります。 /detach または /delete を使用する場合は必須です。 このオプションを /detach または /delete と共に使用すると、デタッチまたは削除されるコレクションが指定されます。 このオプションを /attach と共に使用すると、コレクションの新しい名前が指定されます。 /attach/clone の両方でこのオプションを使用する場合は、重複するコレクションの名前を指定します。
CollectionDB /attach を使用する場合は必須です。 このオプションは、SQL Server実行されているサーバーの名前と、そのサーバーでホストされているコレクション データベースの名前を指定します。
ServerName Azure DevOps Serverの構成データベースをホストするサーバーの名前と、既定のインスタンス以外のインスタンスを使用する場合のインスタンスの名前を指定します。 インスタンスを指定する場合は、 の形式 ServerName\InstanceNameを使用する必要があります。
DatabaseName 構成データベースの名前を指定します。 既定では、このデータベースの名前は TFS_ConfigurationDB です。
clone このオプションを指定すると、元のコレクション データベースがSQL Serverの複製としてアタッチされ、このデータベースがAzure DevOps Serverにアタッチされます。 このオプションは、主にプロジェクト コレクションの分割の一部として使用されます。

ヒント

/delete オプションは、コレクション データベースをSQL Serverから削除しません。 Azure DevOps Serverからコレクション データベースを削除した後、SQL Serverからデータベースを手動で削除できます。

前提条件

collections コマンドを使用するには、TfsConfig を実行しているコンピューターの Team Foundation Administrators セキュリティ グループとローカル Administrators グループのメンバーである必要があります。 また、Azure DevOps Server データベースで使用されるSQL Serverのすべてのインスタンスの sysadmin セキュリティ ロールのメンバーである必要もあります。 展開が SharePoint と統合されていて、 /delete オプションを使用している場合は、サイト コレクションを削除する SharePoint ファームのファーム管理者グループのメンバーである必要もあります。

詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

コレクションを対話形式で管理したり、コレクションを作成したりするには、Azure DevOps の管理コンソールで [Project Collections] ノードを使用します。 「プロジェクト コレクションの管理」を参照してください。

次の例は、Azure DevOps ServerのContoso Summer Intern Projects配置からプロジェクト コレクションを完全に削除する方法を示しています。

TfsConfig collection /delete /CollectionName:"Contoso Summer Intern Projects"
TFSConfig - Team Foundation Server Configuration Tool
Copyright � Microsoft Corporation. All rights reserved.
Deleting a project collection is an irreversible operation. A deleted collection cannot be reattached to the same or another Team Foundation Server. Are you sure you want to delete 'Contoso Summer Intern Projects'? (Yes/No)
Yes
Found Collection 'Contoso Summer Intern Projects' Deleting...
The delete of collection 'Contoso Summer Intern Projects' succeeded.

次の例は、プロジェクト コレクションを複製し、名前をContoso Summer Interns Projects付けContoso Winter Interns Projects、重複するコレクションを Azure DevOps Server の配置にアタッチする方法を示しています。

TfsConfig collection /attach /collectiondb:"ContosoMain;TFS_Contoso Summer Interns Projects"
    /CollectionName:"Contoso Winter Intern Projects" /clone

ColumnStoreIndex

注意

コマンドの可用性: TFS 2015.2 以降のバージョンが必要です。

columnStoreIndex コマンドを使用して、Azure DevOps Serverデプロイで使用されるデータベースの列ストア インデックスを有効または無効にします。

TfsConfig columnStoreIndex /enabled:<true|false>
	/sqlInstance:<serverName>
	/databaseName:<databaseName>
オプション 説明
enabled 指定された SQL インスタンスとデータベースの列ストア インデックスを有効または無効にするかどうかを指定します。
sqlInstance 列ストア インデックスが有効または無効になっているデータベースをホストするサーバーの名前と、既定値以外のインスタンスが使用されている場合のインスタンスの名前を指定します。 インスタンスを指定する場合は、 の形式 ServerName\InstanceNameを使用する必要があります。
databaseName 列ストア インデックスが有効または無効になっているデータベースの名前を指定します。

前提条件

columnStoreIndex コマンドを使用するには、指定したSQL Server インスタンスの sysadmin ロールのメンバーである必要があります。

注釈

通常、列ストア インデックスをサポートしていた SQL インスタンスから、サポートされていないデータベースにデータベースを移動する場合は、 columnStoreIndex コマンドを使用します。 この場合、データベースを正常に移動するには、すべての列ストア インデックスを無効にする必要があります。 同様に、列ストア インデックスをサポートする SQL インスタンスにデータベースを戻す場合は、領域を節約してパフォーマンスを向上させるために、列ストア インデックスを再度有効にすることができます。

次の例では、名前付きインスタンス TeamDatabasesで という名前のサーバーContosoMainで実行されている SQL インスタンスで という名前TFS_DefaultCollectionのデータベースに対して、列ストア インデックスを有効にする方法を示します。

TfsConfig columnStoreIndex /enabled:true /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection

ConfigureMail

電子メール アラートに既存の SMTP サーバーを使用するように、Azure DevOps Serverを実行するサーバーを構成します。

TfsConfig configureMail /Enabled:<true|false> /FromEmailAddress:<emailAddress> /SmtpHost:<SMTPHostName>
オプション 説明
FromEmailAddress チェック、割り当てられた作業項目、またはその他の通知について、Azure DevOps Serverから電子メール通知を送信するアドレスを指定します。 このアドレスは有効性もチェックされ、サーバーの構成によっては、メール サーバー上の有効なメール アカウントを表す必要がある場合があります。 アドレスが存在しないか、無効な場合は、既定の電子メール アドレスが使用されます。
SmtpHost メール サーバーをホストするサーバーの名前を指定します。

前提条件

configureMail コマンドを使用するには、Azure DevOps アプリケーション層サーバーの Team Foundation Administrators セキュリティ グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

管理コンソールを使用して、SMTP サーバーを使用するようにAzure DevOps Serverを構成することもできます。

次の例は、電子メール アドレス TFS@contoso.com から と SMTP メール サーバーを として ContosoMailServer構成するために使用される構文を示しています。

TfsConfig configureMail /FromEmailAddress:TFS@contoso.com /SmtpHost:ContosoMailServer

DBCompression

dbCompression コマンドを使用して、Azure DevOps Serverデプロイで使用されるデータベースのデータベース ページ圧縮を有効または無効にします。

TfsConfig dbCompression /pageCompression:[enable|disable]
	/sqlInstance:<serverName>
	/databaseName:<databaseName>
	[/rebuildNow [/offline]]
オプション 説明
pageCompression 特定の SQL インスタンスとデータベースのページ圧縮を有効または無効にするかどうかを指定します。
sqlInstance ページ圧縮が有効または無効になっているデータベースをホストするサーバーの名前と、既定値以外のインスタンスが使用されている場合のインスタンスの名前を指定します。 インスタンスを指定する場合は、次の形式を使用する必要があります。 ServerName\InstanceName
databaseName ページ圧縮を有効または無効にするデータベースの名前を指定します。
rebuildNow 省略可能。 データベース インデックスを直ちに再構築する (必要に応じて圧縮または圧縮解除する) かどうかを指定します。 使用しない場合、インデックスは毎週実行されるバックグラウンド ジョブによって再構築されます。
offline 省略可能。 /rebuildNow と組み合わせてのみ使用されます。 /offline が指定されていない場合、インデックスはオンラインで再構築されます。 /offline を指定すると、インデックスはオフラインで再構築されます。 これにより、他の操作はブロックされますが、オンライン インデックスの再構築よりも高速になる可能性があります。

前提条件

dbCompression コマンドを使用するには、指定したSQL Server インスタンスの sysadmin ロールのメンバーである必要があります。

注釈

圧縮をサポートしている SQL インスタンスから、サポートされていない SQL インスタンスにデータベースを移動する場合は、通常 、dbCompression コマンドを使用します。 この場合は、データベースを正常に移動する前に、圧縮を無効にし、すべてのインデックスを圧縮解除する必要があります。 同様に、圧縮をサポートする SQL インスタンスにデータベースを戻す場合は、領域を節約するために圧縮を再度有効にすることができます。

このコマンドは、データベース ページの圧縮Azure DevOps Server使用するかどうかを変更するだけです。データベースは、圧縮をサポートするエディションの SQL インスタンスでホストされている必要があります。 詳細については、「SQL Serverの各エディションでサポートされる機能」を参照してください。

次の例では、名前付きインスタンス TeamDatabasesで という名前のサーバーContosoMain上で 実行されている SQL インスタンス上の という名前TFS_DefaultCollectionのデータベースに対して、インデックスをオンラインで再構築して、ページ圧縮をすぐに有効にする方法を示します。

TfsConfig dbCompression /pageCompression:enable /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection /rebuildNow

DeleteTestResults

deleteTestResults コマンドを使用して、古い保存済みテスト結果をコレクション ストアから削除します。 これは通常、ストア サイズを小さくしたり、テスト結果を新しいスキーマに移行するときの時間を短縮したりするために行われます。

TfsConfig deleteTestResults /ageInDays:<number> /sqlInstance:<serverName> /databaseName:<databaseName>
    [/type:[automated|manual|all]]
    [/preview]
オプション 説明
ageInDays 指定した日数より前のテスト結果は削除またはプレビューされます。
sqlInstance テスト結果を削除またはプレビューするデータベースをホストするサーバーの名前と、既定値以外のインスタンスが使用されている場合のインスタンスの名前。 インスタンスを指定する場合は、 という形式 ServerName\InstanceNameを使用する必要があります。
databaseName テスト結果を削除またはプレビューするデータベースの名前。
省略可能。 削除するテスト結果の種類。 有効な値は、自動化、手動、およびすべてです
preview 省略可能。 日数に基づいて削除されるテスト結果の数を表示しますが、これらの結果は削除しません。

前提条件

deleteTestResults コマンドを使用するには、指定したSQL Server インスタンスの sysadmin ロールのメンバーである必要があります。

注釈

/preview パラメーターを使用して、これらの結果を削除せずにプロジェクト名と年で並べ替えられたテスト結果を表示します。

次の例は、名前付きインスタンス TeamDatabases上の という名前のサーバーContosoMainで 実行されている SQL インスタンス上の という名前TFS_DefaultCollectionのデータベースについて、60 日より前の手動テスト結果を削除する方法を示しています。

TfsConfig deleteTestResults /ageInDays:60 /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection /type:manual

DeploymentPool

deploymentPool コマンドは、すべてのデプロイ グループを 1 つのデプロイ プールから別のデプロイ プールに移行するように設計されています。

TfsConfig deploymentpool /migrateDeploymentGroups /fromPool:<source pool name> /toPool:<destination pool name>
オプション 説明
fromPool ソース プール名。
toPool 宛先プール名。

Identities

ids コマンドは、Azure DevOps Serverの展開でユーザーとグループのセキュリティ識別子 (SID) を一覧表示または変更します。 次のいずれかのシナリオでは、ユーザーおよびグループの SID を変更または更新する必要がある場合があります。

  • デプロイのドメインを変更する

  • ワークグループからドメインへの変更、またはドメインからワークグループへの変更

  • Active Directory のドメイン間でのアカウントの移行

注意

同じ Active Directory フォレスト内でドメインを変更する場合、このコマンドを実行する必要はありません。 Azure DevOps Serverは、同じフォレスト内での移動に対する SID の変更を自動的に処理します。

TfsConfig identities [/change /fromdomain:<domainName1> /todomain:<domainName2>
    [/account:<accountName> [/toaccount:<accountName>]] [/sqlInstance:<serverName> /databaseName:<databaseName>]
オプション 説明
change (変更) ID を一覧表示せず、変更するように指定します。
fromdomain /change を使用する場合は必須です。 変更する ID の元のドメインを指定します。 ワークグループ環境から変更する場合は、コンピューターの名前を指定します。
todomain /change を使用する場合は必須です。 ID の変更後のドメインを指定します。 ワークグループ環境に変更する場合は、コンピューターの名前を指定します。
account 一覧表示または変更する ID のアカウントの名前を指定します。
toaccount ID の変更先のアカウントの名前を指定します。
SQLInstance 既定のインスタンス以外のインスタンスを使用する場合は、SQL Serverを実行しているサーバーの名前とインスタンスの名前を指定します。 インスタンスを指定する場合は、次の形式を使用する必要があります。

ServerName\InstanceName
DatabaseName Azure DevOps Serverの構成データベースの名前を指定します。

前提条件

id コマンドを使用するには、Team Foundation Administrators セキュリティ グループのメンバーであり、Team Foundation Server が使用するすべてのSQL Server インスタンスの sysadmin ロールのメンバーである必要があります。 詳細については、「Azure DevOps Serverの管理者権限を設定する」を参照してください。

注釈

配置のアプリケーション層サーバーを構成する前に、必要に応じて、データべースを指定して ID を変更できます。 たとえば、Azure DevOps Serverのデプロイを複製するときに、サービス アカウントを変更するようにデータベースを指定できます。

ID を変更する場合は、ターゲット アカウントまたはターゲット アカウントが Windows に既に存在している必要があります。

このコマンドを使用して変更したアカウントのプロパティが更新されるには、次に ID と Windows が同期されるまで待機する必要があります。 この要件は、グループからユーザー、ユーザーからグループ、およびドメイン アカウントからローカル アカウントへの変更に当てはまります。

次の例では、Azure DevOps Serverに格納されているすべての Windows ユーザーとグループの名前を一覧表示し、各ユーザーまたはグループの SID が Windows の SID と一致するかどうかを表示する方法を示します。 Contoso1 ドメイン管理者は、 や などのContoso1\\Developersドメイン グループを作成しContoso1\\Testers、Azure DevOps Server、SQL Server Reporting Services、SharePoint 製品全体のアクセス許可の管理を容易にします。

TfsConfig identities

    TFSConfig - Team Foundation Server Configuration Tool
    Copyright � Microsoft Corporation. All rights reserved.

    Account Name Exists (see note 1) Matches (see note 2)
    --------------------------------------------------------------------
    CREATOR OWNER True True
    Contoso1\hholt True True
    BUILTIN\Administrators True True
    Contoso1\Developers True True
    Contoso1\Testers True True
    Contoso1\PMs True True
    Contoso1\jpeoples True True
    Contoso1\Domain Admins True True
    Contoso1\SVCACCT1 True True

    9 security identifiers (SIDs) were found stored in Team Foundation Server. Of these, 9 were found in Windows. 0 had differing SIDs.

次の例では、Azure DevOps Server内のすべてのアカウントの SID を Contoso1 ドメインから、ドメイン内の名前が一致するアカウントの SID に変更する方法をContosoPrime示します。 一致するアカウント名のみ、SID が更新されます。 たとえば、アカウントが hholtContosoPrime\hholtとしてContoso1\hholt存在する場合、アカウント SID は の SID ContosoPrime\hholtに変更されます。 アカウントが ContosoPrime\hholt 存在しない場合、 の SID は更新 Contoso1\hholtされません。

TfsConfig identities /change /fromdomain:Contoso1 /todomain:ContosoPrime

次の例は、1 つのユーザー アカウントのアカウント () を別 Contoso1\hholtのユーザー アカウント ContosoPrime\jpeoplesの アカウントに変更する方法を示しています。

TfsConfig identities /change /fromdomain:Contoso1 /todomain:ContosoPrime /account:hholt /toaccount:jpeoples

次の例は、デプロイのNT AUTHORITY\NETWORK SERVICEドメインを から Contoso1 に変更するときに、Azure DevOps Serverのデプロイで使用されるサービス アカウントの SID を変更するContosoPrime方法を示しています。 Network Service などのシステム アカウントを変更するには、2 段階のプロセスに従う必要があります。 最初に、サービス アカウントを から NT AUTHORITY\NETWORK SERVICE 新しいドメインのドメイン アカウントに変更した後、そのアカウントを新しいドメイン TempSVCのサーバー上の NETWORK SERVICE に戻します。 構成データベースは、SQL Serverの名前付きインスタンスTeamDatabasesで名前ContosoMainが付けられたサーバーでホストされます。

TfsConfig identities /change /fromdomain:"NT AUTHORITY" /todomain:ContosoPrime /account:"NETWORK SERVICE"
  /toaccount:TempSVC /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_ConfigurationDB

TfsConfig identities /change /fromdomain:ContosoPrime /todomain:"NT AUTHORITY" /account:TempSVC
	/toaccount:"NETWORK SERVICE"

ジョブ

jobs コマンドを使用すると、特定のプロジェクト コレクションの最新のジョブ アクティビティの詳細を提供するログ ファイルを作成したり、1 つまたはすべてのプロジェクト コレクションのジョブを再試行したりできます。

TfsConfig jobs /retry|dumplog [/CollectionName:<collectionName>] [/CollectionId:<id>]
オプション 説明
retry /dumplog が使用されていない場合は必須です。 指定したプロジェクト コレクションに対して、最新のジョブを再試行することを指定します。 このオプションを使用する場合は、/CollectionName または /CollectionID オプションも使用する必要があります。
dumplog /retry が使用されていない場合は必須です。 コレクションの最新のジョブ アクティビティをログ ファイルに送信することを指定します。 このオプションを使用する場合は、/CollectionName または /CollectionID オプションも使用する必要があります。
CollectionName /CollectionID が使用されていない場合は必須です。 最新のジョブが再試行 (/retry) またはログに記録される (/dumplog) コレクションの名前を指定します。 すべてのコレクションを指定する場合は、アスタリスク (*) を使用できます。
CollectionID /CollectionName が使用されていない場合は必須です。 最新のジョブが再試行 (/retry) またはログに記録される (/dumplog) コレクションの識別番号を指定します。

前提条件

jobs コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

ジョブを対話形式で再試行するには、Azure DevOps の管理コンソールを開き、コレクションの [ 状態 ] タブを選択し、[ 再試行ジョブ] を選択します。 詳細については、「 Azure DevOps 管理コンソールを開く」を参照してください。

次の例は、Azure DevOps Serverのプロジェクト コレクションの最新のジョブ アクティビティを一覧表示するログ ファイルをContoso Summer Intern Projects作成する方法を示しています。

TfsConfig jobs /dumplog /CollectionName:"Contoso Summer Intern Projects"

OfflineDetach

offlineDetach コマンドを使用して、オフライン コレクション データベースをデタッチされたオフライン コレクション データベースにします。

TfsConfig offlineDetach /configurationDB:<databaseName>
    /collectionDB:<databaseName>
オプション 説明
configurationDB 使用する構成データベースの名前を指定します。
collectionDB デタッチするコレクション データベースの名前を指定します。

前提条件

offlineDetach コマンドを使用するには、指定したSQL Server インスタンスの sysadmin ロールのメンバーである必要があります。

注釈

このコマンドは、指定されたコレクション データベースのスキーマを変更し、Team Foundation Server の展開で使用されているデータベースに対して実行しないでください。 Team Foundation Server のデプロイでデータベースが使用されている場合は、代わりに を使用 TfsConfig collection /detach します。

このコマンドは、同じAzure DevOps Server配置の一部である他のコレクション データベースを復元せずに、個々のコレクション データベースをバックアップから復元する必要がある場合に便利です。 以前は、完全で一貫性のあるデータベースセット (構成とすべてのコレクション) をステージング環境に復元し、それらのデータベースを使用してAzure DevOps Server展開を構成し、関心のあるコレクションをデタッチする必要があります。

代わりに、構成データベースと目的のコレクション データベースの一貫性のあるコピーを復元し、 offlineDetach コマンドを実行できるようになりました。 デタッチされたコレクション データベースは、適切なバージョンで任意のAzure DevOps Server展開にアタッチできます。

次の例では、 という名前の構成データベースを使用して、 という名前 TFS_PrimaryCollectionのコレクション データベースをデタッチし、名前付 TFS_Configurationきインスタンス で という名前 ContosoTemp のサーバー上で実行されている SQL インスタンスで両方をデタッチする方法を示します Backups

TfsConfig offlineDetach /configurationDB:ContosoTemp\Backups;TFS_Configuration /collectionDB:ContosoTemp\Backups;TFS_PrimaryCollection

プロキシ

プロキシ コマンドを使用して、Azure DevOps プロキシ サーバーで使用される設定を更新または変更できます。 Azure DevOps プロキシ サーバーでは、分散チームの場所でダウンロードしたバージョン管理ファイルのキャッシュを管理することで、分散チームがバージョン管理を使用するためのサポートが提供されます。 Azure DevOps プロキシ サーバーを構成することで、ワイド エリア接続全体で必要な帯域幅を大幅に削減できます。 バージョン ファイルのダウンロードおよびキャッシュを管理する必要もありません。ファイルを使用する開発者がファイルの管理を意識する必要はありません。 一方、メタデータ交換とファイルのアップロードは引き続きAzure DevOps Serverに表示されます。 Azure DevOps Servicesを使用して開発プロジェクトをクラウドでホストする場合は、Proxy コマンドを使用して、ホストされているコレクション内のプロジェクトのキャッシュを管理するだけでなく、そのサービスで使用される設定の一部を管理することもできます。

Azure DevOps プロキシ サーバーのインストールとプロキシの初期構成の詳細については、

「方法: Azure DevOps プロキシ サーバーをインストールし、リモート サイトを設定する」を参照してください。 クライアント コンピューターでのプロキシの構成の詳細については、「 Azure DevOps バージョン管理コマンド リファレンス」を参照してください

TfsConfig proxy /add|delete|change [/Collection:<teamProjectCollectionURL> /account:<accountName>]
	/Server:<TeamFoundationServerURL> [/inputs:Key1=Value1; Key2=Value2;...] [/continue]
オプション 説明
add Proxy.config ファイルのプロキシ リストに指定されたサーバーまたはコレクションを追加します。 /add を複数回実行して、複数のコレクションまたはサーバーを含めることができます。 Azure DevOps Servicesでホストされているコレクションで /add を使用すると、Azure DevOps Servicesで資格情報の入力を求められます。
change (変更) Azure DevOps Servicesのサービス アカウントとして格納されている資格情報を変更します。 /change オプションは、Azure DevOps Servicesにのみ使用されます。Azure DevOps Serverのローカルデプロイには使用しないでください。
削除 Proxy.config ファイルのプロキシ リストから指定されたサーバーまたはコレクションを削除します。
account Azure DevOps Servicesのプロキシのサービス アカウントとして使用されるアカウントを指定します。 このオプションは、/change オプションと組み合わせてAzure DevOps Servicesにのみ使用されます。

Azure DevOps Servicesに使用される既定のサービス アカウントは、"アカウント サービス" です。
continue 検証プロセスが警告を生成した場合でもコマンドの実行は継続されます。
コレクション Azure DevOps Servicesでホストされるプロジェクト コレクションの URL を形式でAccountName.DomainName/CollectionName指定します。
account Azure DevOps Servicesのサービス アカウントとして使用されるアカウントの名前を指定します。 アカウント名に空白が含まれる場合は、名前を二重引用符 ("") で囲む必要があります。 アカウント名のすべての特殊文字は、コマンド ライン構文に従って指定する必要があります。
account Azure DevOps Server展開の URL を形式でServerURL:Port/tfs指定します。
PersonalAccessTokenFile 必要に応じて、個人用アクセス トークンを含むファイルへのパスを指定します。 このトークンは、プロキシの登録中にコレクションまたはアカウントに対する認証を使用します。 (TFS 2018 Update 1 で追加)
inputs 省略可能。 プロキシの構成時に使用する追加の設定と値を指定します。!

たとえば、 と GvfsRepositoryNameGvfsProjectName値を使用して、Git Virtual File System (GVFS) で使用する Git リポジトリを構成できます (TFS 2018 Update 1 で追加)

前提条件

プロキシ コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーであり、プロキシ サーバーの管理者である必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

プロキシ コマンドを使用して、Azure DevOps Server プロキシの既存の構成を更新します。 プロキシの初期インストールと構成には 、proxy コマンドを使用できません。

次の例は、 という名前FABRIKAMのAzure DevOps Serverデプロイをプロキシ リストに追加する方法を示しています。

TfsConfig proxy /add /Server:http://www.fabrikam.com:8080/tfs 

次の例では、認証に個人用アクセス トークンを使用して、Azure DevOps Servicesでホストされているプロジェクト コレクションをプロキシ リストに追加する方法を示します。 このトークンは、プロキシをAzure DevOps Services アカウントに登録するためにのみ使用されます。既定のサービス アカウントはプロキシの実行に引き続き使用されます。 このパラメーターは、ログイン プロンプトを必要とせずにプロキシをAzure DevOps Servicesに登録できるように TFS 2018 Update 1 で追加されました。

TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver

次の例は、プロジェクト コレクションをプロキシ リストに追加する方法を示しています。 この例では、個人用アクセス トークンを使用して、 パラメーターで指定されたコレクションに対して認証を /Collection 行います。 使用する個人用アクセス トークンは、 のファイル c:\PersonalAccessToken.txtに保存されます。

TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver
	/PersonalAccessTokenFile:c:\PersonalAccessToken.txt

次の例は、Azure DevOps Servicesでホストされているプロジェクト コレクションのプロキシによって使用されるサービス アカウントを変更する方法を示しています。 コレクションの名前PhoneSaverは で、Azure DevOps Servicesに使用されるアカウント名は でHelenaPetersen.fabrikam.com、プロキシで使用されるサービス アカウントは にMy Proxy Service Account変更されています。 アカウント名に空白が含まれているため、名前を囲むために引用符が使用されます。

TfsConfig proxy /change /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver
	/account:"My Proxy Service Account"

次の例は、GVFS で使用する Git リポジトリを追加する方法を示しています。

TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver /inputs:GvfsProjectName=PhoneSaver;GvfsRepositoryName=AnotherRepository

RebuildWarehouse

rebuildWarehouse コマンドを使用して、使用するSQL Server Reporting ServicesデータベースとSQL Server Analysis ServicesデータベースAzure DevOps Server再構築できます。

TfsConfig rebuildWarehouse /analysisServices | /all [/ReportingDataSourcePassword:Password]
オプション 説明
analysisServices /all が使用されていない場合は必須です。 Analysis Services のデータベースのみがリビルドされるように指定します。 Analysis Services 用のデータベースが存在しない場合は、 /reportingDataSourcePassword オプションも使用する必要があります。
all /analysisServices が使用されていない場合は必須です。 Azure DevOps Server使用するすべてのレポート データベースと分析データベースを再構築することを指定します。
reportingDataSourcePassword TFS_Analysis データベースが存在しない場合は、必ず指定します。 SQL Server Reporting Services (TFSReports) のデータ ソース アカウントとして使用されるアカウントのパスワードを指定します。 詳細については、「Azure DevOps Serverのサービス アカウントと依存関係」を参照してください。

前提条件

rebuildWarehouse コマンドを使用するには、次のグループのメンバーである必要があります。

  • Azure DevOps の管理コンソールを実行しているサーバー上の Azure DevOps Administrators セキュリティ グループと Administrators セキュリティ グループ

  • データベースをホストするSQL Serverのインスタンスを実行しているサーバー上の sysadmin グループAzure DevOps Server

詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

このコマンドは、プロジェクト コレクションの移動または分割、データの復元、または配置の構成の変更時に使用できます。

これらのデータベースの再構築を対話形式で開始するには、Azure DevOps の管理コンソールで [レポート] ノードを使用します。 詳細については、「 Azure DevOps 管理コンソールを開く」を参照してください。

次の例は、Azure DevOps Serverのデプロイのために Analysis Services データベースを再構築する方法を示しています。

TfsConfig rebuildWarehouse /analysisServices

    TFSConfig - Team Foundation Server Configuration Tool
    Copyright � Microsoft Corporation. All rights reserved.
    The Analysis Services database was successfully rebuilt.

RegisterDB

registerDB を使用して、Azure DevOps Serverで構成データベースをホストするサーバーの名前を更新します。 このコマンドは構成データベースを新しいハードウェアに復元する場合、または配置のドメインを変更する場合に使用できます。

TfsConfig registerDB /sqlInstance:<serverName> /databaseName:<databaseName>
オプション 説明
SQLInstance 必須。 既定のインスタンス以外のインスタンスを使用する場合は、SQL Serverを実行しているサーバーの名前とインスタンスの名前を指定します。 インスタンスを指定する場合は、 の形式 ServerName\InstanceNameを使用する必要があります。
databaseName 必須。 構成データベースの名前を指定します。 既定の名前は Tfs_Configuration です。

前提条件

registerDB コマンドを使用するには、Azure DevOps のアプリケーション層サーバーの Azure DevOps Administrators グループのメンバー、および Azure DevOps のデータ層サーバーのSQL Serverの sysadmin グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

このコマンドを使用する前に、Azure DevOps Serverのデータベースをバックアップします。

registerDB コマンドを成功させるには、次のアプリケーション プールとプログラムが実行されている必要があります。

  • Azure DevOps Server アプリケーション プール (アプリケーション プール)
  • ReportServer (アプリケーション プール)
  • SQL Server Reporting Services (プログラム)

このコマンドを正しく動作させるには、構成データベースの正確な名前またはアドレスを指定する必要があります。 このデータベースが格納されているサーバーを変更する必要がある場合は、Azure DevOps Serverが新しい場所を指していることを確認する必要があります。

次の例では、SQL Server インスタンス 内のサーバーContosoMainにある構成データベースにAzure DevOps ServerをリダイレクトしますTeamDatabases

TfsConfig registerDB /SQLInstance:ContosoMain\TeamDatabases /databaseName:Tfs_Configuration

RemapDBs

remapDBs コマンドは、Azure DevOps Serverが複数のサーバーに格納されていて、デプロイの構成を復元、移動、またはその他の方法で変更する場合に、そのデータベースにリダイレクトします。 たとえば、プロジェクト コレクションのデータベースが構成データベースとは別のサーバーでホストされている場合は、Azure DevOps Serverを任意のデータベースにリダイレクトする必要があります。 また、Azure DevOps ServerをSQL Server Analysis Services実行しているサーバーにリダイレクトするか、構成データベースとは別のサーバーまたはインスタンスでホストされている場合はSQL Server Reporting Servicesする必要があります。

TfsConfig remapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,ServerName2
	[/AnalysisInstance:<serverName>] [/AnalysisDatabaseName:<databaseName>]
	[/preview] [/continue]
オプション 説明
DatabaseName データベース自体の名前に加えて、Azure DevOps Serverにマップするデータベースをホストするサーバーの名前を指定します。
SQLInstances 既定のインスタンス以外のインスタンスを使用する場合は、インスタンスの名前に加えて、SQL Serverを実行しているサーバーの名前を指定します。

複数のサーバーを指定する場合は、複数のサーバー名とインスタンス名のペアを区切るためにコンマを使用する必要があります。
AnalysisInstance 省略可能。 SQL Server Analysis Servicesをホストするサーバーとインスタンスの名前を指定します。 Analysis Services データベースをホストするサーバーとインスタンスを指定するには、このオプションを使用します。
AnalysisDatabaseName 省略可能。 /AnalysisInstance オプションで指定したサーバー上に複数のデータベースがある場合に、Azure DevOps Serverで使用する Analysis Services データベースの名前を指定します。
preview 省略可能。 構成を更新するために実行する必要があるアクションを表示します。
continue 省略可能。 1 つ以上のデータベースの検索中にエラーが発生した場合でも 、RemapDB コマンドを続行するように指定します。 /continue オプションを使用すると、指定したサーバーまたはサーバーでデータベースが見つからないコレクションは、構成データベースをホストするサーバーとインスタンスを使用するように再構成されます。

前提条件

remapDBs コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーであり、Azure DevOps Serverが使用するすべてのSQL Server データベースの sysadmin セキュリティ グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

注釈

remapDBs コマンドを使用して、元のインストールのサーバーとインスタンスからSQL Serverのさまざまなサーバーとインスタンスを使用するようにAzure DevOps Serverを再構成します。

次の例は、Azure DevOps Serverを構成データベース TFS_Configurationにリダイレクトする方法を示しています。 このデータベースは、名前付きインスタンス TeamDatabasesで ホストされますContosoMain。 そのプロジェクト コレクション データベースは、 と の既定のインスタンスの両方 ContosoMain\TeamDatabasesContoso2格納されます。

TfsConfig remapDBs /DatabaseName:ContosoMain\TeamDatabases;TFS_Configuration
	/SQLInstances:ContosoMain\TeamDatabases,Contoso2

RepairJobQueue

repairJobQueue コマンドを使用して、デプロイ ホストとコレクション ホストの実行が停止したスケジュールされたジョブを修正します。

TfsConfig repairJobQueue

前提条件

repairJobQueue コマンドを使用するには、TfsConfig を実行しているマシンのローカル管理者グループのメンバーである必要があります。 また、Azure DevOps Server デプロイで使用されるすべてのSQL Server インスタンスの sysadmin セキュリティ ロールのメンバーである必要もあります。

注釈

スケジュールされたジョブが実行されていないことに気付いた場合は、通常 repairJobQueue コマンドを使用します。
コマンドは引数を受け取らず、Azure DevOps Serverデプロイを構成する必要があります。

TfsConfig repairJobQueue

設定

settings コマンドを使用すると、通知インターフェイスで使用される、およびAzure DevOps Serverのサーバー アドレスに対して使用される Uniform Resource Locator (URL) の変更を自動化できます。 既定では、通知インターフェイス URL とサーバー URL はAzure DevOps Serverで一致しますが、個別の URL を構成できます。 たとえば、Azure DevOps Server生成される自動電子メールに別の URL を使用できます。 このツールをアプリケーション層から実行してすべてのサーバーを更新し、それらが新しい URL を使用するようにする必要があります。

これらの URL を対話形式で変更したり、現在の設定を表示したりするには、Azure DevOps の管理コンソールを使用します。 「管理タスクのクイック リファレンス」を参照してください

TfsConfig settings [/publicURL:URL]
オプション 説明
publicUrl Azure DevOps のアプリケーション層サーバーの URL を指定します。 この値は、Azure DevOps の構成データベースに格納されます。

前提条件

アプリケーション層サーバーの Azure DevOps Administrators セキュリティ グループと Administrators グループのメンバーである必要があります。 詳細については、「Azure DevOps Serverの管理者権限を設定する」を参照してください。

注釈

settings コマンドは、Azure DevOps Serverのデプロイでのサーバー間通信の接続情報を変更します。 /publicURL で指定された URL は、展開内のすべてのサーバーで使用できる必要があります。

次の例では、NotificationURL の値を に http://contoso.example.com/tfs 、ServerURL の値を に変更します http://contoso.example.com:8080/tfs

TfsConfig settings /publicURL:http://contoso.example.com:8080/tfs

セットアップ

setup コマンドを使用して、コマンドを実行するマシンで現在構成されている機能をアンインストールします。

TfsConfig setup /uninstall:<feature[,feature,...]>

オプション

説明

/uninstall

コマンドを実行するコンピューターからアンインストールする 1 つ以上の機能を指定します。 オプションには、All、ApplicationTier、Search、VersionControlProxy があります。

前提条件

セットアップ コマンドを使用するには、Azure DevOps Administrators セキュリティ グループのメンバーである必要があります。

次の例では、現在のコンピューターからすべてのAzure DevOps Server機能をアンインストールします。

TfsConfig setup /uninstall:All

次の例では、現在のコンピューターからアプリケーション層とビルド機能をアンインストールします。

TfsConfig setup /uninstall:ApplicationTier 

TCM

最新バージョンのAzure DevOps Serverにアップグレードすると、システムはテスト計画やスイートを含むテスト管理コンポーネントのアップグレードを自動的に試みます。

自動移行が失敗した場合は、 TCM コマンドを使用して、テスト 計画とテスト スイートをそれぞれの作業項目の種類 (WIT) に手動でアップグレードします。

TFSConfig TCM /upgradeTestPlans|upgradeStatus /CollectionName:CollectionName /TeamProject:TeamProjectName

オプション

説明

/upgradeTestPlans

/upgradeStatus が使用されていない場合は必須です。

既存のテスト計画とテスト スイートを作業項目ベースのテスト計画とテスト スイートを指すように変換します。 既存のテスト管理データだけでなく、テスト ポイント、テスト実行、テスト結果などのその他の既存のテスト成果物間のリンクも更新します。

/upgradeStatus

/upgradeTestPlans を使用しない場合は必須です。

指定したプロジェクトのテスト データの移行状態を報告します。 指定されたプロジェクトにテスト計画が含まれているかどうかも表示します。

/CollectionName:CollectionName

必須。 テスト データを移行する、または移行状態をチェックするプロジェクトを含むプロジェクト コレクションを指定します。

プロジェクト コレクションの名前にスペースがある場合は、名前を引用符で囲みます (例: "Fabrikam Fiber Collection")。

/TeamProjectName:TeamProjectName

必須。 テスト データを移行するか、移行状態をチェックするプロジェクトを指定します。 このプロジェクトは、 /collectionName パラメーターを使用して指定したコレクションで定義する必要があります。

プロジェクトの名前にスペースがある場合は、名前を引用符 ("My Project" など) で囲みます。

前提条件

あなたは Team Foundation 管理者セキュリティ グループのメンバーで、アプリケーション層サーバーの管理者である必要があります。

Azure DevOps Serverの管理者権限を設定する」を参照してください。

注釈

このコマンドを使用するには、アプリケーション層サーバーを最新バージョンの Azure DevOps Server 2019 にアップグレードする必要があります。

TCM コマンドを使用するには、まず、プロジェクトにテスト計画作業項目定義とテスト計画カテゴリをインポートする必要があります。

移行の詳細と、このコマンドを使用するタイミングについては、「 テスト管理をサポートするための手動更新プログラム」を参照してください。

TCM コマンドは、個々のプロジェクトに適用されます。 複数のプロジェクトでテスト 計画をアップグレードする必要がある場合は、各プロジェクトに対して個別に実行する必要があります。

Azure DevOps Serverのツール ディレクトリから TCM コマンドを実行する必要があります。 既定では、その場所は です drive:\%programfiles%\TFS 12.0\Tools

TCM コマンドは、既存のテスト データの自動移行が失敗した場合にのみ使用します。

移行とこのコマンドを使用するタイミングの詳細については、「 テスト管理をサポートするための手動更新」を参照してください。 サーバーのアップグレードが行われる前に定義されたテスト 計画またはテスト スイートにアクセスできない場合は、 TFSConfig TCM upgradeStatus を実行して移行の状態を確認します。

個々のプロジェクトに対して TCM コマンドを実行します。 複数のプロジェクトをアップグレードする必要がある場合は、各プロジェクトに対して順番に実行する必要があります。

次の例は、既定のプロジェクト コレクション (DefaultCollection) でホストされている Fabrikam Fiber プロジェクトでテスト 計画のアップグレードの状態をチェックする方法を示しています。

tfsconfig tcm /upgradeStatus /CollectionName:DefaultCollection /TeamProject:"Fabrikam Fiber"

Unattend

コマンドの可用性: Azure DevOps Server 2019

無人セットアップ コマンドは、Azure DevOps Serverと構成プロセスに精通し、異なるマシンにAzure DevOps Serverをインストールする必要があるユーザー向けに設計されています。

たとえば、Azure DevOps Build を使用する場合は、 無人セットアップ コマンドを使用して、同じ構成ファイルを使用して複数のビルド サーバーをインストールできます。

無人セットアップ ファイルを作成するには、 /create オプションを使用します。 このファイルは、Azure DevOps Serverインストールのすべての構成パラメーターを定義します。 次に、 /configure オプションを使用して、実際に構成を実行します。

このプロセスを使用すると、インストール プロセス中に入力を提供することなく、Azure DevOps Serverを最初から最後まで構成できます。 複数インストールの場合は、これにより、複数のサーバーに全く同じ構成パラメーターが使用されていることの確認も容易になります。

TfsConfig unattend /create|configure /type:InstallType /unattendfile:ConfigurationFileName 
    [/inputs:Key1=Value1; Key2=Value2;...] [/verify] [/continue]
オプション 説明
create 指定された名前とパラメーターで無人セットアップ ファイルを作成します。
[構成] 指定した無人セットアップ ファイルとパラメーターを使用して、Azure DevOps Serverを構成します。 このオプションでは、/type または /unattendfile を使用する必要があります。
使用する構成の種類を指定します。 /configure を使用する場合は、/type と /unattendfile のどちらかが必須ですが、両方を使用することはできません。
unattendfile 初期パラメーターが /create と /configure のどちらかに応じて、作成または使用する無人セットアップ ファイルを指定します。 /configure を使用する場合は、/unattendfile と /type のどちらかが必須です。
inputs 省略可能。 /create を使用する場合は、無人セットアップ ファイルの作成時に使用する設定と値を指定します。 /configure を使用する場合は、無人セットアップ ファイルと組み合わせて使用する追加の設定と値を指定します。

/inputs を使用する代わりに、任意のプレーンテキスト エディターを使って手動で無人セットアップ ファイルを編集することができます。 これは、ServiceAccountPassword や PersonalAccessToken などの特定の入力の種類に必要です。これらのシークレット値は /inputs パラメーターを使用して設定できないためです。
確認 省略可能。 無人セット ファイル、入力、構成の種類に基づいた検証チェックを実行するのみの構成の実行を指定します。 完全な構成を実行する代わりになるものです。
continue 省略可能。 検証チェックからの警告に関係なく /create または /configure を継続することを指定します。
InstallType 説明
NewServerBasic Azure DevOps Serverに不可欠な開発サービスを構成します。 これには、ソース管理、作業項目、ビルド、および必要に応じてSearchが含まれます。
NewServerAdvanced 重要な開発サービスを構成し、オプションでReporting Servicesとの統合を構成できます。
アップグレード Azure DevOps Serverを、サポートされている以前のリリースから現在のバージョンにアップグレードします。
PreProductionUpgrade 実稼働前環境の既存のAzure DevOps Serverデプロイでアップグレードをテストします。 これは通常、運用バックアップから復元されたデータベースを使用して行われます。 このシナリオには、新しいデプロイが運用環境のデプロイに干渉しないようにするための追加の手順が含まれています。
ApplicationTierOnlyBasic 指定された構成データベースの既存の設定を使用して、新しいアプリケーション層を構成します。 このオプションを使用すると、既存の設定を使用して、新しいアプリケーション層をすばやく起動して実行できます。 既存の設定を変更する場合は、代わりに Advanced ApplicationTierOnlyAdvanced 型を使用します。
ApplicationTierOnlyAdvanced すべての設定を完全に制御して、新しいアプリケーション層を構成します。 設定の既定値は、指定された構成データベースの既存の値です。 既存のすべての設定を保持する場合は、代わりに ApplicationTierOnlyBasic 型を使用します。
複製 既存のデプロイの複製である新しいAzure DevOps Serverデプロイを構成します。 これは通常、運用バックアップから復元されたデータベースを使用して、構成の変更、拡張機能、およびその他の変更をテストできる環境を作成するために行われます。 このシナリオには、新しいデプロイが運用環境のデプロイに干渉しないようにするための追加の手順が含まれています。
プロキシ バージョン管理プロキシ サービスを構成します。

前提条件

  • ソフトウェアをインストールしているコンピューター上の管理者グループのメンバーになる必要があります。

  • インストールの種類によっては、追加の管理者アクセス許可が必要になる場合もあります。

たとえば、unattend コマンドを使用して Azure DevOps Server をインストールする場合は、Azure DevOps ServerをサポートするSQL Serverのインスタンスの sysadmin グループのメンバーである必要があります。 詳細については、「サーバー レベルの管理者をAzure DevOps Serverに追加する」の Q & A セクションを参照してください。

注釈

無人セットアップ コマンドを使用してAzure DevOps Serverを構成するには、デプロイの一部として使用するサービス アカウントを作成する必要があります。 選択したインストールの種類に不可欠なすべてのソフトウェアをインストールする必要もあります。 これには、Azure DevOps Server自体が含まれます。 Azure DevOps Serverをインストールする必要がありますが、無人セットアップ コマンドによって自動的に行われるため、構成する必要はありません。

無人セットアップ コマンドは、Azure DevOps Serverコンポーネントを構成します。 ソフトウェアの初期インストールは実行しません。 コンピューター上に bits がインストールされてから、指定に従ってソフトウェアを構成します。

次の例は、Azure DevOps Serverの基本的なインストール用の無人セットアップ ファイルを作成する方法を示しています。

TfsConfig unattend /create /type:basic /unattendfile:configTFSBasic.ini

この例では、無人セットアップ ファイルがコマンドと同じディレクトリに作成されます。 コマンドの一部としてログ ファイルが作成され、そのファイルの場所がコマンド実行の一部として返されます。

次の例は、構成時に GVFS で使用する Git リポジトリを指定する方法を示しています。

TfsConfig unattend /configure /type:proxy /inputs:ProjectCollectionUrl=http://FabrikamFiberTFS:8080/tfs/defaultcollection;GvfsProjectName=Fabrikam-Fiber-Git;GvfsRepositoryName=TestGit

次の例は、Azure DevOps プロキシ サーバーの構成用の無人セットアップ ファイルを作成する方法を示しています。

重要

この例では、管理者が認証に個人用アクセス トークンを使用する場合は、ファイルを手動で編集して個人用アクセス トークンの値を指定する必要があります。 これは、作成された無人セットアップ ファイルに個人用アクセス トークンの行を追加することで実現できます。 PersonalAccessToken=PersonalAccessTokenValue

TfsConfig unattend /create /type:proxy "/inputs:ProjectCollectionUrl=http://FabrikamFiberTFS:8080/tfs/defaultcollection" /unattendFile:c:\unattend.txt

次の例では、ビルド サービス アカウントとして を使用して Azure DevOps Server Build on a server の構成用の無人セットアップ ファイルを作成し、その無人セットアップ ファイルを使用FabrikamFiber\BuildSVCしてビルドAzure DevOps Server構成する方法を示します。

重要

この例では、無人セットアップ ファイルの作成後に、管理者がビルド サービス アカウントのパスワードを指定するためにファイルを手動で編集します。 を使用して ServiceAccountPassword=Password; パスワードを入力として追加しても、ファイルにパスワード情報は追加されません。

TfsConfig unattend /create /type:build /unattendfile:configTFSBuild.ini
    /inputs:IsServiceAccountBuiltIn=false;ServiceAccountName=FabrikamFiber\\BuildSVCTFSConfig
TfsConfig unattend /configure /unattendfile:configTFSBuild.ini

最初のコマンドは以下を返します。

Microsoft (R) TfsConfig - Team Foundation Server Configuration Tool
Copyright (c) Microsoft Corporation. All rights reserved.

Command: unattend
Logging sent to file C:\ProgramData\Microsoft\Team Foundation\Server Configuration\Logs\TFS_Build Configuration_0512_203133.log

2 番目のコマンドは、Azure DevOps Build が構成 FabrikamFiberTFS されたサーバーの名前と、コントローラー DefaultCollectionに関連付けられているプロジェクト コレクションなど、次の情報を返します。

    Microsoft (R) TfsConfig - Team Foundation Server Configuration Tool
    Copyright (c) Microsoft Corporation. All rights reserved.

    Command: unattend

    ---------------------------------------------
            Inputs:
    ---------------------------------------------

    Feedback
            Send Feedback: True

    Build Resources
            Configuration Type: create
            Agent Count: 1
            New Controller Name: FabrikamFiberTFS - Controller
            Clean Up Resources: False

    Project Collection
            Collection URL: http://FabrikamFiberTFS:8080/tfs/defaultcollection

    Windows Service
            Service Account: FabrikamFiber\BuildSVC
            Service Password: ********

    Advanced Settings *
            Port: 9191

    ---------------------------------------------
            Running Readiness Checks
    ---------------------------------------------

    [1/2] System Verifications
    [2/2] Build Service Verifications

    ---------------------------------------------
            Configuring
    ---------------------------------------------

            root
    [1/4] Install Team Foundation Build Service
            Installing Windows services ...
            Adding service account to groups ...
            Setting ACL on a windows service
    [2/4] Enable Event Logging
            Adding event log sources ...
            Token replace a config file
            RegisterBuildEtwProvider
            Configuring ETW event sources ...
    [3/4] Register with Team Foundation Server
            Registering the build service
    [4/4] Start Team Foundation Build Service
            StartBuildHost
            Starting Windows services ...
            Marking feature configured status
    [Info] [Register with Team Foundation Server] Firewall exception added for port
    9191

    TeamBuild completed successfully.
    Logging sent to file C:\ProgramData\Microsoft\Team Foundation\Server Configuration\Logs\TFS_Build Configuration_0512_203322.log

ZipLogs

ziplogs コマンドは、ログを収集し、 で ProgramData\Microsoft\Azure DevOps\Server Configurationzip をドロップするように設計されています。

TfsConfig zipLogs

TfsConfig zipLogs