> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/de/automatisierung/connecting-azure-automation/managed-app-migration.md).

# Wechsel zur von RealmJoin verwalteten App

Ersetzen Sie die tenant-spezifische RealmJoin Runbook Management-Anwendungsregistrierung und deren Client-Secret durch die von RealmJoin verwaltete Multi-Tenant-App mithilfe des RealmJoin PowerShell-Moduls.

## Überblick

Mandanten, die Azure Automation vor dem PowerShell-basierten Onboarding verbunden haben, verwenden eine **RealmJoin Runbook-Verwaltung** App-Registrierung in ihrem eigenen Mandanten. RealmJoin authentifiziert sich gegenüber Ihrem Automation Account mit der Client-ID und dem Client-Secret dieser App.

Neu eingebundene Mandanten tun dies nicht mehr: RealmJoin verwendet seine eigene **Multi-Tenant-Anwendung**, der Contributor für Ihr Automation Account gewährt wird und sonst nichts. Sie können eine bestehende Konfiguration mit dem [RealmJoin-PowerShell-Modul](/de/bereitstellung/onboarding-realmjoin-portal/advanced-setup.md).

{% hint style="info" %}
Hier gibt es keine Frist. Anders als bei der [Log-Analytics-Migration](/de/uberwachung-and-protokolle/log-ingestion-api-migration.md), wird von Microsoft nichts außer Betrieb genommen — der Legacy-Pfad funktioniert weiterhin. Wechseln Sie, wenn es Ihnen passt.
{% endhint %}

### Warum wechseln

* **Kein Client-Secret muss rotiert werden.** Das mandantenspezifische Secret läuft ab und muss erneuert werden; wenn es abläuft, stoppen die Runbook-Synchronisierung und die Runbook-Ausführung, bis es jemand bemerkt. Die verwaltete App hat auf Ihrer Seite kein Secret.
* **Keine App-Registrierung zu pflegen** in Ihrem Mandanten.
* **Engerer Geltungsbereich.** Dem Legacy-Service-Principal wurde typischerweise Contributor für die gesamte Ressourcengruppe gewährt. Der verwalteten App wird nur Contributor für das Automation Account gewährt.
* Ihr Automation Account, seine verwaltete Identität, seine Berechtigungen und Ihre Runbooks bleiben alle genau so, wie sie sind.

## Was die Umstellung ändert

Derselbe `Set-RJAutomationAccount` Befehl wie für eine neue Einrichtung wird verwendet und auf Ihr **bestehendes** Automation Account ausgerichtet. Er:

* erstellt den **RealmJoin Azure Resources** Service Principal in Ihrem Mandanten, falls es noch nicht existiert
* gewährt ihm **Contributor** für dieses Automation Account
* bestätigt die Anwendungsberechtigungen der verwalteten Identität erneut — Microsoft Graph, Exchange Online, Defender und SharePoint — für den vom Modul gebündelten Satz
* weist RealmJoin an, sich ab jetzt mit der verwalteten App zu authentifizieren

Ihr Automation Account behält seinen Namen, seine verwaltete Identität und seine Objekt-ID, sodass die Entra ID-Rollen und alle Berechtigungen, die Sie ihm zugewiesen haben, gültig bleiben. Runbooks werden nicht von Grund auf neu importiert.

{% hint style="warning" %}
Die Registrierung setzt den konfigurierten **Branch** des gemeinsamen Runbook-Repositorys auf `production`. Wenn Ihr Mandant absichtlich einem anderen Branch folgt, stellen Sie ihn danach im Portal unter Einstellungen → Runbooks erneut ein.
{% endhint %}

## Voraussetzungen

Dasselbe wie für eine neue Einrichtung — siehe [Voraussetzungen](/de/automatisierung/connecting-azure-automation.md#prerequisites) auf der Onboarding-Seite. Kurz gesagt:

* Zugriff auf den Bereich Settings im RealmJoin Portal, um den Befehl und sein Token zu erhalten
* PowerShell 5.1 oder höher, in einer frisch geöffneten lokalen Sitzung — **nicht** Azure Cloud Shell
* Ein Konto, das Service Principals erstellen und Anwendungsberechtigungen in Entra ID erteilen kann (*Global Administrator* oder *Privileged Role Administrator*) und das Rollenzuweisungen im Abonnement erstellen kann (*Owner*, oder *Contributor* plus *User Access Administrator*)

## Migration

{% stepper %}
{% step %}

#### Kopieren Sie den Befehl aus dem RealmJoin Portal

Öffnen Sie im RealmJoin Portal **Einstellungen → Runbooks** (<https://portal.realmjoin.com/settings/runbooks-configuration>).

Die Seite zeigt den Hinweis **"Zur verwalteten RealmJoin-App wechseln"** zusammen mit einem kopierbereiten Befehlsblock. Verwenden Sie die **Kopieren** Schaltfläche, um ihn zu kopieren.

Der Befehl ist bereits mit Ihrer aktuellen Ressourcengruppe, dem Namen des Automation Account und dem Abonnement vorausgefüllt:

```powershell
$latest = [version](Find-Module RealmJoin -Repository PSGallery -ErrorAction Stop).Version
if (-not (Get-Module -ListAvailable RealmJoin | Where-Object Version -ge $latest)) {
    Install-Module RealmJoin -Force -AllowClobber -ErrorAction Stop
}
Import-Module RealmJoin -Force
Set-RJAutomationAccount -ResourceGroupName "<ResourceGroup>" -AutomationAccountName "<AutomationAccountName>" -SubscriptionId "<SubscriptionId>" -Token "<Token>" 6>&1
```

{% hint style="warning" %}
Stellen Sie sicher `-AutomationAccountName` vorhanden ist und Ihr **bestehendes** Konto angibt. Ohne ihn erstellt das Modul ein neues, leeres Automation Account, anstatt das von Ihnen verwendete umzustellen.
{% endhint %}
{% endstep %}

{% step %}

#### Führen Sie den Befehl aus

Fügen Sie den Block in eine neue PowerShell-Sitzung ein und führen Sie ihn aus. Das Token ist ungefähr eine Stunde gültig — wenn es abgelaufen ist, laden Sie die Einstellungsseite neu und kopieren Sie den Befehl erneut.

Sie werden aufgefordert, sich mit `Connect-AzAccount`. Die Bereitstellung meldet dann jede Ressource und jede Rollenzuweisung, sobald sie angewendet wird; alles, was bereits existiert, wird erkannt und übersprungen.
{% endstep %}

{% step %}

#### Im Portal überprüfen

Kehren Sie zurück zu **Einstellungen → Runbooks** und wählen Sie **Aktualisieren**.

Der Migrationshinweis ist verschwunden, und die Seite zeigt nun **Runbook-Synchronisierungseinstellungen** mit dem Branch und den Hybrid Runbook Worker-Optionen sowie einem schreibgeschützten **Azure-Verbindung** Abschnitt. Client ID und Client Secret sind nicht mehr Teil der Konfiguration.

Prüfen Sie, ob der Branch der gewünschte ist, und führen Sie dann ein Runbook aus, um zu bestätigen, dass die Ausführung weiterhin funktioniert.
{% endstep %}

{% step %}

#### Die alte App-Registrierung bereinigen

Sobald alles funktioniert, kann die **RealmJoin Runbook-Verwaltung** App-Registrierung nicht mehr für Runbooks verwendet werden und kann in Entra ID zusammen mit ihrer Contributor-Rollenzuweisung auf die Ressourcengruppe entfernt werden.

{% hint style="warning" %}
Prüfen Sie zuerst, was diese App-Registrierung sonst noch verwendet. Es ist dieselbe App, die die Legacy- [Log Analytics](/de/uberwachung-and-protokolle/log-analytics.md) Einrichtung möglicherweise wiederverwenden kann — wenn Ihr Mandant dort noch die Data Collector API verwendet oder weiterhin Protokolldaten liest, die vor dieser Migration geschrieben wurden, werden die App-Registrierung und ihr Secret weiterhin benötigt. Siehe [Migration zur Log Ingestion API](/de/uberwachung-and-protokolle/log-ingestion-api-migration.md).
{% endhint %}
{% endstep %}
{% endstepper %}

## Problembehebung

<details>

<summary>"RealmJoin-Modul ist veraltet - Ausführung kann nicht fortgesetzt werden"</summary>

Jedes Cmdlet überprüft pro Sitzung einmal, ob Sie die neueste veröffentlichte Version verwenden. Installieren Sie die aktuelle Version, schließen Sie dann die Sitzung und öffnen Sie eine neue:

```powershell
Install-Module -Name RealmJoin -Force -Scope CurrentUser
```

</details>

<details>

<summary>Es wird ein Versionskonflikt des Moduls gemeldet</summary>

Ein `Az.*` Modul in einer anderen Version als der, die das RealmJoin-Modul festlegt, ist bereits in der Sitzung geladen. Das lässt sich in der laufenden Sitzung nicht beheben — schließen Sie PowerShell, öffnen Sie eine neue Sitzung und führen Sie den Befehl erneut aus. Das ist auch der Grund, Azure Cloud Shell nicht zu verwenden.

</details>

<details>

<summary>Die Bereitstellung schlägt beim Erstellen von Rollenzuweisungen fehl</summary>

Das Erstellen der Contributor-Zuweisung auf dem Automation Account erfordert eine Rolle, die Zugriffsrechte verwalten kann — zum Beispiel *Owner*, *User Access Administrator* oder *Role Based Access Control Administrator*. *Contributor* allein nicht aus.

Bereits vorhandene Rollenzuweisungen werden erkannt und übersprungen, daher ist es sicher, den Befehl nach dem Beheben der Berechtigungen erneut auszuführen.

</details>

<details>

<summary>Die Bereitstellung schlägt beim Zuweisen von Anwendungsberechtigungen fehl</summary>

Das Gewähren von Graph-, Exchange-, Defender- und SharePoint-App-Rollen an die verwaltete Identität erfordert *Global Administrator* oder *Privileged Role Administrator*. Lassen Sie jemanden mit dieser Rolle den Befehl ausführen, oder führen Sie ihn selbst erneut aus, nachdem die Rolle aktiviert wurde.

</details>

<details>

<summary>Die Runbook-Synchronisierung funktioniert nach der Umstellung nicht mehr</summary>

Öffnen Sie **Einstellungen → Runbooks** und prüfen Sie die Warnung, die oben auf der Seite angezeigt wird — RealmJoin überprüft die Konfiguration des Automation Account jedes Mal, wenn die Seite geladen wird. Dann verwenden Sie **Cmdlet anzeigen** unter Azure-Verbindung, um den Einrichtungsbefehl erneut auszuführen; er ist idempotent und wendet alles, was fehlt, erneut an.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/de/automatisierung/connecting-azure-automation/managed-app-migration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
