Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019
您可以使用 TFSConfig 命令行工具,為您的 Azure DevOps 內部部署執行各種系統管理動作。
您可以從已安裝 Azure DevOps Server 的任何電腦執行 TFSConfig。
命令行工具位置
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 命令的完整清單,請使用 說明 命令:
TFSConfig help
若要取得個別命令的說明,請使用 help 命令,並指定您想要協助的命令名稱。 例如,若要取得 accounts 命令的說明:
TFSConfig help accounts
帳戶
使用 accounts 命令來管理這些 Azure DevOps Server 服務帳戶。
- Azure DevOps Server 服務帳戶
- SQL Server Reporting Services 的數據源帳戶
- Azure DevOps Proxy 伺服器服務帳戶
您也可以使用此命令來變更 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]
行動 | 說明 |
---|---|
更新密碼 | 變更用作服務帳戶的帳號密碼。 變更現有帳戶及所有以指定帳戶身分執行的帳戶類型。 |
改變 | 將用作服務帳戶的帳戶進行更換。 將新帳戶新增至必要的資源和群組、授與必要的許可權,然後設定服務以使用它。 這不會從資源中移除舊的帳戶。 如果您未使用 accountType 選項,將會變更應用層的服務帳戶。 |
新增 | 僅將新帳戶添加到必要的資源中。 適用於 NLB 情境。 如果某些集合無法連線,請使用 continue 標幟。 稍後可以再次執行新增,以更新任何遺漏的集合。 將帳戶新增到必要的群組,以便用作服務帳戶。 |
設定 | 只會將服務設定為使用已新增至資源的帳戶。 適用於 NLB 情境。 |
刪除 | 從所有資源中移除帳戶。 刪除帳戶時應該使用預防措施,因為它可能會導致其他伺服器遭到拒絕服務。 |
ResetOwner | 如果資料庫在移動、複製或災害復原過程中被還原,資料庫擁有者可以轉為成為負責還原伺服器的系統管理員。 此選項會逐一查看所有資料庫,並將 dbo 登入設定為目前的擁有者。 |
帳戶類型 | 說明 |
---|---|
AdminConsole | 管理主控台使用者是已授與各種資源使用主控台之最低許可權的使用者。 |
應用層 | 變更核心 Web 服務之 appPool 上的服務帳戶。 (TFSService) |
代理 | 變更 Proxy Web 服務之 appPool 上的服務帳戶。 (TFSProxy) |
報告資料來源 | 更改報表存取報告資料所使用的帳戶。 (TFSReports) |
預設值為 ApplicationTier。
sqlInstance 和 databaseName 僅適用於在設定應用層之前將帳戶新增至資料庫時使用。 在災害復原案例中,執行 AT 設定精靈前需要另一個帳戶,此功能相當有用。
新增或變更帳戶時,會使用continue選項。 針對這些作業,帳戶會在每個集合資料庫中變更。 如果提供continue,則如果無法連線到集合,則會繼續。 它可以在可連線時再次執行。
備註
帳戶必須是 domainName\userName 格式。 對於系統帳戶,您必須在完整帳戶名稱周圍使用引號(例如,「NT Authority\Network Service」)。 系統帳戶不需要密碼。
參數 | 說明 |
---|---|
帳戶 | 指定要從參考帳戶類型新增、變更或刪除的帳戶名稱,例如 /AccountType:ApplicationTier。 |
密碼 | 指定服務帳戶的密碼。 如果您使用系統帳戶或沒有密碼的帳戶,例如網路服務,這個參數是選擇性的。 |
sqlInstance | 僅搭配 /ResetOwner 使用。 如果您想要使用預設實例以外的實例,指定執行 SQL Server 的伺服器名稱,以及實例的名稱。 您必須以下格式指定名稱與實例: ServerName\InstanceName。 |
資料庫名稱 | 僅搭配 /ResetOwner 使用。 指定您要變更其擁有權的資料庫名稱。 藉由使用此命令,您可以將您所指定的資料庫擁有權重設為執行命令的帳戶。 |
繼續 | 更新在執行命令時無法取得的任何群組。 此選項通常用於 NLB 案例。 |
先決條件
若要使用 accounts 命令,您必須是下列成員:
- Azure DevOps Administrators 安全組
- 您的 Azure DevOps Server 實例所使用的所有 SQL Server 實例的系統管理員角色。
如果您使用 /proxy 選項,您必須是 Proxy 伺服器上的系統管理員。
如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
使用 accounts 命令,將 Azure DevOps Server 的服務帳戶、資料庫和服務帳戶群組的變更自動化。 您可以設定您已建立的帳戶,但無法建立帳戶。
在變更帳戶的網域或工作組之前,帳戶必須在應用層伺服器上設有「帳戶具敏感性且無法委派」的許可權。 如需詳細資訊,請參閱Microsoft網站上的此頁面: 啟用委派驗證。
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_Warehouse
具名實例中ContosoMain
SQL Server上的TeamDatabases
資料庫的擁有權變更為您執行命令的用戶帳戶。
備註
當您使用此命令時,您無法指定要設定為資料庫擁有者的帳戶。 擁有者將會設定為您執行此命令的帳戶。
TfsConfig accounts /ResetOwner /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_Warehouse
新增專案報告
備註
addProjectReports 命令適用於 TFS 2017.1 和更新版本。
您可以使用 addProjectReports 命令來新增或覆寫現有 Team 專案的報表。
TfsConfig addProjectReports /collection:<teamProjectCollectionUrl> /teamProject:<projectName> /template:<templateName>
[/force]
選項 | 說明 |
---|---|
收藏 | 必須的。 團隊專案集區的 URL。 |
團隊專案 | 必須的。 指定團隊專案名稱。 |
範本 | 必須的。 指定進程範本的名稱。 可用的選項包括 Agile、CMMI 和 Scrum。 |
力量 | 選擇性。 指定如果報表已經存在,應該覆寫它。 |
先決條件
若要使用 addProjectReports 命令,您必須具有執行 TFSConfig 的許可權,以及 將報表上傳至 Reporting Service。
備註
當您的項目沒有報表或想要更新針對進程定義的報表時,您可以使用 addProjectReports 命令。
您可能需要在下列情況下使用此指令:
- 專案是在 Azure DevOps 入口網站中建立,而不是從 Visual Studio 建立
- 專案是從 Visual Studio 建立的,但未在 Azure DevOps Server 中設定報告。
如果您想要以預設報表覆寫專案中的報表,因為您已升級 Azure DevOps Server 和專案中的舊報表已不再相容,請使用 /force 選項。 如果您已自定義報表,請在執行此動作之前先進行備份。
若要深入瞭解如何將報表新增至內部部署 Azure DevOps Server,請參閱 將報表新增至專案。
範例
下列範例示範如何將 Agile 報表新增至 MyProject
專案集合中的 http://myTfsServer:8080/tfs/DefaultCollection
專案。
TFSConfig addProjectReports /collection:http://myTfsServer:8080/tfs/DefaultCollection /teamproject:MyProject /template:Agile
認證
[驗證] 命令會變更 Azure DevOps Server 應用層或 Proxy 網站所使用的網络驗證通訊協定。
TFSConfig Authentication [/provider:NTLM|Negotiate] [/viewAll] [/siteType:ApplicationTier|Proxy]
選項
說明
/viewAll
顯示 Azure DevOps Server 目前的驗證設定。
/provider: { NTLM | Negotiate }
指定您要為網站設定的驗證提供者。
- NTLM:使用NTML驗證通訊協定
- 交涉:使用Negotiate (Kerberos) 驗證通訊協定
/siteType
指定您要變更網路驗證通訊協定的網站(應用層或代理伺服器)。 應用層是預設值。
先決條件
若要使用 驗證 命令,您必須是 Azure DevOps Administrators 安全組的成員,以及應用層伺服器或 Proxy 伺服器上的本機系統管理員,視 siteType 選項的值而定。
備註
驗證命令是由想要變更 Azure DevOps Server 所依賴之一或多個網站的網路驗證通訊協議的系統管理員所使用。 系統管理員會從應用層執行此命令,以更新需要變更其網路驗證通訊協議的網站。 此命令會變更 IIS 中繼基底中的 NTAuthenticationProviders 屬性。
使用 驗證 命令來變更驗證通訊協定之前,您可以使用 /viewAll 選項執行 命令,以查看現有設定是什麼。
範例
下列範例會顯示為網路驗證通訊協定指派的目前值。
TFSConfig Authentication /viewAll
證書
使用 certificates 命令來變更憑證在使用 HTTPS、安全套接字層 (SSL) 和憑證的 Azure DevOps Server 部署中設定客戶端驗證的方式。
TfsConfig certificates [/machine] [/disable] [/autoSelect] [/noprompt] [/thumbprints:thumbprint1[,thumbprint2,...]]
選項 | 說明 |
---|---|
機器 | 指定憑證清單會來自本機電腦範疇,而不是目前的用戶範疇。 |
禁用 | 指定將停用客戶端驗證憑證設定。 |
自動選取 | 指定會自動從憑證清單中選取憑證。 [管理客戶端憑證] 視窗將不會開啟。 |
noprompt | 指定 [管理客戶端憑證] 視窗在執行 [憑證] 命令時不會開啟。 |
指紋 | 指定將使用符合指定指紋的憑證。 您可以使用逗號分隔個別指紋來指定多個憑證。 |
先決條件
若要使用 憑證 命令,您必須是 Azure DevOps Administrators 安全組的成員,以及執行命令之電腦上的本機 Administrators 群組成員。 如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
根據預設, certificates 命令會自動從目前使用者的憑證清單中選取客戶端憑證。 然而,您可以使用命令的選項,從目前使用者上下文或本機電腦上下文指定一個或多個特定憑證。
使用 certificates 命令之前,您必須先在 Azure DevOps Server 部署中設定伺服器來利用憑證。 如需詳細資訊,請參閱 為 Azure DevOps Server 設定具有安全套接字層 (SSL) 的 HTTPS。
您可以使用 certificates 命令來設定已設定為使用 HTTPS/SSL 和憑證之 Azure DevOps Server 部署所使用的用戶端憑證。 如果您使用 [憑證] 命令且沒有選項,則會自動從您執行命令的目前使用者內容中選取客戶端憑證。
範例
下列範例示範如何指定具有指紋 aa bb cc dd ee
且沒有提示的本機計算機憑證。
TfsConfig certificates /machine /thumbprint:aa bb cc dd ee /noprompt
下列範例示範如何使用從目前使用者存放區自動選取客戶端憑證來指定 。
TfsConfig certificates /autoselect
變更伺服器ID
changeServerID 命令會變更與 Azure DevOps Server 資料庫相關聯的 GUID。 在 Azure DevOps Server 的部署中,GUID 必須是唯一的。 如果多個資料庫具有相同的 GUID,您的部署可能會變得不穩定或無法使用。 您可以變更組態資料庫的 GUID、部署中所有專案集合資料庫的 GUID 或兩者。
雖然您通常不會在每日作業中使用此命令,但在下列情況下,您可以使用此命令:
您已將部署還原至新的硬體,舊的部署仍可運作,而且您想要同時使用這兩個部署。 此案例有時稱為複製伺服器。
您想要在重複部署上測試軟體更新或硬體設定,以免造成生產環境中斷的風險。
您想要在測試實驗室或個別環境中完整測試資料庫還原至新硬體,以確保可以還原部署。
將集合資料庫移至已保留該 GUID 的另一個部署之後,您必須重設該 GUID。
備註
changeServerID 命令無法復原。 GUID 變更之後,除了還原舊版的資料庫以外,您無法復原該變更。
TfsConfig changeServerID /sqlInstance:<serverName> /databaseName:<configurationDatabaseName>
[/projectCollectionsOnly] [/configDBOnly] [/collectionName]
選項 | 說明 |
---|---|
sqlInstance | 必須的。 如果您想要使用預設實例以外的實例,指定執行 SQL Server 的伺服器名稱,以及實例的名稱。 如果您指定 實例,則必須使用格式: ServerName\InstanceName 。 |
資料庫名稱 | 必須的。 指定 Azure DevOps Server 的組態資料庫名稱。 根據預設,此資料庫的名稱是TFS_ConfigurationDB。 |
projectCollectionsOnly | 指定只有集合的 GUID 會被變更。 |
configDBOnly | 指定只會變更組態資料庫的 GUID。 |
集合名稱 | 指定為特定集合建立新的實例標識碼,而不是針對 Azure DevOps 實例和其他集合建立。 |
先決條件
若要使用 changeServerID 命令,您必須是 Azure DevOps Administrators 安全組的成員,以及 Azure DevOps Server 使用之所有 SQL Server 實例的系統管理員安全性角色成員。 如需詳細資訊,請參閱 Azure DevOps 的許可權參考。
備註
您可以使用 changeServerID 命令來建立 Azure DevOps Server 部署的離散重複專案,以進行測試或複製目的。 使用 changeServerID 命令之後,您必須指示用戶端建立與已變更伺服器的連線,才能使用。
範例
下列範例示範如何在 Azure DevOps Server 的 Contoso1 部署中變更所有資料庫的 GUID,其中組態資料庫裝載於伺服器 ContosoMain
的 SQL Server 具名實例 TeamDatabases
上。
TfsConfig changeServerID /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_ConfigurationDB
程式索引
使用 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>]
選項 | 說明 |
---|---|
索引狀態 | 顯示程式代碼索引服務的狀態和組態。 |
索引設置 |
on:開始編製所有變更集的索引。 off:停止所有變更集的索引。 keepupOnly:停止編製先前建立的變更集的索引,並只開始編製新變更集的索引。 |
忽略列表 | 指定您不想要編制索引的程式碼檔案及其路徑清單。 add:將您不想要編製索引的檔案新增至忽略的檔案清單。 remove:從忽略的檔案清單中移除您要編製索引的檔案。 removeAll:清除忽略的檔案清單,並開始編製所有檔案的索引。 檢視:查看未編製索引的所有檔案。 ServerPath:指定程式代碼檔案的路徑。 您可以在伺服器路徑的開頭、結尾或兩端使用通配符 。 |
列出大型檔案 | 顯示超過 KB 中指定大小的指定檔案數目。 然後,您可以使用 /ignoreList 選項來排除這些檔案的編製索引。 為此,您將需要 Team Foundation Server 2013 與 Update 3。 |
reindexAll | 清除先前編製索引的數據,然後重新啟動索引編製。 |
銷毀代碼索引 | 刪除程式代碼索引,並移除所有已編製索引的數據。 如果您使用 /noPrompt 選項,則不需要確認。 |
臨時資料大小限制 | 控制 CodeLens 處理變更集時所建立的暫存數據量。 默認限制為 6 GB(Update 5 中的 2 GB)。 檢視:顯示目前的大小限制。 SizeInGBs:變更大小限制。 disable:移除大小限制。 在 CodeLens 處理新的變更集之前,會先檢查此限制。 如果暫存數據超過此限制,CodeLens 將會暫停處理過去的變更集,而不是新的變更集。 在清除數據並低於此限制之後,CodeLens 將會重新啟動處理。 清除會每天自動執行一次。 這表示在清除開始執行之前,暫存數據可能會超過此限制。 為此,您將需要 具有 Update 4 的 Team Foundation Server 2013。 |
索引歷史期間 | 控制索引變更歷程的時間長度。 這會影響 CodeLens 顯示的歷程記錄數量。 默認限制為 12 個月。 這表示 CodeLens 只會顯示過去 12 個月的變更歷程記錄。 檢視:顯示目前的月份數。 all:索引所有變更歷程記錄。 NumberOfMonths:變更用來編製索引變更歷程記錄的月數。 為此,您將需要 具有 Update 4 的 Team Foundation Server 2013。 |
集合名稱 | 指定要執行 CodeIndex 命令的專案集合名稱。 如果您沒有使用 /CollectionId,則為必要項。 |
collectionId | 指定要執行 CodeIndex 命令的專案集合識別碼。 如果您未使用 /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"
若要尋找最多 50 個大於 10 KB 的檔案:
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"
集合
您可以使用 集合 命令,從 Azure DevOps Server 的部署附加、中斷連結或刪除專案集合。 您也可以使用 集合 命令來複製現有集合的資料庫、重新命名它,並將它附加至部署。 此過程有時稱作複製集合。
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 的部署。 |
創造 | 建立集合。 |
拆卸 | 必須在未使用 /attach 和 /delete 的情況下。 如果您指定此選項,也必須使用 /collectionName 選項。 如果您使用 /detach 選項,則會停止指定集合的資料庫,而且集合將會從 Azure DevOps Server 的部署中斷連結。 |
刪除 | 若未使用 /detach 或 /attach,則為必須項目。 如果您指定此選項,也必須使用 /collectionName 選項。 如果您使用 /delete 選項,則會停止指定集合的資料庫,而且集合將會從 Azure DevOps Server 永久中斷連結。 您將無法將集合資料庫重新附加至這個或任何其他部署。 |
集合名稱 | 指定專案集合的名稱。 如果集合的名稱包含空格,您必須以引弧括住名稱(例如,「我的集合」)。 如果使用 /detach 或 /delete,需要滿足此條件。 如果您使用此選項搭配 /detach 或 /delete,它會指定將卸離或刪除的集合。 如果您使用此選項搭配 /attach,它會指定集合的新名稱。 如果您使用此選項搭配 /attach 和 /clone,它會指定重複集合的名稱。 |
CollectionDB | 如果使用 /attach ,則為必要項。 這個選項會指定執行 SQL Server 的伺服器名稱,以及裝載在該伺服器上之集合資料庫的名稱。 |
伺服器名稱 | 指定裝載 Azure DevOps Server 組態資料庫的伺服器名稱,如果您想要使用預設實例以外的實例,則指定實例的名稱。 如果您指定 實例,則必須使用格式: ServerName\InstanceName 。 |
資料庫名稱 | 指定組態資料庫的名稱。 根據預設,此資料庫的名稱是TFS_ConfigurationDB。 |
克隆 | 如果您指定此選項,原始集合資料庫將會附加為 SQL Server 中的複製品,而且此資料庫會附加至 Azure DevOps Server。 此選項主要用於分割專案集合的一部分。 |
小提示
/delete 選項不會從 SQL Server 刪除集合資料庫。 從 Azure DevOps Server 刪除收集資料庫之後,您可以從 SQL Server 手動刪除資料庫。
先決條件
若要使用 collections 命令,您必須是 Team Foundation 管理員安全群組及執行 TfsConfig 之電腦上的本機管理員群組的成員。 您也必須是 Azure DevOps Server 資料庫所使用之所有 SQL Server 實例的系統管理員安全性角色成員。 如果您的部署已與 SharePoint 整合,而且您使用的是 /delete 選項,您也必須是您要刪除網站集合之 SharePoint 伺服器陣列的伺服器陣組管理員群組成員。
如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
若要以互動方式管理集合或建立集合,您可以使用 Azure DevOps 管理控制台中的 [專案集合] 節點。 請參閱 管理專案集合。
範例
下列範例示範如何從 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
ColumnStore索引
備註
命令可用性:需要 TFS 2015.2 和更新版本。
您可以使用 columnStoreIndex 命令,為 Azure DevOps Server 部署所使用的資料庫啟用或停用數據行存放區索引。
TfsConfig columnStoreIndex /enabled:<true|false>
/sqlInstance:<serverName>
/databaseName:<databaseName>
選項 | 說明 |
---|---|
已啟用 | 指定您是要為所給定的 SQL 實例和資料庫啟用或停用資料行存放區索引。 |
sqlInstance | 指定裝載啟用或停用資料行存放區索引之資料庫的伺服器名稱,以及使用預設值以外的實例時實例的名稱。 如果您指定 實例,則必須使用格式: ServerName\InstanceName 。 |
資料庫名稱 | 指定啟用或停用資料行存放區索引的資料庫名稱。 |
先決條件
若要使用 columnStoreIndex 命令,您必須是指定 SQL Server 實例之 sysadmin 角色的成員。
備註
如果您要將資料庫從支援的數據行存放區索引移至不支援的數據行存放區索引的 SQL 實例,您通常會使用 columnStoreIndex 命令。 在此情況下,您必須先停用所有數據行存放區索引,才能成功移動資料庫。 同樣地,如果您要將資料庫移回支援資料行存放區索引的 SQL 實例,您可能想要重新啟用資料行存放區索引,以節省空間並提升效能。
範例
下列範例示範如何在名為 TFS_DefaultCollection
的伺服器上、具名為 ContosoMain
的 SQL 實例中,為名為 TeamDatabases
的資料庫啟用列儲存索引。
TfsConfig columnStoreIndex /enabled:true /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection
ConfigureMail
設定執行 Azure DevOps Server 的伺服器,以針對電子郵件警示使用現有的 SMTP 伺服器。
TfsConfig configureMail /Enabled:<true|false> /FromEmailAddress:<emailAddress> /SmtpHost:<SMTPHostName>
選項 | 說明 |
---|---|
寄件者電郵地址 | 指定要從 Azure DevOps Server 傳送電子郵件通知的位址,以取得簽入、指派給您的工作專案或其他通知。 此位址也會檢查是否有效,而且視您的伺服器組態而定,可能必須代表郵件伺服器上的有效電子郵件帳戶。 如果位址不存在或無效,則會使用預設電子郵件位址。 |
SmtpHost | 指定託管郵件伺服器的伺服器名稱。 |
先決條件
若要使用 configureMail 命令,您必須是 Azure DevOps 應用層伺服器上的 Team Foundation Administrators 安全組成員。 如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考
備註
您也可以 使用管理主控台 來設定 Azure DevOps Server 以使用 SMTP 伺服器。
範例
下列範例顯示用來將 從電子郵件地址設定 為 TFS@contoso.com
的語法,並將 SMTP 郵件伺服器設定為 ContosoMailServer
:
TfsConfig configureMail /FromEmailAddress:TFS@contoso.com /SmtpHost:ContosoMailServer
DB壓縮
您可以使用 dbCompression 命令,針對 Azure DevOps Server 部署所使用的資料庫啟用或停用資料庫頁面壓縮。
TfsConfig dbCompression /pageCompression:[enable|disable]
/sqlInstance:<serverName>
/databaseName:<databaseName>
[/rebuildNow [/offline]]
選項 | 說明 |
---|---|
頁面壓縮 | 指定您是否要為指定的 SQL 實例和資料庫啟用或停用頁面壓縮。 |
sqlInstance | 指定裝載啟用或停用頁面壓縮之資料庫的伺服器名稱,以及使用預設值以外的實例時實例的名稱。 如果您指定實體,則必須使用下列格式: ServerName\InstanceName |
資料庫名稱 | 指定啟用或停用頁面壓縮的資料庫名稱。 |
立即重建 | 選擇性。 指定是否應立即重建資料庫索引(並視需要壓縮或解壓縮)。 如果未使用,則每周執行的背景作業會自動重建索引。 |
離線 | 選擇性。 僅搭配 /rebuildNow 使用。 如果未指定 /offline ,則會在在線重建索引。 如果指定 /offline ,索引將會脫機重建。 這會封鎖其他作業,但可能比在線索引重建更快。 |
先決條件
若要使用 dbCompression 命令,您必須是指定之 SQL Server 實例之 sysadmin 角色的成員。
備註
如果您要將支援壓縮的 SQL 實例移至不支援壓縮的 SQL 實例,您通常會使用 dbCompression 命令。 在此情況下,您必須停用壓縮並解壓縮所有索引,才能成功移動資料庫。 同樣地,如果您要將資料庫移回支援壓縮的 SQL 實例,您可能想要重新啟用壓縮,以節省空間。
此命令只會變更 Azure DevOps Server 是否偏好使用資料庫頁面壓縮 ,您的資料庫仍必須裝載於支援壓縮的 SQL 實例中。 如需詳細資訊 ,請參閱 SQL Server 版本支援的功能 。
範例
以下範例說明如何針對 SQL 執行個體(在名為TFS_DefaultCollection
的伺服器上、名為ContosoMain
的命名執行個體中運行)的資料庫TeamDatabases
,立即啟用頁面壓縮,並且在線重新建置索引。
TfsConfig dbCompression /pageCompression:enable /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection /rebuildNow
刪除測試結果
您可以使用 deleteTestResults 命令,從集合存放區中刪除舊的預存測試結果。 這通常是為了減少存放區大小,或減少將測試結果移轉至新架構所花費的時間。
TfsConfig deleteTestResults /ageInDays:<number> /sqlInstance:<serverName> /databaseName:<databaseName>
[/type:[automated|manual|all]]
[/preview]
選項 | 說明 |
---|---|
年齡(天數) | 超過指定天數的測試結果將會被刪除或預覽。 |
sqlInstance | 裝載要刪除或預覽測試結果之資料庫的伺服器名稱,如果使用預設值以外的實例,則為 實例的名稱。 如果您指定 實例,則必須使用格式: ServerName\InstanceName 。 |
資料庫名稱 | 要刪除或預覽測試結果的資料庫名稱。 |
類型 | 選擇性。 要刪除的測試結果類型。 有效值為 自動化、 手動和 全部值。 |
預覽 | 選擇性。 顯示會根據天數刪除的測試結果數目,但不要刪除這些結果。 |
先決條件
若要使用 deleteTestResults 命令,您必須是所指定 SQL Server 實例的系統管理員角色成員。
備註
使用 /preview 參數查看依專案名稱和年份排序的測試結果,而不刪除這些結果。
範例
下列範例示範如何針對在具TFS_DefaultCollection
名實例ContosoMain
上執行之伺服器上執行之 SQL 實例上名為 TeamDatabases
的資料庫,刪除 60 天之前的手動測試結果。
TfsConfig deleteTestResults /ageInDays:60 /sqlInstance:ContosoMain\TeamDatabases /databaseName:TFS_DefaultCollection /type:manual
DeploymentPool
deploymentPool 命令的設計目的是將所有部署群組從一個部署集區移轉至另一個部署集區。
TfsConfig deploymentpool /migrateDeploymentGroups /fromPool:<source pool name> /toPool:<destination pool name>
選項 | 說明 |
---|---|
fromPool | 來源集區名稱。 |
toPool | 目的地池名稱。 |
身份
使用 identities 命令可列出或變更您在 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>]
選項 | 說明 |
---|---|
變更 | 指定您希望變更身分識別,而非列出它們。 |
fromdomain | 使用 /change 時需要。 指定您想要變更之身分識別的原始網域。 如果您要從工作組環境變更,請指定計算機的名稱。 |
todomain | 使用 /change 時需要。 指定您想要變更身分識別的網域。 如果您要變更為工作組環境,請指定電腦的名稱。 |
帳號 | 指定要列出或變更身分識別的帳戶名稱。 |
入帳 | 指定您要變更身分識別的帳戶名稱。 |
SQLInstance | 如果您想要使用預設實例以外的實例,指定執行 SQL Server 的伺服器名稱,以及實例的名稱。 如果您指定 實體,則必須使用下列格式: ServerName\InstanceName |
資料庫名稱 | 指定 Azure DevOps Server 的組態資料庫名稱。 |
先決條件
若要使用 身分識別 命令,您必須是Team Foundation Administrators安全組的成員,以及Team Foundation Server 使用之所有 SQL Server 實例的系統管理員角色成員。 如需詳細資訊,請參閱 設定 Azure DevOps Server的系統管理員許可權。
備註
您可以選擇性地指定要變更身分識別的資料庫,再為部署設定應用層伺服器。 例如,當您複製 Azure DevOps Server 的部署時,您可以指定要變更服務帳戶的資料庫。
當您變更身分識別時,目標帳戶或帳戶必須已存在於 Windows 中。
您必須等候下一次與 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 網域變更為網域中具有相符名稱之帳戶的 ContosoPrime
SID。 只有符合的帳戶名稱才會更新其 SID。 例如,如果帳戶以hholt
、Contoso1\hholt
和ContosoPrime\hholt
的形式存在,帳戶 SID 將會變更為ContosoPrime\hholt
的 SID。
ContosoPrime\hholt
帳戶如果不存在,則不會更新Contoso1\hholt
的SID。
TfsConfig identities /change /fromdomain:Contoso1 /todomain:ContosoPrime
下列範例示範如何將單一使用者帳戶的帳戶Contoso1\hholt
變更為另一個使用者帳戶的帳戶 ContosoPrime\jpeoples
TfsConfig identities /change /fromdomain:Contoso1 /todomain:ContosoPrime /account:hholt /toaccount:jpeoples
下列範例示範如何在將部署網域從 NT AUTHORITY\NETWORK SERVICE
變更為 Contoso1
時,變更用於部署 Azure DevOps Server 的服務帳戶 SIDContosoPrime
。 若要變更網路服務之類的系統帳戶,您必須遵循兩個階段的程式。 您會先將服務帳戶從 NT AUTHORITY\NETWORK SERVICE
變更為新網域 TempSVC
中的網域帳戶,然後將帳戶變更回新網域中伺服器上的 NETWORK SERVICE。 組態資料庫裝載於 SQL Server 中具名 ContosoMain
實例 TeamDatabases
上的伺服器上。
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 命令來建立記錄檔,以提供特定專案集合最新作業活動的詳細數據,或重試一或所有專案集合的作業。
TfsConfig jobs /retry|dumplog [/CollectionName:<collectionName>] [/CollectionId:<id>]
選項 | 說明 |
---|---|
重試 | 若未使用 /dumplog,則為必需。 指定將針對指定的專案集合重新嘗試執行最新的工作。 如果您使用此選項,也必須使用 /CollectionName 或 /CollectionID 選項。 |
dumplog | 如果未使用 /retry ,則為必要。 指定集合的最新作業活動將會傳送至記錄檔。 如果您使用此選項,也必須使用 /CollectionName 或 /CollectionID 選項。 |
集合名稱 | 如果未使用 /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 命令,將離線收集資料庫設為中斷連結的離線集合資料庫。
TfsConfig offlineDetach /configurationDB:<databaseName>
/collectionDB:<databaseName>
選項 | 說明 |
---|---|
設定資料庫 (configurationDB) | 指定要使用之組態資料庫的名稱。 |
collectionDB | 指定要卸離的集合資料庫名稱。 |
先決條件
若要使用 offlineDetach 命令:
- 您必須是指定 SQL Server 實例之系統管理員角色的成員。
- TFSConfig 工具的版本必須符合 Azure DevOps Server 資料庫的版本。
備註
此命令會修改指定之集合資料庫的架構,且絕不應針對 Azure DevOps Server 部署正在使用的資料庫執行。 如果您的資料庫正由 Azure DevOps Server 部署使用,請改用 TfsConfig collection /detach
。
當您需要從備份還原個別集合資料庫,而不還原屬於相同 Azure DevOps Server 部署的其他集合資料庫時,此命令很有用。 先前,這需要將一組完整且一致的資料庫(組態和所有集合)還原至預備環境、配置 Azure DevOps Server 的部署環境,並分離其中一個目標集合。
相反地,您現在可以還原設定資料庫的一致性副本和您所關注的集合資料庫,並執行 offlineDetach 命令。 然後,已卸載的集合資料庫可以附加至適用版本的任何 Azure DevOps Server 部署。
範例
下列範例說明如何將名為TFS_PrimaryCollection
的集合資料庫中斷連結,該操作使用名為TFS_Configuration
的組態資料庫,兩者均在伺服器ContosoTemp
上的名為Backups
的 SQL 實例中執行。
TfsConfig offlineDetach /configurationDB:ContosoTemp\Backups;TFS_Configuration /collectionDB:ContosoTemp\Backups;TFS_PrimaryCollection
代理
您可以使用 Proxy 命令來更新或變更 Azure DevOps Proxy Server 所使用的設定。 Azure DevOps Proxy 伺服器提供分散式小組使用版本控制的支援,方法是管理分散式小組位置中下載的版本控制檔案快取。 藉由設定 Azure DevOps Proxy Server,您可以大幅降低跨廣域連線所需的頻寬。 此外,您不需要管理版本檔案的下載和快取;對於使用檔案的開發人員而言,檔案的管理是透明的。 同時,任何元數據交換和檔案上傳都會繼續出現在 Azure DevOps Server 中。 如果您使用 Azure DevOps Services 在雲端裝載開發專案,您可以使用 Proxy 命令,不僅管理託管集合中專案的快取,還可以管理該服務所使用的一些設定。
如需安裝 Azure DevOps Proxy 伺服器和 Proxy 初始設定的詳細資訊,
請參閱如何安裝 Azure DevOps Proxy 伺服器並設定遠端網站。 如需在用戶端計算機上設定 Proxy 的詳細資訊,請參閱 Azure DevOps 版本控制命令參考。
TfsConfig proxy /add|delete|change [/Collection:<teamProjectCollectionURL> /account:<accountName>]
/Server:<TeamFoundationServerURL> [/inputs:Key1=Value1; Key2=Value2;...] [/continue]
選項 | 說明 |
---|---|
添加 | 將指定的伺服器或集合新增至 Proxy.config 檔案中的 Proxy 清單。 您可以執行 /add 多次以包含更多集合或伺服器。 使用 /add 搭配裝載於 Azure DevOps Services 上的集合時,系統會提示您輸入 Azure DevOps Services 上的認證。 |
變更 | 更改作為 Azure DevOps Services 服務帳戶存儲的認證信息。 /change 選項僅適用於 Azure DevOps Services;它不應該用於 Azure DevOps Server 的本機部署。 |
刪除 | 從 Proxy.config 檔案中的 Proxy 清單中移除指定的伺服器或集合。 |
帳號 | 指定用來作為 Azure DevOps Services 中 Proxy 之服務帳戶的帳戶。 此選項僅適用於 Azure DevOps Services,並且需與 /change 指令選項一起使用。 Azure DevOps Services 所使用的預設服務帳戶是「帳戶服務」。 |
繼續 | 即使驗證程式產生警告,仍會繼續執行命令。 |
集合 | 指定以 AccountName.DomainName/CollectionName 格式表示的 Azure DevOps Services 上所裝載之專案集合的 URL。 |
帳號 | 指定做為 Azure DevOps Services 服務帳戶的帳戶名稱。 如果帳戶名稱有空格,名稱必須以引號 (“” 括住。 帳戶名稱中的所有特殊字元都必須根據命令行語法來指定。 |
帳號 | 指定 Azure DevOps Server 部署的 URL,格式為 ServerURL:Port/tfs 。 |
個人訪問令牌檔案 | 選擇性地指定包含個人存取令牌之檔案的路徑。 註冊代理時,此令牌將被用於驗證集合或帳戶。 (新增於 TFS 2018 Update 1 中) |
輸入 | 選擇性。 指定設定 Proxy 時要使用的其他設定和值。! 例如, GvfsProjectName 和 GvfsRepositoryName 的值可用來設定 Git 存放庫,以便與 Git 虛擬檔案系統(GVFS)搭配使用(在 TFS 2018 Update 1 中新增) |
先決條件
若要使用 Proxy 命令,您必須是 Azure DevOps Administrators 安全組的成員,以及 Proxy 伺服器上的系統管理員。 如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
您可以使用 Proxy 命令來更新 Azure DevOps Server Proxy 的現有組態。 您無法使用 Proxy 命令進行 Proxy 的初始安裝和設定。
範例
下列範例示範如何將名為 FABRIKAM
的 Azure DevOps Server 部署新增至 Proxy 清單。
TfsConfig proxy /add /Server:http://www.fabrikam.com:8080/tfs
下列範例示範如何使用 個人存取令牌 來驗證,將裝載於 Azure DevOps Services 上的專案集合新增至 Proxy 清單。 此令牌只會用來向 Azure DevOps Services 帳戶註冊 Proxy - 預設服務帳戶仍會用來執行 Proxy。 此參數已在 TFS 2018 Update 1 中新增,以支援向 Azure DevOps Services 註冊 Proxy,而不需要登入提示。
TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver
下列範例示範如何將專案集合新增至 Proxy 清單。 此範例會使用個人存取令牌,針對以 /Collection
參數指定的集合進行驗證。 要使用的個人存取令牌會儲存至 位於 c:\PersonalAccessToken.txt
的檔案。
TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver
/PersonalAccessTokenFile:c:\PersonalAccessToken.txt
下列範例示範如何變更 Proxy 針對 Azure DevOps Services 上裝載之專案集合所使用的服務帳戶。 此集合名為 PhoneSaver
,用於 Azure DevOps Services 的帳戶名稱為 HelenaPetersen.fabrikam.com
,而 Proxy 所使用的服務帳戶會變更為 My Proxy Service Account
。 因為帳戶名稱包含空格,因此會使用引弧括住名稱。
TfsConfig proxy /change /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver
/account:"My Proxy Service Account"
下列範例示範如何新增 Git 存放庫以搭配 GVFS 使用。
TfsConfig proxy /add /Collection:https://HelenaPetersen.tfs.visualstudio.com/PhoneSaver /inputs:GvfsProjectName=PhoneSaver;GvfsRepositoryName=AnotherRepository
RebuildWarehouse
您可以使用 rebuildWarehouse 命令來重建 Azure DevOps Server 所使用的 SQL Server Reporting Services 和 SQL Server Analysis Services 資料庫。
TfsConfig rebuildWarehouse /analysisServices | /all [/ReportingDataSourcePassword:Password]
選項 | 說明 |
---|---|
analysisServices | 如果未使用 /all ,則為必須項目。 指定只會重建 Analysis Services 的資料庫。 如果沒有為 Analysis Services 建立資料庫,則您必須使用 /reportingDataSourcePassword 選項。 |
都 | 如果未使用 /analysisServices,則為必要。 指定將重建 Azure DevOps Server 使用的所有報告和分析資料庫。 |
報表資料來源密碼 | 如果TFS_Analysis資料庫不存在,則為必要項。 指定作為 SQL Server Reporting Services (TFSReports) 數據源帳戶的帳戶密碼。 如需詳細資訊,請參閱 Azure DevOps Server 中的服務帳戶和相依性。 |
先決條件
若要使用 rebuildWarehouse 命令,您必須是下列群組的成員:
執行 Azure DevOps 管理控制台的伺服器或伺群上的 Azure DevOps 系統管理員安全群組和系統管理員安全群組
在執行 SQL Server 實例並託管 Azure DevOps Server 資料庫的伺服器或伺服器群組上的 sysadmin 組群
如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
移動或分割專案集合、還原數據,或變更部署的組態時,您可以使用此命令。
若要以互動方式開始重建這些資料庫,您可以使用 Azure DevOps 管理控制台中的 [報告] 節點。 如需詳細資訊,請參閱 開啟 Azure DevOps 管理控制台。
範例
下列範例示範如何重建 Analysis Services 資料庫以部署 Azure DevOps Server。
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 。 |
資料庫名稱 | 必須的。 指定組態資料庫的名稱。 根據預設,這是Tfs_Configuration。 |
先決條件
若要使用 registerDB 命令,您必須是 Azure DevOps 應用層伺服器上的 Azure DevOps Administrators 群組成員,以及 Azure DevOps 數據層伺服器上 SQL Server 中系統管理員群組的成員。 如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
使用此命令之前,請先備份 Azure DevOps Server 的資料庫。
若要讓 registerDB 命令成功,必須執行下列應用程式集區和程式:
- Azure DevOps Server 應用程式集區 (應用程式集區)
- ReportServer (應用程式集區)
- SQL Server Reporting Services (程序)
您必須提供組態資料庫的確切名稱或地址,這個命令才能正確運作。 如果您必須變更儲存此資料庫的伺服器,您必須確定 Azure DevOps Server 指向新位置。
範例
下列範例會將 Azure DevOps Server 重新導向至位於 SQL Server 實例ContosoMain
之伺服器上的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]
選項 | 說明 |
---|---|
資料庫名稱 | 指定承載您要對應 Azure DevOps Server 資料庫的伺服器名稱,以及資料庫本身的名稱。 |
SQLInstances | 如果您想要使用預設實例以外的實例,指定執行 SQL Server 的伺服器名稱,以及實例的名稱。 如果您要指定多個伺服器,則必須使用逗號來分隔多對伺服器和實例名稱。 |
分析實例 | 選擇性。 指定裝載 SQL Server Analysis Services 的伺服器和實例名稱。 使用此選項可指定裝載 Analysis Services 資料庫的伺服器和實例。 |
分析資料庫名稱 | 選擇性。 如果您在使用 /AnalysisInstance 選項指定的伺服器上有多個這類資料庫,請指定您想要與 Azure DevOps Server 搭配使用的 Analysis Services 資料庫名稱。 |
預覽 | 選擇性。 顯示更新組態時必須採取的動作。 |
繼續 | 選擇性。 指定即使嘗試尋找一或多個資料庫期間發生錯誤, RemapDB 命令仍應該繼續。 如果您使用 /continue 選項,若在您指定的伺服器上找不到某集合的資料庫,這些集合將會被重新設定為使用裝載組態資料庫的伺服器和實例。 |
先決條件
若要使用 remapDBs 命令,您必須是 Azure DevOps Administrators 安全組的成員,以及 Azure DevOps Server 所使用的任何 SQL Server 資料庫系統管理員安全組的成員。 如需詳細資訊,請參閱 Azure DevOps Server 的許可權參考。
備註
您可以使用 remapDBs 命令,將 Azure DevOps Server 重新設定為使用不同的伺服器和 SQL Server 實例,而非原始安裝中的伺服器和實例。
範例
下列範例示範如何將 Azure DevOps Server 重新導向至其組態資料庫 TFS_Configuration
。
這個資料庫託管於具名實例 ContosoMain
的 TeamDatabases
上。
其專案集合資料庫會同時儲存在 上 ContosoMain\TeamDatabases
,而默認實例則儲存在 上 Contoso2
。
TfsConfig remapDBs /DatabaseName:ContosoMain\TeamDatabases;TFS_Configuration
/SQLInstances:ContosoMain\TeamDatabases,Contoso2
RepairJobQueue(維修工作佇列)
您可以使用 repairJobQueue 命令來修正已停止執行部署和收集主機的排程工作。
TfsConfig repairJobQueue
先決條件
若要使用 repairJobQueue 命令,您必須是執行 TfsConfig 之電腦上本機系統管理員群組的成員。 對於 Azure DevOps Server 部署所使用的所有 SQL Server 實例,您也必須是系統管理員安全性角色的成員。
備註
如果您注意到任何排程的工作未執行,您通常會使用 repairJobQueue 命令。
此命令不會採用任何自變數,而且需要設定 Azure DevOps Server 部署。
範例
TfsConfig repairJobQueue
設定
您可以使用 settings 命令來自動化變更通知介面所使用的統一資源定位器(URL)以及 Azure DevOps Server 的伺服器位址。 根據預設,通知介面 URL 和 Azure DevOps Server 中的伺服器 URL 相符,但您可以設定個別的 URL。 例如,您可能想要針對 Azure DevOps Server 產生的自動電子郵件使用不同的 URL。 您必須從應用層執行此工具,以更新所有伺服器,使其使用新的URL。
若要以互動方式變更這些 URL,或只檢視目前的設定,您可以使用 Azure DevOps 的管理控制台。 請參閱 系統管理工作快速參考指南。
TfsConfig settings [/publicURL:URL]
選項 | 說明 |
---|---|
公共網址 | 指定 Azure DevOps 應用層伺服器的 URL。 此值會儲存在 Azure DevOps 的組態資料庫中。 |
先決條件
您必須是 Azure DevOps Administrators 安全組的成員,以及應用層伺服器上的 Administrators 群組。 如需詳細資訊,請參閱 設定 Azure DevOps Server的系統管理員許可權。
備註
設定命令會變更 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
設定
您可以使用 安裝程式 命令來卸載目前在您執行命令的電腦上設定的功能。
TfsConfig setup /uninstall:<feature[,feature,...]>
選項
說明
/uninstall
指定要從您執行命令的電腦卸載的一或多個功能。 選項包括:All、ApplicationTier、Search 和 VersionControlProxy。
先決條件
若要使用 安裝程式 命令,您必須是 Azure DevOps Administrators 安全組的成員。
範例
下列範例會卸載目前計算機中的所有 Azure DevOps Server 功能。
TfsConfig setup /uninstall:All
下列範例會從目前的電腦卸載應用層和建置功能。
TfsConfig setup /uninstall:ApplicationTier
中醫
升級至最新版的 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 Administrators 安全組的成員,以及應用層伺服器上的系統管理員。
請參閱 設定 Azure DevOps Server 的系統管理員許可權。
備註
您的應用程式層伺服器必須升級至最新版的 Azure DevOps Server 2019,才能使用此命令。
您必須先將測試計劃工作專案定義和測試計劃類別匯入專案,才能使用 TCM 命令。
若要深入瞭解移轉,以及使用此命令的時機,請參閱 手動更新以支持測試管理。
TCM 命令會套用至個別專案。 如果您需要升級多個專案中的測試計劃,您必須個別對每個專案執行測試計劃。
您必須從 Azure DevOps Server 的工具目錄執行 TCM 命令。 根據預設,該位置為: drive:\%programfiles%\TFS 12.0\Tools
。
只有在自動移轉現有測試數據失敗時,才使用 TCM 命令。
若要深入瞭解移轉,以及何時使用此命令, 請手動更新以支持測試管理。 如果您無法存取伺服器升級之前定義的測試計劃或測試套件,請執行 TFSConfig TCM upgradeStatus 來判斷移轉的狀態。
您可以針對個別專案執行 TCM 命令。 如果您需要升級多個專案,則必須針對每個項目執行它。
範例
下列範例示範如何在默認專案集合上裝載的 Fabrikam Fiber 專案上檢查測試計劃升級的狀態(DefaultCollection):
tfsconfig tcm /upgradeStatus /CollectionName:DefaultCollection /TeamProject:"Fabrikam Fiber"
免監控安裝
命令可用性: Azure DevOps Server 2019
unattend 命令專為熟悉 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]
選項 | 說明 |
---|---|
創造 | 建立具有您指定名稱和參數的無互動設定檔案。 |
設定 | 設定 Azure DevOps Server 使用您指定的無人參與設定檔和參數。 您必須使用 /type 或 /unattendfile 搭配此選項。 |
類型 | 指定要使用的組態類型。 當您使用 /configure 時,需要 /type 或 /unattendfile,但不能同時使用兩者。 |
無人值守檔案 | 指定要建立或使用的無人值守檔案,這取決於初始參數是 /create 或 /configure。 當您使用 /configure 時,必須指定 /unattendfile 或 /type 之一。 |
輸入 | 選擇性。 使用 /create 時,請指定建立 Unattend 檔案所需的設定和值。 如使用 /configure 指定其他設定和值,這些將與無人參與安裝檔案一起使用。 除了使用 /inputs,您也可以在任何純文字編輯器中手動編輯 Unattend 文件。 這是特定輸入類型的必要專案,例如 ServiceAccountPassword 或 PersonalAccessToken,因為這些秘密值無法使用 /inputs 參數來設定。 |
驗證 | 選擇性。 指定一個配置運行,此運行僅根據無人參加檔案、輸入和配置類型完成驗證檢查。 這是執行完整設定的替代方案。 |
繼續 | 選擇性。 指定不論驗證檢查的警告為何,/create 或 /configure 都應該繼續。 |
安裝類型 | 說明 |
---|---|
NewServerBasic | 設定 Azure DevOps Server 的基本開發服務。 這包括原始檔控制、工作專案、組建,以及選擇性地搜尋。 |
NewServerAdvanced | 設定基本的開發服務,並允許選擇性設定與 Reporting Services 整合。 |
升級 | 將 Azure DevOps Server 從支援的舊版升級至目前的版本。 |
PreProductionUpgrade | 在生產階段前環境中,在現有的 Azure DevOps Server 部署上測試升級。 這通常是使用從生產備份還原的資料庫來完成。 此案例包含額外的步驟,以確保新的部署不會干擾生產部署。 |
ApplicationTierOnlyBasic | 使用所提供組態資料庫中的現有設定來設定新的應用層。 此選項可讓您使用現有的設定快速啟動並執行新的應用層。 如果您想要變更現有設定的能力,請改用 Advanced ApplicationTierOnlyAdvanced 類型。 |
僅限應用層高級版 | 設定具有所有設定的完整控制權的新應用層。 設定會預設為所提供組態資料庫中的現有值。 如果您想要保留所有現有的設定,請改用 ApplicationTierOnlyBasic 類型。 |
克隆 | 設定新的 Azure DevOps Server 部署,這是現有部署的複製品。 這通常是使用從生產備份還原的資料庫來建立環境,其中可以測試組態變更、延伸模組和其他修改。 此案例包含額外的步驟,以確保新的部署不會干擾生產部署。 |
代理 | 設定版本控制 Proxy 服務。 |
先決條件
您必須是安裝軟體之電腦上的 Administrators 群組成員。
視安裝類型而定,您可能也需要額外的系統管理員許可權。
例如,如果您使用 unattend 命令來安裝 Azure DevOps Server,則必須是支援 Azure DevOps Server 之 SQL Server 實例的系統管理員群組成員。 如需詳細資訊,請參閱 將伺服器層級系統管理員新增至 Azure DevOps Server 的問答一節。
備註
您必須先建立作為部署一部分的服務帳戶,才能使用unattend 命令來設定 Azure DevOps Server。 您也必須為所選安裝類型安裝任何必要軟體。 這包括 Azure DevOps Server 本身。 您必須安裝 Azure DevOps Server,但不需要進行設定,因為 無人參與 命令會為您執行此動作。
無人參與命令會設定 Azure DevOps Server 元件。 它不會執行軟體的初始安裝。 它會在電腦中安裝好位元後,按照您的需求來設定軟體。
範例
下列範例示範如何為 Azure DevOps Server 的基礎安裝建立無人參與安裝檔案。
TfsConfig unattend /create /type:basic /unattendfile:configTFSBasic.ini
在此範例中,自動應答檔案會建立在與命令相同的目錄中。 記錄檔會建立為命令的一部分,並在命令中傳回檔案的位置,做為執行命令的一部分。
下列範例示範如何指定 Git 存放庫,以在設定期間與 GVFS 搭配使用。
TfsConfig unattend /configure /type:proxy /inputs:ProjectCollectionUrl=http://FabrikamFiberTFS:8080/tfs/defaultcollection;GvfsProjectName=Fabrikam-Fiber-Git;GvfsRepositoryName=TestGit
下列範例示範如何為 Azure DevOps Proxy 伺服器的設定組態建立無人值守檔案。
這很重要
在此範例中,如果系統管理員想要使用個人存取令牌進行驗證,則必須手動編輯檔案以指定個人存取令牌值。 這可以藉由在建立的無人參與設定檔案中新增個人存取權杖的一行來實現,例如:PersonalAccessToken=PersonalAccessTokenValue
。
TfsConfig unattend /create /type:proxy "/inputs:ProjectCollectionUrl=http://FabrikamFiberTFS:8080/tfs/defaultcollection" /unattendFile:c:\unattend.txt
下列範例示範如何使用 FabrikamFiber\BuildSVC
作為建置服務帳戶,在伺服器上建立 Azure DevOps Server Build 的無人值守檔案,然後使用該檔案設定 Azure DevOps Server Build。
這很重要
在此範例中,建立無人值守檔案之後,系統管理員會手動編輯檔案,以指定建置服務帳戶的密碼。 使用 ServiceAccountPassword=PasswordPlaceholder;
將密碼新增為輸入,並不會將密碼資訊新增至檔案。
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
第二個命令會傳回下列資訊,包括已設定 FabrikamFiberTFS
Azure DevOps Build 的伺服器名稱,以及與控制器 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 Configuration
生成一個 zip 文件。
TfsConfig zipLogs
TfsConfig zipLogs