# Enterprise User Commands

#### Operations:

* User operations like add, edit, view, delete
* Actions like lock, unlock, extends, expire
* Set user aliases and nodes.

#### Usage

```bash
enterprise-user --command [--options] OR eu command [--options]
```

**Alias:** `eu`

#### Commands <a href="#commands-4" id="commands-4"></a>

<table><thead><tr><th width="179.67578125">Command</th><th>Description</th></tr></thead><tbody><tr><td><a href="#enterprise-user-view"><code>view</code></a></td><td>View enterprise user</td></tr><tr><td><a href="#enterprise-user-add"><code>add</code></a></td><td>Create enterprise user(s)</td></tr><tr><td><a href="#enterprise-user-edit"><code>edit</code></a></td><td>Edit enterprise user(s)</td></tr><tr><td><a href="#enterprise-user-delete"><code>delete</code></a></td><td>Delete enterprise user(s)</td></tr><tr><td><a href="#enterprise-user-action"><code>action</code></a></td><td>Enterprise user actions</td></tr><tr><td><a href="#enterprise-user-alias"><code>alias</code></a></td><td>Manage user aliases</td></tr></tbody></table>

### Enterprise User View Command

This command can be used to view an enterprise user's details

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user view`

**Parameter :** `--team Email OR UID`

**Alias:** `eu vie`

**Example:**

```bash
My Vault> eu view john.doe@company.com

 User Email:  john.doe@company.com
  User Name:  John Doe
    User ID:  894448414228492
     Status:  Active
      Teams:  Engineering Team
              DevOps Team
       Node:  Engineering

My Vault> enterprise-user view 894448414228492

 User Email:  john.doe@company.com
  User Name:  John Doe
    User ID:  894448414228492
     Status:  Active
      Teams:  Engineering Team
              DevOps Team
       Node:  Engineering 
```

</details>

<details>

<summary>DotNet SDK</summary>

**Functions:**

`EnterpriseData.GetTeamsForUser`

`EnterpriseData.TryGetTeam`

`EnterpriseData.TryGetTeam`

The following functions together will give all data related to user from enterprise perspective

</details>

<details>

<summary>PowerCommander</summary>

**Command:** `Get-KeeperEnterpriseUser`

**Syntax:**

```powershell
Get-KeeperEnterpriseUser [[-Email] <string>] [[-Filter] <string>] [<CommonParameters>]
```

**Aliases:** `keu`

**Parameters:**

* `-Email` - User email.
* `-Filter` - Search filter.
* `-Format` - Output format.
* `-Output` - Output file name.

**Example:**

```powershell
PS> Get-KeeperEnterpriseUser
OR
# List all users
PS> keu
# Get specific user
PS>Get-KeeperEnterpriseUser -Email "user@example.com"

# Search users
PS> Get-KeeperEnterpriseUser -Filter "admin"
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user --view`

**Parameter**:

`email` - User email. Can be repeated. (required)

**Flag:**

* `-v`, `--verbose` - Print verbose information
* `-h, --help` show this help message and exit
* `--format` - format of output: `{table,json}`
* `--output` - path to resulting output file (ignored for "table" format)

**Example:**

```
My vault> enterprise-user --view <User email or UID> --output <file-path> --format json
```

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
username = 'youremail@comapny.com'
enterprise_data = enterprise_types.IEnterpriseData
user = [user for user in enterprise_data.users.get_all_entities() if user.username.lower() == user_name.lower()]
```

</details>

### Enterprise User Add Command

Create enterprise user(s).

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user invite`

**Alias:** `eu invite`

**Parameter**:

| Parameter | Description              |
| --------- | ------------------------ |
| `email`   | email of the user to add |

**Example:**

```
My Vault> enterprise-user invite <email>
User test@example.com invited.

My Vault> eu invite <email>
User test@example.com invited.
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** `InviteUser(string email, [InviteUserOptions options = null])`

```csharp
Task<KeeperSecurity.Enterprise.EnterpriseUser> EnterpriseData.InviteUser(string email, [InviteUserOptions options = null])
```

**Arguments:**

| Argument  | Type              | Required | Description                         |
| --------- | ----------------- | -------- | ----------------------------------- |
| `email`   | string            | Yes      | Email address of the user to invite |
| `options` | InviteUserOptions | No       | Invitation options (default: null)  |

**Returns:**

`Task<EnterpriseUser>` - A task returning the created EnterpriseUser object

**InviteUserOptions Properties:**

| Property   | Type        | Description                         |
| ---------- | ----------- | ----------------------------------- |
| `FullName` | string      | User's full name                    |
| `NodeId`   | long        | Node ID where user will be assigned |
| `TeamIds`  | IEnumerable | List of team IDs to add user to     |

**Example:**

```csharp
var newUser = await context.EnterpriseData.InviteUser("john.doe@company.com");
Console.WriteLine($"Invited user: {newUser.Email}");
```

</details>

<details>

<summary>PowerCommander</summary>

**Command:** `Add-KeeperEnterpriseUser`

**Parameters:**

| Parameter | Description              |
| --------- | ------------------------ |
| `Email`   | Email address to invite. |

**Flags:**

| Flag        | Description                                             |
| ----------- | ------------------------------------------------------- |
| `-FullName` | Full name of the user                                   |
| `-Node`     | Node name or ID where the user will be assigned         |
| `-NodeId`   | Node ID as a long integer (alternative to `-Node`)      |
| `-Emails`   | Extra email addresses to invite (for batch invitations) |

**Example:**

```powershell
PS> Add-KeeperEnterpriseUser -Node "Test node" -Email "acme1@email.com"
User invited: acme1@email.com
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user --add`

**Parameter**:

`email` - User email. Can be repeated. (required)

**Flag:**

* `-h, --help` show this help message and exit
* `--parent` - Parent node name or ID
* `--name` - Set user full name
* `--job-title` - Set user job title

**Example:**

```
My Vault> enterprise-user --add <User email> --name <FULL_NAME> --job-title <JOB_TITLE> --add-role <ADD_ROLE>
User Add: User ID = 1234567
```

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
from keepersdk.enterprise import batch_management, enterprise_management

batch = batch_management.BatchManagement(loader=enterprise_loader, logger=enterprise_management_logger)
users_to_add = [enterprise_management.UserEdit(
            enterprise_user_id=enterprise_loader.get_enterprise_id(), node_id=user_node_id, username=email,
            full_name=full_name, job_title=job_title)
            for email in unique_emails]
batch.modify_users(to_add=users_to_add)
batch.apply()
```

</details>

### Enterprise User Edit Command

Edit enterprise user details like adding and removing roles and teams.

<details>

<summary>DotNet CLI</summary>

DotNet CLI supports team-add and team-remove functionalities

**Team-add:**

**Command:** `enterprise-user team-add`

**Alias:** `eu team-add`

**Parameters:**

| Parameter | Description                              |
| --------- | ---------------------------------------- |
| `email`   | Email address of the user to add to team |
| `--team`  | Name or UID of the team.                 |

**Flags:**

| Flag         | Description                    |
| ------------ | ------------------------------ |
| `--teamname` | Alternative flag for team name |
| `--help`     | Display help screen            |
| `--version`  | Display version information    |

**Example:**

```bash
My Vault> enterprise-user team-add john.doe@company.com --team "Developers"
User john.doe@company.com added to team: Developers
# OR using alias
My Vault> eu team-add john.doe@company.com --team "Developers"
User john.doe@company.com added to team: Developers
```

**Team-remove:**

**Command:** `enterprise-user team-remove`

**Alias:** `eu team-remove`

**Parameters:**

| Parameter | Description                                    |
| --------- | ---------------------------------------------- |
| `email`   | Email address of the user to remove from team. |
| `--team`  | Name or UID of the team.                       |

**Flags:**

| Flag         | Description                    |
| ------------ | ------------------------------ |
| `--teamname` | Alternative flag for team name |
| `--help`     | Display help screen            |
| `--version`  | Display version information    |

**Example:**

```bash
My Vault> enterprise-user team-remove john.doe@company.com --team "Developers"
User john.doe@company.com removed from team: Developers

# OR

My Vault> eu team-remove john.doe@company.com --team "Developers"
User john.doe@company.com removed from team: Developers
```

</details>

<details>

<summary>DotNet SDK</summary>

**AddUsersToTeams:**

Add one or more active users to one or more teams programmatically using the .NET SDK. This method works only for users with "Active" status. For non-active users (Invited, Locked), use `QueueUserToTeam` instead.

**Function:**

```csharp
Task AddUsersToTeams(string[] emails, string[] teamUids, Action<string> warnings = null);
```

**Arguments:**

| Argument   | Type      | Required | Description                                                   |
| ---------- | --------- | -------- | ------------------------------------------------------------- |
| `emails`   | string\[] | Yes      | Array of user email addresses to add to teams                 |
| `teamUids` | string\[] | Yes      | Array of team UIDs to add users to                            |
| `warnings` | Action    | No       | Optional callback to receive warning messages (default: null) |

**Returns:**

`Task` - A task that completes when all users are added to all teams

**Example:**

```csharp
var emails = new[] { "john.doe@company.com" };
var teamUids = new[] { "ABC123XYZ456" };

await context.EnterpriseData.AddUsersToTeams(emails, teamUids);
Console.WriteLine("User added to team successfully");
```

**QueueUserToTeam:**

Queue a non-active user (Invited or Locked status) to be added to a team. The user will be added to the team automatically when their account becomes active. Use this for users who haven't accepted their invitation yet or whose accounts are locked.

**Function:**

```csharp
Task QueueUserToTeam(long enterpriseUserId, string teamUid);
```

**Arguments:**

| Argument           | Type   | Required | Description                               |
| ------------------ | ------ | -------- | ----------------------------------------- |
| `enterpriseUserId` | long   | Yes      | Enterprise user ID of the non-active user |
| `teamUid`          | string | Yes      | UID of the team to queue the user for     |

**Returns:**

`Task` - A task that completes when the user is queued for the team

**Example:**

```csharp
var user = context.EnterpriseData.Users
    .FirstOrDefault(u => u.Email == "newuser@company.com");

if (user != null && user.Status != "Active")
{
    await context.EnterpriseData.QueueUserToTeam(user.Id, "TEAM_UID_123");
    Console.WriteLine($"User queued for team (Status: {user.Status})");
}
```

**RemoveUsersFromTeams:**

Remove one or more users from one or more teams programmatically using the .NET SDK. This operation removes team membership but does not delete user accounts or affect other teams the users belong to.

**Function:**

```csharp
Task RemoveUsersFromTeams(string[] emails, string[] teamUids, Action<string> warnings = null);
```

**Arguments:**

| Argument   | Type      | Required | Description                                                   |
| ---------- | --------- | -------- | ------------------------------------------------------------- |
| `emails`   | string\[] | Yes      | Array of user email addresses to remove from teams            |
| `teamUids` | string\[] | Yes      | Array of team UIDs to remove users from                       |
| `warnings` | Action    | No       | Optional callback to receive warning messages (default: null) |

**Returns:**

`Task` - A task that completes when all users are removed from all teams

**Example:**

```csharp
var emails = new[] { "john.doe@company.com" };
var teamUids = new[] { "ABC123XYZ456" };

await context.EnterpriseData.RemoveUsersFromTeams(emails, teamUids);
Console.WriteLine("User removed from team successfully");
```

</details>

<details>

<summary>PowerCommander</summary>

**Command**: Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user --edit`

**Parameter**:

`email` - User email or UID. Can be repeated. (required)

**Flag:**

* `-h, --help` show this help message and exit
* `--parent` - Parent node name or UID
* `--name` - Set user full name
* `--job-title` - Set user job title
* `--add-role` - Role name or role ID.
* `--remove-role` - Role name or role ID.
* `--add-team` - Team name or team UID.
* `--remove-team` - Team name or team UID.
* `-hsf`, `--hide-shared-folders` - User does not see shared folders. `--add-team`
  * only: `{on,off}`

**Example:**

```
My Vault> enterprise-user --edit <User email> --name <FULL_NAME> --job-title <JOB_TITLE> --add-role <ADD_ROLE> -hsf on
```

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
from keepersdk.enterprise import batch_management, enterprise_management

batch = batch_management.BatchManagement(loader=context.enterprise_loader, logger=self)

user = enterprise_data.users.get_entity('user_name')
users = [user]
users_to_update = [enterprise_management.UserEdit(
                enterprise_user_id=user.enterprise_user_id, node_id=parent_node_id, full_name=full_name, job_title=job_title)
                for user in users]
batch.modify_users(to_update=users_to_update)
batch.apply()
```

</details>

### Enterprise User Delete Command

Delete users from enterprise.

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user delete <email>`

**Alias** :`eu delete <email>`

**Parameter**:

`email` Email ID (required)

**Options:**

* `--yes` - Skip confirmation prompt (for delete)

**Example:**

```csharp
My Vault> eneterprise-user delete john.doe@company.com
# Skip confirmation
eu delete user@example.com --yes 
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** `DeleteUser`

```csharp
Task DeleteUser(EnterpriseUser user);
```

</details>

<details>

<summary>PowerCommander</summary>

**Command:** `Remove-KeeperEnterpriseUser` OR `delete-user`

**Parameters:**

* `-User` - User email (required)
* `-Force` - Skip confirmation

**Example:**

```powershell
PS> Remove-KeeperEnterpriseUser -User<user email> 
OR
delete-user "user@example.com" -Force
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user --delete`

**Parameter**:

`email` - User email or UID. Can be repeated. (required)

**Flag:**

* `-h, --help` show this help message and exit
* `-f`, `--force` - Do not prompt for confirmation

**Example:**

```
My Vault>enterprise-user --delete <User_Email OR UID> -f
```

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
from keepersdk.enterprise import batch_management, enterprise_management

user = enterprise_data.users.get_entity('user_name')
users = [user]
batch = batch_management.BatchManagement(loader=enterprise_loader, logger=enterprise_management_logger)
users_to_delete = [enterprise_management.UserEdit(enterprise_user_id=user.enterprise_user_id) for user in users]
batch.modify_users(to_remove=users_to_delete)
batch.apply()
```

</details>

### Enterprise User Action Command

Enterprise user actions like lock, unlocking and moving can be performed using this command.

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> user_email`

**Examples:**

**Lock User:**

```sh
My Vault> enterprise-user lock john.doe@company.com OR eu lock john.doe@company.com
```

**Unlock User:**

```shell
My Vault> enterprise-user unlock john.doe@company.com OR eu enterprise-user unlock john.doe@company.com
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** `SetUserLocked`

```csharp
Task<EnterpriseUser> SetUserLocked(EnterpriseUser user, bool locked);
```

if locked is set to true, then user will be locked, else user will unlock.

**Example:**

```csharp
var user = await context.EnterpriseData.SetUserLocked(singleUser, arguments.Command == "lock");
```

</details>

<details>

<summary>PowerCommander</summary>

**Command**: `Lock-KeeperEnterpriseUser` or `Unlock-KeeperEnterpriseUser`

**Aliases:** `lock-user`, `unlock-user`

**Parameter: -**`User` -User email

```powershell
PS> Unlock-KeeperEnterpriseUser -User acme1@email.com
unlock-user "user@example.com"

Lock-KeeperEnterpriseUser -User "user@example.com"
lock-user "user@example.com"
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user --action`

**Parameter**:

`email` - User email or ID. (required)

**Flag:**

* `-h, --help` - Show this help message and exit
* `--expire` - Expire master password
* `--extend` - Extend vault transfer consent by 7 days. Supports the following pseudo users: @all
* `--lock` - Lock user
* `--unlock` - Unlock user
* `--disable-2fa` - Disable 2fa for user

**Example:**

```
My Vault> enterprise-user --action <User_Email OR UID> --expire
```

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
from keepersdk.enterprise import batch_management, enterprise_management

user = enterprise_data.users.get_entity('user_name')
users = [user]
batch = batch_management.BatchManagement(loader=enterprise_loader, logger=enterprise_management_logger)
if expire_password:
    batch.user_actions(to_expire_password=[user.enterprise_user_id for user in users])
elif extend_transfer:
    batch.user_actions(to_extend_transfer=[user.enterprise_user_id for user in users])
elif lock_user:
    batch.user_actions(to_lock=[user.enterprise_user_id for user in users])
elif unlock_user:
    batch.user_actions(to_unlock=[user.enterprise_user_id for user in users])
elif disable_2fa:
    batch.user_actions(to_disable_tfa=[user.enterprise_user_id for user in users])
else:
    return

batch.apply()
```

</details>

### Enterprise User Alias Command

Manage user aliases by either adding or removing aliases.

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> username --alias="<alias>" OR eu <action> username --alias="<alias>"`

**Parameter:**

`email` - User email or ID.

**Examples:**

**Add-Alias:**

```sh
My Vault> eu alias-add john.doe@company.com --alias "j.doe@company.com"
```

**Alias-Remove:**

```sh
My Vault> eu alias-remove john.doe@company.com --alias "j.doe@company.com"
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Coming Soon

</details>

<details>

<summary>PowerCommander</summary>

**Command**: Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `enterprise-user alias`

**Parameter**:

`email` - User email or ID (required)

**Flag:**

* `--add-alias` - Adds user alias
* `--remove-alias` - Removes user alias

</details>

<details>

<summary>Python SDK</summary>

**Function:**

```python
from keepersdk.enterprise import batch_management, enterprise_management

user = enterprise_data.users.get_entity('user_name')
aliases = enterprise_data.user_aliases.get_links_by_subject(user.enterprise_user_id)
add_user = 'email_to_add_as_alias'
if user.username == add_user:
    logging.error(f'User "%s" alias already exists', add_user)
has_alias = any((True for alias in aliases if alias.username == add_user))
if has_alias:
    alias_rq = APIRequest_pb2.EnterpriseUserAliasRequest()
    alias_rq.enterpriseUserId = user.enterprise_user_id
    alias_rq.alias = add_user
    KeeperAuth.execute_auth_rest('enterprise/enterprise_user_set_primary_alias', alias_rq)
else:
    alias_request = APIRequest_pb2.EnterpriseUserAddAliasRequest()
    alias_request.enterpriseUserId = user.enterprise_user_id
    alias_request.alias = add_user
    alias_request.primary = True
    add_rs = KeeperAuth.execute_auth_rest(
        'enterprise/enterprise_user_add_alias', alias_request, response_type=APIRequest_pb2.EnterpriseUserAddAliasResponse)
```

</details>

### Enterprise User Resend Invite Command

This command/function helps to resend invite to an inactive user.

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> username OR eu <action> username`

**Parameter:**

`email` - User email or ID.

**Examples:**

```sh
My Vault> eu resend-invite "j.doe@company.com"
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>DotNet SDK</summary>

**Enterprise User Resend Invite:**

**Function:** `ResendEnterpriseInvite`

**Usage:**

```csharp
 public async Task ResendEnterpriseInvite(EnterpriseUser enterpriseUser)
```

**Parameters:**

<table><thead><tr><th width="227.4921875"></th><th>Description</th></tr></thead><tbody><tr><td><code>enterpriseUser</code></td><td>EnterpriseUser object representing the user</td></tr></tbody></table>

**Example:**

{% code overflow="wrap" %}

```csharp
await EnterpriseManagementExamples.EnterpriseUserExamples.UserExamples.ResendEnterpriseInviteExample("tohela1765@icousd.com");
```

{% endcode %}

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>PowerCommander</summary>

**Command**: `Invoke-ResendKeeperEnterpriseInvite`

**Parameters**

<table><thead><tr><th width="136.107421875">Parameter</th><th width="184.5068359375">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>-User</code></td><td><code>string</code> or <code>long</code></td><td>User email address or enterprise user ID (numeric).</td></tr></tbody></table>

**Examples**

**Resend invite by email**

```powershell
Invoke-ResendKeeperEnterpriseInvite -User "user@example.com"
```

**Resend invite by user ID**

```powershell
Invoke-ResendKeeperEnterpriseInvite -User 12345678
```

**Positional usage**

```powershell
Invoke-ResendKeeperEnterpriseInvite "newuser@company.com"
```

**Output**

```
Invite for user@example.com resent.
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python CLI</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python SDK</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

### Enterprise User Set Master Password Expire Command

This command/function sets the master password expiration and forces the user to set a new password.

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> username OR eu <action> username`

**Parameter:**

`email` - User email or ID.

**Examples:**

```sh
My Vault> eu set-master-password-expire "nelelex252@hudisk.com"
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>DotNet SDK</summary>

**Enterprise User Set Master Password Expire:**

**Function:** `SetMasterPasswordExpire`

**Usage:**

```csharp
 public async Task SetMasterPasswordExpire(string email)
```

**Parameters:**

<table><thead><tr><th width="227.4921875"></th><th>Description</th></tr></thead><tbody><tr><td><code>email</code></td><td>Give user email</td></tr></tbody></table>

**Example:**

{% code overflow="wrap" %}

```csharp
await EnterpriseManagementExamples.EnterpriseUserExamples.UserExamples.SetMasterPasswordExpireExample("nelelex252@hudisk.com");
```

{% endcode %}

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>PowerCommander</summary>

**Command**: `Set-KeeperEnterpriseUserMasterPasswordExpire`

**Flags**:

<table><thead><tr><th width="150.9345703125">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>User</code></td><td>User whose password needs to be expired.</td></tr></tbody></table>

**Example**:

```powershell
PS> Set-KeeperEnterpriseUserMasterPasswordExpire -User tofam63308@ixospace.com                                  
Master password expiration set for tofam63308@ixospace.com
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python CLI</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python SDK</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> username --team=<team_name> --user-type=<user_type>`

**Parameter:**

`email` - User email or ID.

`team` - Team name or ID

`user-type` - 0=user, 1=admin, 2=admin\_only (means he wont see the shared folders but can add users to the team)

**Examples:**

```sh
My Vault> eu team-user-update "nelelex252@hudisk.com" --team="T2" --user-type=0
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>DotNet SDK</summary>

**Enterprise Team User Update:**

**Function:** `TeamEnterpriseUserUpdate`

**Usage:**

```csharp
 public async Task TeamEnterpriseUserUpdate(EnterpriseTeam enterpriseTeam, EnterpriseUser enterpriseUser, int userType)
```

**Parameters:**

<table><thead><tr><th width="227.4921875"></th><th>Description</th></tr></thead><tbody><tr><td><code>enterpriseTeam</code></td><td>EnterpriseTeam object representing the team</td></tr><tr><td><code>enterpriseUser</code></td><td>EnterpriseUser object representing the user</td></tr><tr><td><code>userType</code></td><td>0=user, 1=admin, 2=admin_only (means he wont see the shared folders but can add users to the team)</td></tr></tbody></table>

**Example:**

{% code overflow="wrap" %}

```csharp
await EnterpriseManagementExamples.EnterpriseUserExamples.UserExamples.TeamEnterpriseUserUpdateExample("jTiPyIP4NmPiyAVv2oKFpw", "nebilem641@nctime.com", 0);
```

{% endcode %}

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>PowerCommander</summary>

**Command:** `Update-KeeperEnterpriseTeamUser`

**Flags:**

<table><thead><tr><th width="150.9345703125">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>User</code></td><td>Updates enterprise user information.</td></tr><tr><td><code>Team</code></td><td>Team name or UID</td></tr><tr><td><code>UserType</code></td><td>User type: 0, 1, or 2<br>0 - User (Normal User)<br>1 - Administrator<br>2 - Administrator Only</td></tr></tbody></table>

**Example:**

```powershell
PS > Update-KeeperEnterpriseTeamUser -Team PCTTeam -User tofam63308@ixospace.com -UserType 1                     
Team user tofam63308@ixospace.com updated
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python CLI</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python SDK</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

### Enterprise User Update Command

This command/function is used to update the user like display name, job title

<details>

<summary>DotNet CLI</summary>

**Command:** `enterprise-user <action> username --node=<node_name> --name=<display_name> --job-title=<title> --invitee-locale=<location_name>`

**Parameter:**

`email` - User email or ID.

`node` - New node name or ID.

`name` - New user display name.

`job-title` - New job title.

`invitee-locale` - New location.

**Examples:**

{% code overflow="wrap" %}

```sh
My Vault> eu user-update "nelelex252@hudisk.com" --node="Test" --name="T122" --job-title="T-Engineer" --invitee-locale="en-US" 
```

{% endcode %}

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>DotNet SDK</summary>

**Enterprise User Update:**

**Function:** `EnterpriseUserUpdate`

**Usage:**

{% code overflow="wrap" %}

```csharp
public async Task<EnterpriseUser> EnterpriseUserUpdate(EnterpriseUser enterpriseUser, long? nodeId = null, string fullName = null, string jobTitle = null, string inviteeLocale = null)
```

{% endcode %}

**Parameters:**

<table><thead><tr><th width="227.4921875"></th><th>Description</th></tr></thead><tbody><tr><td><code>enterpriseUser</code></td><td>EnterpriseUser object representing the user</td></tr><tr><td><code>nodeId</code></td><td>Enter Node Id or name</td></tr><tr><td>fullName</td><td>Enter display name</td></tr><tr><td>jobTitle</td><td>Enter job title name</td></tr><tr><td>inviteeLocale</td><td>one of the 21 locales that we support. Default is en_US.</td></tr></tbody></table>

**Example:**

{% code overflow="wrap" %}

```csharp
await EnterpriseManagementExamples.EnterpriseUserExamples.UserExamples.EnterpriseUserUpdateExample("nebilem641@nctime.com", 70411693850884, "TestUser1", "Test Engineer", "en-US");
```

{% endcode %}

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>PowerCommander</summary>

**Command**: `Update-KeeperEnterpriseUser`

**Flags**:

<table><thead><tr><th width="150.9345703125">Parameter</th><th width="189.5146484375">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>User</code></td><td>True</td><td>Updates enterprise user information.</td></tr><tr><td><code>Node</code></td><td>False</td><td>Node name or ID</td></tr><tr><td><code>FullName</code></td><td>False</td><td>User's full name</td></tr><tr><td><code>JobTitle</code></td><td>False</td><td>User's job title</td></tr><tr><td><code>InviteeLocale</code></td><td>False</td><td>User's locale for invitations</td></tr></tbody></table>

**Example**:

```powershell
PS> Update-KeeperEnterpriseUser -User tofam63308@ixospace.com -Node PCTNode -FullName "some new name" -JobTitle "ÄBC" -InviteeLocale US
User tofam63308@ixospace.com updated

Id             DisplayName   Email                   UserStatus NodeName TransferStatus 2FA
--             -----------   -----                   ---------- -------- -------------- ---
70411693853031 some new name tofam63308@ixospace.com Active     PCTNode       Yes       No
```

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python CLI</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>

<details>

<summary>Python SDK</summary>

Comming Soon

**Reference:**

[Commander Reference](https://docs.keeper.io/en/keeperpam/commander-cli/command-reference/enterprise-management-commands#changing-role-enforcements-and-privileges)

</details>
