> 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/pl/zarzadzanie-uzytkownikami-i-projektami/user-management/username-migration.md).

# Migracja nazw użytkowników

## Migracja nazwy użytkownika

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

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

`oldEmail,newEmail`

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

### **Walidacja**

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

* Dla każdego wiersza zarówno `oldEmail` 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 adresem e-mail, który jest już używany

### **Użycie** <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>Dodanie przełącznika <code>--commit</code> spowoduje rzeczywiste wykonanie migracji. Gdy zostanie pominięty, migracja odbędzie się w trybie próbnego uruchomienia, w którym nie są wprowadzane żadne zmiany, ale walidacja nadal jest przeprowadzana.<br><br><strong>Domyślnie</strong>:<code>false</code></p> |
| `--continue`       | Pole `--continue` przełącznik spowoduje kontynuowanie procesu migracji, jeśli konto użytkownika, którego adres e-mail na koncie został już zaktualizowany                                                                                                                                                         |
| `--ignore-missing` | Pole `--ignore-missing` przełącznik spowoduje kontynuowanie procesu migracji, jeśli nie znaleziono konta użytkownika                                                                                                                                                                                              |
| `--admin-id`       | Pole `--admin-id` powinien być ustawiony na identyfikator Administratora wykonującego migrację i będzie używany we wpisach dziennika audytu. Przejdź do **Admin** > **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>`       | Pole `<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 przełączników, zostanie określone, czy błąd zostanie zapisany w konsoli i skrypt będzie kontynuowany, czy też błąd zostanie zapisany w konsoli i skrypt zakończy działanie. Jeśli skrypt zakończy się przedwcześnie z powodu błędu, zakończy się kodem 1, co oznacza niepowodzenie.

Po zakończeniu migracji skrypt zapisze w konsoli liczbę pomyślnych, nieudanych i pominiętych aktualizacji. Jeśli migracja zakończy się pomyślnie, skrypt zakończy działanie z 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://ayakaleaf-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.
