> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/de/benutzer-und-projektverwaltung/user-management/username-migration.md).

# Benutzernamen-Migration

## Benutzernamenmigration

Aus Sicht der Anmeldung ist der primäre Bezeichner für einen Benutzer seine E-Mail-Adresse. Wenn Sie von einer lokal basierten Authentifizierung zu SSO migrieren oder von einem IdP zu einem anderen migrieren, müssen Sie möglicherweise die E-Mail-Adressen der Benutzer aktualisieren.

Zur Unterstützung dabei wird ein Skript bereitgestellt, das Benutzer-E-Mails mithilfe einer CSV-Datei mit dem folgenden Format migriert:

`oldEmail,newEmail`

Nach einigen Validierungsprüfungen durchläuft das Skript die CSV-Datei und aktualisiert die E-Mail-Adressen der Benutzer von `oldEmail` zu `newEmail`.

### **Validierung**

Bevor die Migration ausgeführt wird, wird die `<csv_file>` überprüft, um sicherzustellen, dass:

* Für jede Zeile sind sowohl die `oldEmail` als auch die `newEmail` gültige E-Mail-Adressen sind
* Es gibt keine doppelten Einträge, zum Beispiel versuchen Sie nicht, verschiedene Benutzer auf dieselbe neue E-Mail-Adresse zu aktualisieren, oder Sie versuchen nicht, dasselbe Benutzerkonto mit einer bereits verwendeten E-Mail-Adresse zu aktualisieren

### **Verwendung** <a href="#usage" id="usage"></a>

{% code overflow="wrap" %}

```bash
docker cp <csv_file> sharelatex:/overleaf/services/web/<csv_file> docker exec sharelatex /bin/bash -c "cd /overleaf/services/web;node ./modules/server-ce-scripts/scripts/migrate-user-emails.js [--commit] [--continue|--ignore-missing] [--admin-id=ADMIN_USER_ID] <csv_file>"
```

{% endcode %}

### **Optionen** <a href="#flags" id="flags"></a>

| Name               | Beschreibung                                                                                                                                                                                                                                                                                                   |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--commit`         | <p>Das Einfügen des <code>--commit</code> Flags führt die Migration tatsächlich aus. Wenn es weggelassen wird, läuft die Migration im Dry-Run-Modus ab, in dem keine Änderungen vorgenommen werden, aber die Validierung dennoch durchgeführt wird.<br><br><strong>Standard</strong>:<code>false</code></p>    |
| `--continue`       | Das `--continue` Flag setzt den Migrationsprozess fort, wenn für ein Benutzerkonto die E-Mail-Adresse bereits aktualisiert wurde                                                                                                                                                                               |
| `--ignore-missing` | Das `--ignore-missing` Flag setzt den Migrationsprozess fort, wenn ein Benutzerkonto nicht gefunden wurde                                                                                                                                                                                                      |
| `--admin-id`       | Das `--admin-id` sollte auf die ID des Administrators gesetzt werden, der die Migration durchführt, und wird für Audit-Log-Einträge verwendet. Gehen Sie zu **Admin** > **Benutzer verwalten** und suchen Sie nach Ihrer E-Mail-Adresse und klicken Sie auf das erste Ergebnis, um Ihre Benutzer-ID zu finden. |
| `<csv_file>`       | Das `<csv_file>` ist die Datei mit den alten und neuen E-Mail-Adressen in                                                                                                                                                                                                                                      |

### **Abschluss** <a href="#completion" id="completion"></a>

Während der Ausführung des Migrationsskripts bestimmt je nach den von Ihnen gewählten Flags, ob ein Fehler in der Konsole protokolliert und dann fortgesetzt wird oder in der Konsole protokolliert und beendet wird. Wenn das Skript aufgrund eines Fehlers vorzeitig beendet wird, beendet es sich mit dem Code 1, um anzuzeigen, dass es nicht erfolgreich war.

Nach Abschluss der Migration protokolliert das Skript die Anzahl der erfolgreichen, fehlgeschlagenen und übersprungenen Aktualisierungen in der Konsole. Wenn die Migration erfolgreich abgeschlossen wird, beendet es sich mit dem Code 0.


---

# 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://ayakaleaf-pro.ayaka.space/on-premises/de/benutzer-und-projektverwaltung/user-management/username-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.
