> For the complete documentation index, see [llms.txt](https://overleaf-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://overleaf-pro.ayaka.space/on-premises/pl/zarzadzanie-uzytkownikami-i-projektami/user-management/username-migration.md).

# Migracja nazw użytkowników

## Migracja nazw użytkowników

Z perspektywy logowania głównym identyfikatorem użytkownika jest jego adres e-mail. Jeśli migrujesz z uwierzytelniania lokalnego do SSO albo migrujesz z jednego IdP do innego, może być konieczna aktualizacja adresów e-mail użytkowników.

Aby to ułatwić, udostępniono skrypt, który migruje adresy e-mail użytkowników, korzystając z pliku CSV o następującym formacie:

`oldEmail,newEmail`

Po wykonaniu kilku kontroli walidacyjnych skrypt przejdzie przez plik CSV i zaktualizuje adresy e-mail użytkowników z `oldEmail` na `newEmail`.

### **Weryfikacja**

Przed uruchomieniem migracji `<csv_file>` zostanie sprawdzony, aby upewnić się, że:

* Dla każdego wiersza zarówno `oldEmail` jak i `newEmail` są prawidłowymi adresami e-mail
* Nie ma zduplikowanych wpisów, na przykład nie próbujesz zaktualizować różnych użytkowników do tego samego nowego adresu e-mail albo próbujesz zaktualizować to samo konto użytkownika przy użyciu już wykorzystanego adresu e-mail

### **Zastosowanie** <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 %}

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

| Nazwa              | Opis                                                                                                                                                                                                                                                                                                                  |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--commit`         | <p>Dołączenie flagi <code>--commit</code> spowoduje faktyczne wykonanie migracji. Gdy zostanie pominięta, migracja zostanie przeprowadzona w trybie dry-run, w którym nie są wprowadzane żadne zmiany, ale walidacja nadal jest wykonywana.<br><br><strong>Domyślnie</strong>:<code>false</code></p>                  |
| `--continue`       | Ta `--continue` flaga będzie kontynuować proces migracji, jeśli adres e-mail na koncie użytkownika został już zaktualizowany                                                                                                                                                                                          |
| `--ignore-missing` | Ta `--ignore-missing` flaga będzie kontynuować proces migracji, jeśli konto użytkownika nie zostało znalezione                                                                                                                                                                                                        |
| `--admin-id`       | Ta `--admin-id` powinien zostać ustawiony na identyfikator Administratora wykonującego migrację i będzie używany w wpisach dziennika audytu. Przejdź do **Administrator** > **Zarządzaj użytkownikami** i wyszukaj swój adres e-mail, a następnie kliknij pierwszy wynik, aby znaleźć swój identyfikator użytkownika. |
| `<csv_file>`       | Ta `<csv_file>` to plik ze starymi i nowymi adresami e-mail w                                                                                                                                                                                                                                                         |

### **Zakończenie** <a href="#completion" id="completion"></a>

Podczas wykonywania skryptu migracji, w zależności od wybranych flag, zostanie określone, czy błąd zostanie zapisany w konsoli, a następnie proces będzie kontynuowany, czy też zostanie zapisany w konsoli i zakończy działanie. Jeśli skrypt zakończy się przedwcześnie z powodu błędu, zakończy się kodem 1, aby oznaczyć, że operacja się nie powiodła.

Po zakończeniu migracji skrypt zapisze w konsoli liczbę udanych, nieudanych i pominiętych aktualizacji. Jeśli migracja zakończy się pomyślnie, zakończy się kodem 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://overleaf-pro.ayaka.space/on-premises/pl/zarzadzanie-uzytkownikami-i-projektami/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.
