UiPath Documentation
uipath-cli
latest
false
UiPath-CLI-Benutzerhandbuch
Wichtig :
Dieser Inhalt wurde maschinell übersetzt. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

UIP-Anmeldung

Syntax und Optionen für „uip Login“, das die UiPath CLI bei UiPath Cloud authentifiziert und die Sitzung lokal beibehält.

uip login authentifiziert die CLI bei der UiPath Cloud und behält die resultierende Sitzung in einem lokalen .uipath/ -Ordner bei. Bei Erfolg verfügt die CLI über ein Zugriffstoken und einen ausgewählten Mandanten; Tools, die von nachfolgenden Befehlen ausgeführt werden, übernehmen diese automatisch. Siehe Authentifizierung für das Anmeldeinformationsmodell und Sitzungen und Anmeldeinformationen für den Ordner.

Informationen zum Überprüfen des Status finden Sie unter uip login status. Informationen zum Entfernen einer Sitzung finden Sie unter uip logout.

Zusammenfassung​

uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y
uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y

Jeder uip login -Unterbefehl berücksichtigt die globalen Optionen (--output, --output-filter, --log-level, --log-file, --profile, --interactive/--no-interactive). Austrittscodes folgen dem Standardvertrag.

UIP-Anmeldung​

Die Authentifizierung erfolgt interaktiv über den Browser oder nicht interaktiv mithilfe von Client-Anmeldeinformationen für externe Anwendungen oder einem föderierten OIDC-Token (Workload-Identität).

Argumente​

Keine.

Optionen​

  • -f, --file <folder> – Der Pfad zu einem Anmeldeinformationsordner. Die Sitzung wird in <folder> beibehalten. Ohne diesen verwendet die CLI den Standardspeicherort (siehe Sitzungen und Anmeldeinformationen). Sich gegenseitig mit dem globalen Flag --profile ausschließen.
  • --authority <url> – Benutzerdefinierte Autoritäts-URL, z. B. https://cloud.uipath.com (Standard), https://govcloud.uipath.us (Öffentlicher Sektor) oder ein Automation Suite-Host. Das Präfix https:// kann weggelassen werden (cloud.uipath.com funktioniert).
  • --client-id <id> – Client-ID oder Anwendungs-ID für eine externe UiPath-Anwendung. Akzeptiert env.NAME , um aus einer Umgebungsvariablen zu lesen.
  • --client-secret <secret> – Geheimer Clientschlüssel für vertrauliche externe Anwendung. Akzeptiert env.NAME, um aus einer Umgebungsvariablen zu lesen. Sich gegenseitig mit --client-assertion ausschließen.
  • --client-assertion <jwt> – OIDC-Token (JWT) für die Verbundanmeldung (Workload-Identität), das anstelle eines Client-Geheimnisses verwendet wird. Akzeptiert env.NAME (empfohlen) zum Lesen aus einer Umgebungsvariablen – Übergeben des unformatierten Tokens als Literalwert gibt eine Warnung aus, da es andernfalls im Shell-Verlauf, in den Prozessauflistungen und im CI-Protokollen enthalten würde. Erfordert --client-id. Sich gegenseitig mit --client-secret ausschließen.
  • -s, --scope <scopes> – Durch Komma oder Leerzeichen getrennte Scopes (z. B. "OR.Folders OR.Jobs"). Verwendung mit externer Anwendung oder Verbund-Anmeldeinformationen.
  • -t, --tenant <name> – Mandantenname (nicht interaktiver Modus). Wenn sie weggelassen wird, koppeln Sie sie mit dem globalen Flag --interactive, damit die CLI die Eingabeaufforderung für eines angeben kann.
  • --organization <name> – Der logische Name der Organisation, der während der Browser-Anmeldung vorab ausgewählt wurde. Umgeht die Organisationsauswahl, wenn sich Ihr Benutzer in mehreren Organisationen befindet. Ignoriert (mit einer Warnung) bei Verwendung von Client-Anmeldeinformationen oder einer Verbundanmeldung – die Organisation wird in diesen Flows durch --client-id behoben.
  • --no-browser – Kein Browser öffnen; Geben Sie die Autorisierungs-URL in ständiger aus (mit dem Präfix UIPATH_AUTH_URL <url> für die Automatisierung in grep) und blockieren Sie sie, bis der Rückruf für die Anmeldung eintrifft. Für die monitorlose/automatisierungsgesteuerte Anmeldung. Auch über UIPATH_CLI_NO_BROWSER=true konfigurierbar. Hat keine Auswirkungen (und wird mit einer Warnung ignoriert), wenn Client-Anmeldeinformationen oder eine Verbundanmeldung verwendet werden – in diesen Flows wird kein Browser geöffnet. Wenn sich eine Person über das Shell-Tool eines Agents anmeldet, soll sie den Befehl in ihrem eigenen Terminal ausführen – wenn sie ihn über das Shell-Tool eines Agents ausführt, wird die gedruckte URL vor ihr ausgeblendet.

Auf dieser Seite werden auch zwei Flags dokumentiert, die nicht anmeldespezifisch sind – das vollständige Verhalten finden Sie unter Globale Optionen :

  • --interactive / --no-interactive – Erzwingen (oder unterdrücken) Sie nach der Authentifizierung den interaktiven Prompt, um einen Mandanten aus der von der Cloud zurückgegebenen Liste auszuwählen. Es gibt kein --it -Kurzformular.
  • --profile <name> – Verwenden Sie ein benanntes, gespeichertes Anmeldeprofil anstelle des standardmäßigen Anmeldeinformationsspeicherorts. Sich gegenseitig mit -f, --file ausschließen.

Anmeldeinformationsmodi​

  • Interaktive/Benutzeranmeldeinformationen – Führen Sie uip login aus (optional mit --interactive, --tenant oder --organization). Der Browser-Flow wird mit der UiPath Cloud-Stelle abgeschlossen; Die resultierenden Token werden im Anmeldeinformationsordner beibehalten.
  • Externe Anwendung (Client-Anmeldeinformationen, nicht interaktiv) – Übergeben Sie --client-id, --client-secret und --scope, in der Regel mit --tenant. Geeignet für CI-Ausführungen. Lesen Sie das Geheimnis aus einer Umgebungsvariablen mit --client-secret env.UIPATH_CLIENT_SECRET, um es aus Ihrem Shell-Verlauf herauszuhalten.
  • Föderierte/Workload-Identität (nicht interaktiv) – übergeben Sie --client-id und --client-assertion (ein OIDC JWT, das Sie in einem vorherigen Schritt von Ihrem CI-Anbieter oder Workload-IdentitätsBroker erhalten haben) anstelle eines geheimen Clientschlüssels. --client-secret und --client-assertion können nicht kombiniert werden.

Beispiele​

# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath
# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath

Datenform (--output json)​

{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}
{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}

Fehlermodi​

  • Ein fehlender Mandant nach einer nicht interaktiven Anmeldung löst ConfigError mit Message: "No tenant selected" aus und weist Sie an, mit --tenant <name> oder --interactive erneut auszuführen.
  • Transportieren Sie Fehler und Nicht-2xx-Antworten von der Autoritätsoberfläche als AuthenticationError mit dem ursprünglichen HTTP-Status in Context.httpStatus , wenn verfügbar.
  • Eine falsch formatierte env.NAME -Referenz in --client-id / --client-secret erzeugt vor jedem Netzwerkaufruf eine ConfigError .

Aktualisierung der UIP-Anmeldung​

Aktualisieren Sie proaktiv das Zugriffstoken und geben Sie eine maschinenlesbare Sitzungsnutzlast aus (Zugriffstoken, Organisations-/Mandantenidentität, Ablauf). Vorgesehen für programmatische Verbraucher (z. B. eine IDE-Erweiterung), die für die nächsten Minuten ein garantiert gültiges Token benötigen – im Gegensatz zu uip login status, bei dem es sich um einen Statusbericht handelt und das Token nur rotiert wird, wenn es bereits abgelaufen ist. refresh erzwingt eine Rotation vor der Zeit.

Argumente​

Keine.

Optionen​

  • --login-validity <minutes> – Nur aktualisieren, wenn das aktuelle Zugriffstoken innerhalb dieser vielen Minuten abläuft. Der Standardwert ist 5. Übergeben Sie 0, um die proaktive Prüfung zu überspringen und nur zu rotieren, wenn das Token bereits abgelaufen ist. Bereich 0–525600 (ein Jahr).

Beispiele​

# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json
# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json

Datenform (--output json)​

{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
Wichtig:

AccessToken ist nur enthalten, wenn --output json in Kraft ist und entweder --output explizit übergeben wurde oder „stdout“ nicht interaktiv (pipeline/umgeleitet) ist. Ein leeres, interaktives uip login refresh in einem Terminal gibt das Token nie aus – dies ist beabsichtigt, damit das Token nicht versehentlich im Scrollback erscheint. Code ist LoginRefreshPartial anstatt LoginRefresh, wenn das aktualisierte Token nicht wieder auf dem Datenträger beibehalten werden konnte (der Aufrufer erhält weiterhin ein gültiges, verwendbares Token für den aktuellen Prozess).

Fehlermodi​

  • Nicht angemeldet, Aktualisierung fehlgeschlagen oder Token abgelaufen und kein Aktualisierungstoken verfügbar: AuthenticationError, Exitcode 2, wobei Instructions die spezifische Ursache benennt.

UIP-Anmeldung, welche​

Ausgabe, aus der uip die Authentifizierung für das aktuelle Arbeitsverzeichnis lesen würde – die genaue Diagnose für „Warum wird meine Sitzung nicht aufgenommen?“ Akzeptiert keine Optionen; Sie meldet immer die in Sitzungen und Anmeldeinformationen beschriebene Gehen-up- und Home-Fallback-Lösung.

Argumente​

Keine.

Optionen​

Keine.

Beispiele​

uip login which --output json
uip login which --output json

Datenform – dateibasierte Sitzung (--output json)​

{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}
{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}

Source meldet, wo in der Gehen-up-Kette die Datei gefunden wurde (z. B. ancestor vs. das Basisverzeichnis-Fallback). Wenn das globale Flag --profile ein aktives Profil benennen, enthält die Antwort auch ein Profile -Feld.

Datenform – Umgebungsvariablensitzung (--output json)​

Bei UIPATH_CLI_ENABLE_ENV_AUTH=true meldet which den env-var-Modus anstelle einer Datei:

{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}
{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}

MissingVars enthält nie Werte – nur die Namen von Variablen, die nicht festgelegt oder leer sind, sodass die Antwort immer sicher in ein Ticket oder einen Chat eingefügt werden kann.

Fehlermodi​

  • Keine Anmeldeinformationsdatei in der Gehen-up-Kette gefunden: AuthenticationError, Exitcode 2, mit Anweisungen zum Ausführen von uip login.
  • Der aufgelöste Anmeldeinformationsdateipfad ist vorhanden, ist aber nicht verwendbar (z. B. befindet sich ein Verzeichnis in diesem Pfad oder Dateiberechtigungen blockieren das Lesen): Failure, Exitcode 1 – ein Host-/Dateisystemproblem, kein „Protokoll“. wieder ein“ Problem.

UIP-Anmeldung auf der Mandantenliste​

Listen Sie alle Mandanten auf, die für den authentifizierten Benutzer in der aktuellen Organisation sichtbar sind. Erfordert eine aktive Anmeldung.

Argumente​

Keine.

Optionen​

  • -f, --file <folder> – Der Pfad zum Anmeldeinformationsordner. Standardmäßig die Sitzung, die vom letzten uip login verwendet wurde. Sich gegenseitig mit dem globalen Flag --profile ausschließen.

Beispiel​

uip login tenant list
uip login tenant list

Datenform (--output json)​

{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}
{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}

Wenn die Sitzung nicht angemeldet ist, gibt der Befehl AuthenticationError mit Anweisungen zum Ausführen von uip login aus.

UIP-Anmeldemandantensatz​

Wählen Sie den aktiven Mandanten nach Namen aus. Der Mandant muss in der von login tenant list zurückgegebenen Liste vorhanden sein; Die CLI aktualisiert die gespeicherte Sitzung mit der neuen Auswahl.

Argumente​

  • <name> (erforderlich) – Mandantenname, wie von uip login tenant list zurückgegeben.

Optionen​

  • -f, --file <folder> – Der Pfad zum Anmeldeinformationsordner. Standardmäßig die Sitzung, die vom letzten uip login verwendet wurde. Sich gegenseitig mit dem globalen Flag --profile ausschließen.

Beispiel​

uip login tenant set DefaultTenant
uip login tenant set DefaultTenant

Datenform (--output json)​

{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}
{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}

Fehlermodi​

  • Unbekannter Mandantenname erzeugt ValidationError mit Instructions , das die verfügbaren Mandanten auflistet, z. B. argument should be one of DefaultTenant, ProductionTenant.
  • Wenn die CLI die gespeicherte Sitzung nicht aktualisieren kann, wird der Fehler als Failure mit einem berechtigungsbezogenen Hinweis angezeigt.

Liste der UIP-Anmeldeprofile​

Listen Sie jedes benannte Anmeldeprofil auf, das unter ~/.uipath/profiles gespeichert ist (siehe globales Flag --profile ), sowie den Speicherort der default -Anmeldeinformationen.

Optionen​

  • --all-fields – Geben Sie auch die Autoritäts-URL jedes Profils, den Tokenablauf und den Dateipfad der Anmeldeinformationen an.

Beispiele​

uip login profiles list
uip login profiles list
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
uip login profiles list --all-fields
uip login profiles list --all-fields

Url, ExpiresAt und Path sind nur in --all-fields enthalten. In einer interaktiven Tabelle wird jedes Profil hervorgehoben, dessen Status nicht Logged in ist.

UIP-Anmeldeprofile löschen​

Löschen Sie ein benanntes Anmeldeprofil und seine gespeicherten Anmeldeinformationen. Dies ist ein echtes Löschen von Dateien auf der Festplatte – es gibt kein Rückgängigmachen.

Argumente​

  • [profile-name] – Name des zu löschenden Profils. Auslassen, wenn --all verwendet wird.

Optionen​

  • --all – Löschen Sie jedes benannte Profil anstelle von einem.
  • -y, --yes – Bestätigen Sie das Löschen. Erforderlich – Dieser Befehl hat nie eine interaktive Eingabeaufforderung.

Beispiele​

uip login profiles delete staging --yes
uip login profiles delete staging --yes
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
uip login profiles delete --all --yes
uip login profiles delete --all --yes
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}

Fehlermodi​

  • Wenn sowohl ein Profilname als auch --all oder keines von beiden übergeben wird, schlägt dies mit ValidationError fehl, bevor der Datenträger erreicht wird.
  • default kann auf diese Weise nicht gelöscht werden – es schlägt mit ValidationError fehl, die Sie stattdessen auf uip logout verweist, da default nicht unter ~/.uipath/profiles gespeichert wird.
  • Das Löschen des aktuell von --profile <name> bei demselben Aufruf ausgewählten Profil schlägt mit ValidationError fehl (erneute Ausführung ohne dieses Flag).
  • Mit --all wird das aktive Profil (falls vorhanden) automatisch übersprungen, anstatt gelöscht, und in der Antwort mit Status: "skipped" gemeldet. Wenn beim Überspringen nichts anderes zu löschen ist, schlägt der Befehl mit ValidationError fehl, anstatt im Hintergrund erfolgreich zu sein.
  • Ein unbekannter Profilname schlägt mit Code: "not_found" fehl und verweist auf login profiles list.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben