Wechseln von einer Umgebung in eine andere für Azure DevOps lokalen Umgebung

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Hinweis

Azure DevOps Server wurde zuvor als Visual Studio Team Foundation Server bezeichnet.

Das häufigste umgebungsbasierte Verschieben ist das Ändern der Domäne der Azure DevOps Server-Bereitstellung, unabhängig davon, ob es sich um eine Domänennamenänderung handelt oder von einer Arbeitsgruppe in eine Domäne geht.

Wichtig

In einigen Situationen möchten Sie möglicherweise die Domäne einer Azure DevOps Server bereitstellung sowie deren Hardware ändern. Eine Änderung der Hardware ist eine wiederherstellungsbasierte Verschiebung, und beide Verschiebungstypen dürfen niemals kombiniert werden. Schließen Sie zunächst das Verschieben der Hardware ab,und ändern Sie dann die Umgebung.

Darüber hinaus ist das Ändern Azure DevOps Server Identitäten im Rahmen eines Umgebungswechsels der Aspekt, der am häufigsten Konflikte oder Probleme verursacht. Der Identities-Befehl ist ein leistungsstarkes Tool, hat jedoch bestimmte Einschränkungen. Lesen Sie die entsprechenden Informationen im Rahmen der Planung Ihrer Verschiebung. Um eine erfolgreiche Verschiebung sicherzustellen, beachten Sie die folgenden Anforderungen:

  • Sobald ein Benutzerkonto in der Azure DevOps Server ist, kann es nicht entfernt oder einem anderen Konto zugeordnet werden. Wenn Sie beispielsweise DomainA/UserA in DomainB/UserB verschieben, funktioniert der Identities-Befehl nur, um den Benutzer zu migrieren, wenn DomainB/UserB noch nicht in der Azure DevOps Server.
  • Da die Mitglieder der lokalen Administratorgruppe automatisch zu Azure DevOps Server hinzugefügt werden, entfernen Sie alle Konten, die Aus dieser Gruppe migriert werden sollen, bevor Sie die Domäne oder Umgebung ändern.

Weitere Hintergrundinformationen finden Sie hier, um eine ausführliche Beschreibung der Funktionsweise von Identitätsänderungen in Azure DevOps Server, einschließlich der Einschränkungen des Tools, zu erhalten.

In den folgenden Abschnitten werden die Schritte zum Ändern der Umgebung Ihrer Azure DevOps Server beschrieben:

  1. Überprüfen von Berechtigungen und Konten
  2. Beenden Azure DevOps Server Diensten
  3. Sichern von Daten
  4. Beitreten Azure DevOps Server in die neue Domäne
  5. Konfigurieren von SharePoint-Produkten für die neue Umgebung
  6. Verschieben Azure DevOps Server Benutzer- und Dienstkonten
  7. Konfigurieren der Berichterstellung und Analysis Services
  8. Neustarten Azure DevOps Server Diensten

Überprüfen von Berechtigungen und Konten

Um die Umgebung für Azure DevOps Server erfolgreich zu ändern, müssen Sie Administrator auf dem lokalen Computer sowie für Azure DevOps Server und die ganze Software sein, von der Ihre Bereitstellung abhängt: SQL Server, Berichterstellung, SharePoint-Produkte (wenn Ihre Bereitstellung Berichterstellung oder SharePoint verwendet) und jede andere Software, mit der Ihre Bereitstellung zusammenarbeitet, z. B. Project Server. Allerdings werden alle Mitglieder der lokalen Administratorgruppe automatisch in die Azure DevOps Server, was beim Versuch, Konten zu migrieren, Probleme verursachen kann. Daher sollten Sie ein Konto verwenden, das im Rahmen der umgebungsbasierten Verschiebung nicht migriert werden soll. Es ist empfehlenswert, ein spezielles administratives Konto nur für die Verschiebung hinzuzufügen, und dieses Konto für die Migration zu verwenden.

So überprüfen Sie, ob Sie Berechtigungen auf Administratorebene haben

  • Stellen Sie sicher, dass das Konto, das Sie verwenden, Mitglied der folgenden Gruppen ist:
    • Server: Administratoren (lokale Administratorengruppe oder entsprechend)
    • Azure DevOps Server: Team Foundation-Administratoren und Administratorkonsolenbenutzer
    • SQL Server: sysadmin
    • SharePoint Produkte: Farmadministratoren (wenn ihre Azure DevOps Server-Bereitstellung in SharePoint Products integriert ist)

Wenn Sie nicht Mitglied einer oder mehrere dieser Gruppen sind, erhalten Sie jetzt Berechtigungen.

Nachdem Sie nun ein Konto mit allen erforderlichen Berechtigungen verwenden, überprüfen Sie die Konten, um festzustellen, ob es möglicherweise Konflikte mit Namen oder Gruppen in der Umgebung für die Verschiebung gibt. Da Konten, die Mitglied der lokalen Administratorgruppe sind, nicht migriert werden können, werden diese als erste entfernt.

Entfernen von zu migrierenden Konten aus der lokalen Administratorgruppe

  • Öffnen Sie die lokale Administratorgruppe und entfernen Sie alle Konten, die Sie zur neuen Umgebung migrieren möchten. Wiederholen Sie diesen Schritt für alle weiteren Gruppen, die möglicherweise betroffen sind.

Überprüfen Sie nun die Liste der Identitäten in der aktuellen Azure DevOps Server-Umgebung, und suchen Sie nach potenziellen Problemen mit Gruppen oder einzelnen Benutzerkonten, die möglicherweise in der neuen Umgebung vorhanden sind.

Tipp

Erstellen Sie ggf. eine Tabelle oder Migrationszuordnung der Identitäten, die im Rahmen der umgebungsbasierten Verschiebung migriert werden sollen. Dazu gehören Details, welche Konten möglicherweise nicht automatisch migriert werden können.

Überprüfen von Identitäten

  1. Öffnen Sie auf dem Anwendungsschichtserver für Azure DevOps ein Eingabeaufforderungsfenster mit Administratorberechtigungen, navigieren Sie zu %ProgramFiles%\ Microsoft Visual Studio 12.0 Team Foundation Server \ Tools, und führen Sie den folgenden Befehl aus, um die identitäten anzuzeigen, die sich derzeit im System befindet:

    TFSConfig Identities
    
  2. Es wird eine Liste mit Identitäten angezeigt. Überprüfen Sie diese Benutzer und Gruppen, um sicherzustellen, dass es keine potenziellen Duplikate oder Probleme mit Identitäten in der Umgebung gibt, in die Sie Azure DevOps Server verschieben, und ergreifen Sie Maßnahmen, um mögliche Konflikte zu beheben.

Beenden von Diensten

Indem Sie die Dienste beenden, helfen Sie sicherzustellen, dass Benutzer keine Änderungen an Arbeitsaufgaben in der ursprünglichen Bereitstellung vornehmen oder dort Quellcode einchecken, nachdem die Bereitstellung verschoben wurde.

  1. Öffnen Sie auf dem Computer auf Anwendungsebene ein Eingabeaufforderungsfenster, und ändern Sie die Verzeichnisse in Laufwerk: \ %programfiles% \ TFS 12.0 \ Tools.

  2. Geben Sie den folgenden TFSServiceControl-Befehl ein:

    TFSServiceControl in den Ruhemodus

Sichern der Datenbanken und des Verschlüsselungsschlüssels für SQL Server Reporting Services

  1. Öffnen Sie die Verwaltungskonsole für Azure DevOps Server und erstellen Sie auf der Seite Geplante Sicherungen eine vollständige Sicherung. Die Sicherung sichert alles, was Sie im Sicherungsplan zur Sicherung konfiguriert haben, jedoch sofort, nicht erst zu dem Zeitpunkt, der im Plan angegeben ist. Wenn die Bereitstellung Berichterstellung verwendet, können Sie den Verschlüsselungsschlüssel als Teil dieses Sicherungssatzes speichern.

    Das Fenster kann geschlossen werden, während der Auftrag abgeschlossen wird

    (Wenn Sie keine Sicherungen konfiguriert haben, müssen Sie einen Plan erstellen, bevor Sie eine vollständige Sicherung erstellen können.)

  2. Wenn die Sicherung abgeschlossen ist, überprüfen Sie, ob die Sicherung auf dem Datenträger oder der Netzwerkfreigabe verfügbar ist und ob Sie von der neuen Hardware auf diese Sicherung zugreifen können.

Hinzufügen des Anwendungsschichtservers zur neuen Domäne

  1. Öffnen Sie auf jedem Server die Eigenschaften für den Computer.

  2. Ändern Sie die Einstellungen für den Computer auf die Domäne oder Arbeitsgruppe, mit der Sie den Server verbinden möchten.

    Geben Sie die entsprechenden Anmeldeinformationen ein, wenn Sie aufgefordert werden, den Benutzernamen und das Kennwort eines Kontos einzugeben, das über Berechtigungen zum Hinzufügen dieses Computers zur Domäne verfügt.

  3. Starten Sie den Computer neu, damit die Änderung der Domäne wirksam wird.

    Hinweis

    Nachdem Sie den Computer neu gestartet haben, wird möglicherweise eine Warnung angezeigt, dass Dienste oder Treiber nicht gestartet werden konnten. Fahren Sie mit der nächsten Prozedur fort.

Konfigurieren von SharePoint-Produkten für die neue Umgebung

Wenn Sie die Umgebung in eine Umgebung ändern, in der keine Vertrauensstellung mit Ihrer vorherigen Umgebung besteht, müssen Sie möglicherweise SharePoint Products konfigurieren, bevor sie ordnungsgemäß funktioniert. Informationen zu Benutzern, die von Verzeichnisdiensten importiert wurden, stehen auf SharePoint-Websites im Personenauswahl-Websteuerelement zur Verfügung. Websiteadministratoren und andere Benutzer verwenden die Personenauswahl, um Personen und Gruppen beim Zuweisen von Berechtigungen auszuwählen. Wenn sich Informationen in mehreren Gesamtstrukturen oder in einer Gesamtstruktur ohne Vertrauensstellung für alle Benutzer befinden, müssen Sie möglicherweise zusätzliche Schritte ausführen, um sicherzustellen, dass alle Personen und Gruppen in diesem Websteuerelement verfügbar sind.

Überspringen Sie dieses Verfahren, wenn Sie SharePoint Products in Ihrer Bereitstellung nicht verwenden, wenn Sie eine neue Umgebung sind, die eine zweigeerlei Vertrauensstellung zur alten Umgebung hat, oder wenn keine Fehler für Ihre SharePoint-Webanwendung in der Verwaltungskonsole für Azure DevOps.

  1. Öffnen Sie auf jedem Server, der Teil der SharePoint-Farm ist, die Ihre Bereitstellung von Azure DevOps Server unterstützt, ein Eingabeaufforderungsfenster mit Administratorberechtigungen, und ändern Sie verzeichnisse in %programfiles% \ Common Files Microsoft Shared Web Server Extensions \ \ \ 15 \ BIN.

  2. Geben Sie den folgenden Befehl ein, wobei Schlüssel der Verschlüsselungsschlüssel ist, den Sie in Ihrer Bereitstellung von SharePoint verwenden möchten:

    stsadm.exe -o setapppassword -password Key

    Hinweis

    Dieser Schlüssel ist eine Verschlüsselungszeichenfolge, die zum Verschlüsseln des Kennworts für das zum Zugreifen auf die Gesamtstruktur oder Domäne verwendete Konto verwendet wird. Die Verschlüsselungszeichenfolge muss für jeden Server in der Farm gleich sein, es sollte aber eine eindeutige Zeichenfolge für jede Farm verwendet werden.

  3. Geben Sie den folgenden Befehl ein, wobei domain:DNSName die Zielgestruktur oder -domäne und ihr DNS-Name, benutzer,password der Benutzername und das Kennwort für ein Konto ist, das Zugriff auf die Zielgestruktur oder -domäne hat, und WebApp der Name der Webanwendung ist, die Ihre Bereitstellung von Azure DevOps Server unterstützt:

    stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv domain:DnsName,user,password -url http://WebApp

  4. Geben Sie den folgenden Befehl ein, wobei URL die URL für eine Websitesammlung ist, die eine Projektsammlung unterstützt, Port die Portnummer ist, die dieser Websitesammlung zugewiesen ist, und UserName der Benutzername des Kontos ist, das als Besitzer für diese Websitesammlung fungieren soll:

    stsadm.exe -o siteowner -url http:// URL: Port -ownerlogin UserName

  5. Wiederholen Sie den vorherigen Schritt für jede Websitesammlung, die ihre Bereitstellung Azure DevOps Server verwendet.

Verschieben von Benutzerkonten und Dienstkonten

Wie zu Beginn dieses Artikels erwähnt, treten beim Verschieben von Konten am häufigsten Probleme auf, insbesondere wenn Sie die Benutzermigration nicht sorgfältig geplant haben. Der Befehl TFSConfig Identities kann kein Konto zu einem Konto migrieren, das bereits in der Azure DevOps Server.

Wenn Kontonamen in beiden Domänen identisch sind und der einzige Unterschied der Domänenname ist, können Sie den Batchmodus von TFSConfig-Identitäten verwenden, um alle Identitäten sofort zu ändern. Andernfalls müssen Sie die Identitäten einzeln ändern und einen anderen Zielkontonamen angeben, wie unten beschrieben.

  1. Öffnen Sie auf dem Anwendungsschichtserver für Azure DevOps ein Eingabeaufforderungsfenster mit Administratorberechtigungen, navigieren Sie zu %ProgramFiles%\ Microsoft Visual Studio 12.0 Team Foundation Server \ Tools, und führen Sie den folgenden Befehl aus, um die Dienst-IDs (SIDs) für das Dienstkonto in die neue Domäne zu ändern:

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    Warnung

    Wenn das Dienstkonto ein Systemkonto wie "Netzwerkdienst" war, können Sie das Dienstkonto nicht direkt migrieren, da ein Systemkonto mit demselben Namen in der neuen Umgebung vorhanden ist. Sie müssen eine Prozessänderung in zwei Stufen ausführen. Weitere Informationen finden Sie im Beispiel unter Identities Command ( Identitätenbefehl).

  2. Um alle Konten zu migrieren, die den gleichen Namen in der neuen Umgebung haben, geben Sie den folgenden Befehl ein:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    Damit werden die Konten in einem Batchprozess verarbeitet.

  3. Wenn Ihre neue Domäne eine oder mehrere Identitäten enthält, bei denen sich der Name zwischen Umgebungen ändert, müssen Sie die SIDs für jede dieser Identitäten manuell aktualisieren. Wenn z. B. in der vorherigen Umgebung Fabrikam CChurch das Benutzerkonto von Zuvor war, aber in der neuen Umgebung \ NewFabrikamIgeneC ist, müssten Sie ihre SID manuell \ aktualisieren. Geben Sie für jedes Konto mit dieser Anforderung den folgenden Befehl ein:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. Führen Sie nun den folgenden Befehl aus, um das Dienstkonto zu aktualisieren:

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. Wenn die Bereitstellung Berichterstellung verwendet, führen Sie den folgenden Befehl aus, um das Datenquellenkonto aktualisieren, das zur Berichterstellung verwendet wird:

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. Wenn für Ihre Bereitstellung Azure DevOps Proxyserver verwendet wird, führen Sie den folgenden Befehl aus, um das für den Proxy verwendete Dienstkonto zu aktualisieren:

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    Hinweis

    Wenn Sie in eine nicht vertrauenswürdige Domäne verschieben, müssen Sie möglicherweise auch Manuell Benutzer und Gruppen zu Teams, Projekten, Sammlungen und Azure DevOps Server hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Benutzern zu Projekten, Festlegen von Administratorberechtigungenfür Projektsammlungen und Festlegen von Administratorberechtigungen für Azure DevOps Server.

  7. Wenn die Bereitstellung in Project Server integriert ist, müssen Sie ggf. zusätzliche Schritte ausführen, um die Dienstkonten mit den erforderlichen Berechtigungen für den Betrieb zu konfigurieren. Weitere Informationen finden Sie unter Zuweisen von Berechtigungen zur Unterstützung TFS-Project Serverintegration und ConfigureTFS-Project Server-Integration.

Konfigurieren von Reporting und Analysis Services

Sie können diesen Vorgang überspringen, wenn Sie die Berichterstellung nicht als Teil der Bereitstellung verwenden.

Wenn Sie einen Berichtsserver im Rahmen dieser Art von Verschieben umbenannt haben, müssen Sie Azure DevOps Server an den Berichtsserver an seinem neuen Speicherort umleiten. Sie müssen auch das Warehouse neu starten und die Datenbank für Analysis Services neu manuell erstellen.

  1. Öffnen Sie die Verwaltungskonsole für Azure DevOps, wechseln Sie zum Knoten Berichterstellung, und bearbeiten Sie die Einstellungen.

    Berichte zeigen weiterhin auf den alten Server

  2. Ändern Sie die Werte auf allen drei Registerkarten so, dass sie den neuen Namen des Servers enthalten. Geben Sie unbedingt die korrekten Informationen für das Datenquellenkonto in der neuen Umgebung an.

    Vergewissern Sie sich, dass die Informationen auf allen 3 Registerkarten richtig sind

  3. Wählen Sie Aufträge starten aus, um die Berichterstellung neu zu starten.

  4. Wählen Sie Neu erstellen starten aus, um das Warehouse neu zu erstellen.

Konfigurieren von Sicherungen

Wenn der Netzwerkfreigabename oder der Datenträger sich mit der Domänennamenänderung geändert hat, müssen Sie die geplanten Sicherungen aktualisieren, damit auf diese umbenannten Ressourcen verwiesen wird.

  • Wechseln Sie in der Verwaltungskonsole zum Knoten Geplante Sicherungen, und konfigurieren Sie die geplanten Sicherungen neu, um die Azure DevOps Server auf dem neuen Server zu sichern. Weitere Informationen finden Sie unter Erstellen eines Sicherungszeitplans und -plans.

Neustarten von Diensten

Nachdem Sie nun alle Azure DevOps Server für die neue Umgebung aktualisiert haben, starten Sie die Dienste neu.

  1. Öffnen Sie Azure DevOps Server-Computer auf Anwendungsebene ein Eingabeaufforderungsfenster mit Administratorberechtigungen, und ändern Sie die Verzeichnisse in Laufwerk: \ %programfiles% \ TFS 12.0 \ Tools.

  2. Geben Sie den folgenden TFSServiceControl-Befehl ein:

    TFSServiceControl unquiesce

Fragen und Antworten

F: Ich möchte den physischen Server oder die Server für meine Bereitstellung ändern, nicht die Domänen. Kann ich dies tun?

A: Ja. Dies wird als hardwarebasiertes Verschieben bezeichnet, und die Schritte finden Sie unter Verschieben oder Klonen von einer Hardware auf eine andere. Versuchen Sie nicht, eine umgebungsbasierte Verschiebung mit einer hardwarebasierten Verschiebung zu kombinieren. Schließen Sie zunächst die Hardwareverschiebung ab, und ändern Sie erst dann die Umgebung.