# customer.exe: Customer Accounts

The `customer.exe` utility is designed for managing customer accounts. The following operations are supported by the utility:

- creating and removing customer accounts
- enabling/disabling existing customer accounts
- editing customer’s username and password and personal information
- converting a customer account into a reseller account
- moving a customer account to another owner (reseller or administrator account)
- enabling/disabling dedicated IIS application pools for customers
- setting a limit on customer’s CPU usage

## Location

`%plesk_cli%`

## Usage

    customer.exe <command> [<login_name>] [
    <option 1> <param> [<option 2> <param>] ... [<option N> <param>]
    ]

## Example

The following command creates a customer account for John Doe for Plesk administrator, sets JohnDoe as the username and MyPass as the password, specifies the Unites States as the customer’s country, tells Plesk not to send to Plesk administrator a notification on the account creation, enables the use of the dedicated IIS application pool for this customer, and allows the use of maximum 7 % of CPU for the customer’s IIS application pool.

    plesk bin customer.exe --create JohnDoe -name "John Doe" -passwd MyPass -notify false -iis_app_pool true -cpu_usage 7

## Commands

Command | Parameter | Description | Example
--- | --- | --- | ---
`--create` or `-c` | `<login_name>` | Creates a customer account. Requires `-name` and `-passwd` options. If the account owner (provider) is not specified, a created customer account belongs to Plesk administrator. | To create the account for John Doe with the login name JohnDoe and password sample for the reseller Richard Roe:
    plesk bin customer.exe --create JohnDoe -name "John Doe" -passwd "sample" -owner RichardRoe
or
    plesk bin customer.exe -c JohnDoe -name "John Doe" -passwd "sample" -owner RichardRoe
`--update` or `-u` | `<login_name>` | Updates a customer account. | To change the login name from JohnDoe to John and set the password to 12345:
    plesk bin customer.exe --update JohnDoe -login John -passwd 12345
or
    plesk bin customer.exe -u JohnDoe -login John -passwd 12345
`--remove` or `-r` | `<login_name>` | Removes a customer account. | To remove the customer account with the login name JohnDoe:
    plesk bin customer.exe --remove JohnDoe
or
    plesk bin customer.exe -r JohnDoe
`--info` or `-i` | `<login_name>` | Outputs a customer info. | To retrieve the info on the account with the login name JohnDoe:
    plesk bin customer.exe --info JohnDoe
or
    plesk bin customer.exe -i JohnDoe
`--on` | `<login_name>` | Enables a customer account. | To enable the account with the login name JohnDoe:
    plesk bin customer.exe --on JohnDoe
`--off` | `<login_name>` | Disables a customer account. | To disable the account with the login name JohnDoe:
    plesk bin customer.exe --off JohnDoe
`--list` or `-l` |  | Displays the list of customers. | To display the list of customers:
    plesk bin customer.exe --list
`--convert-to-reseller` | `<login_name>` | Converts a customer account to a reseller account. | To convert the customer JDoe into a reseller with hosting plan “Default Reseller”:
    plesk bin customer.exe --convert-to-reseller JDoe -reseller-plan "Default Reseller"
`--change-owner` | `<login_name>` | Moves a customer account to another owner (reseller or administrator). | To move the customer JDoe to a reseller RichardRoe and assign IP address 10.25.43.125 to the customer:
    plesk bin customer.exe --change-owner JDoe -owner RichardRoe -ip 10.52.43.125 -plan "Default Domain"
`--add-aps-filter-item` | `<customer_name>` | Adds an application to the list of applications allowed for installation. This command can be used with the following options: `-aps-filter-item-name` `-aps-filter-item-value` | To add the application AdvancedPoll identified by the system by the name “advancedpoll” to the list of applications allowed for installation by customer JDoe:
    plesk bin customer.exe --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`--remove-aps-filter-item` | `<customer_name>` | Removes an APS application from the list of applications available for installation. | To remove the application named “advancedpoll” from the list of applications available for installation by customer JDoe:
    plesk bin customer.exe --remove-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`--enable-aps-filter` | `<customer_name>` | Enables the APS applications filter for the specified customer. Enables the APS applications filter for the specified customer account. The filter restricts the list of applications available for installation on websites. If an applications filter is not enabled (configured), then the customer can install all applications available from the Application Catalog + those that were uploaded to the server by the administrator and marked as available for installation. | To switch on the application filter and restrict the number of applications available for installation by customer JDoe to a single application named WordPress, use the following two commands:
    plesk bin customer.exe --enable-aps-filter "JDoe"

    plesk bin customer.exe --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "wordpress"
`--disable-aps-filter` | `<customer_name>` | Disables the APS applications filter for the specified customer. | To switch off the application filter for the customer JDoe:
    plesk bin customer.exe --disable-aps-filter "JDoe"
`--show-aps-filter-info` | `<customer_name>` | Shows information on the active APS applications filter. If an applications filter is disabled, then the customer can install all applications available from the Application Catalog + those that were uploaded to the server by the administrator and marked as available for installation. | To check if application filtering is enabled for the customer JDoe:
    plesk bin customer.exe --show-aps-filter-info "JDoe"
`--help` or `-h` |  | Displays help on the utility use. | To view help on the utility:
    plesk bin customer.exe --help
    or
    customer.exe -h

## Options

Option | Parameter | Description | Example
--- | --- | --- | ---
`-company` | `<string>` | Specifies a customer’s company name. | To set the company name in the personal info of the JohnDoe account to MegaCompany Inc.:
    plesk bin customer.exe --update JohnDoe -company "MegaCompany Inc."
`-name` | `<string>` | Specifies a customer’s contact name. Required with `--create`. | See the Example above.
`-login` | `<login_name>` | Specifies a customer’s login name. Used with `--update` only. | To change the account login name from JohnDoe to John:
    plesk bin customer.exe --update JohnDoe -login John
`-passwd` | `<password>` | Specifies a customer’s password. Required with `--create`. | To create the account for the customer John Doe with the login name JohnDoe and the password sample:
    plesk bin customer.exe --create JohnDoe -name "John Doe" -passwd sample
`-passwd_type` | `plain|encrypted` | Specifies the type of customer password. Requires `-passwd` option. Is `plain` by default. | To set the type of the password for the customer account with the login name JDoe and password sample to encrypted:
    plesk bin customer.exe -u JDoe -passwd_type encrypted -passwd '$1$R0x0hAmB$haReJwgGDaGOuFETdjv3P0'
`-phone` | `<number>` | Specifies a client’s phone number. | To set the phone number in the personal info of the client with the login name JohnDoe to 5552345678:
    plesk bin customer.exe --update JohnDoe -phone 5552345678
`-fax` | `<number>` | Specifies a customer’s fax number. | To set the fax number in the personal info of the customer with the login name JohnDoe to 5556676677:
    plesk bin customer.exe --update JohnDoe -fax 5556676677
`-email` | `<email>` | Specifies a customer’s email address. | To set the email address in the personal info of the customer with the login name JohnDoe to jd@example.com:
    plesk bin customer.exe --update JohnDoe -email jd@example.com
`-address` | `<string>` | Specifies customer’s postal address. | To set the postal address for the customer with the login name JDoe to 8 Main street:
    plesk bin customer.exe -u JDoe -address "8 Main street"
`-city` | `<string>` | Specifies a customer’s city. | To set the city in the personal info of the customer with the login name JohnDoe to New York:
    plesk bin customer.exe --update JohnDoe -city "New York"
`-state` | `<string>` | Specifies a customer’s state/province. | To set the state in the personal info of the of the customer with the login name JohnDoe to NY:
    plesk bin customer.exe --update JohnDoe -state NY
`-zip` | `<string>` | Specifies a customer’s zip/postal code. | To set the zip code in the personal info of the customer with the login name JohnDoe to 77381:
    plesk bin customer.exe --update JohnDoe -zip 77381
`-country` | `<string>` | Specifies a customer’s country: a two-letters upper-case code in compliance with ISO 3166. | To set the country in the personal info of the customer with the login name JohnDoe to United States:
    plesk bin customer.exe --update JohnDoe -country US
`-notify` | `true|false` | Enables/Disables sending a notification on a customer account creation. Used with `--create` only. | See the Example above.
`-creation-date` | `<YYYY-MM-DD>` | Sets the customer account creation date (can be arbitrary). Used only with the `--create` command. | To set the creation date for the new John Doe customer account with the login JDoe and password sample for Plesk administrator to 2010-08-25:
    plesk bin customer.exe -c JDoe -name "John Doe" -passwd sample -creation-date 2010-08-25
`-iis_app_pool` | `true|false` | Specifies whether the dedicated IIS application pool is provided for a customer. Is `false` by default. | To grant dedicated IIS application pool to the account with the login JohnDoe:
    plwsk bin customer.exe --update JohnDoe -iis_app_pool true
`-max-worker-processes` | `<number>` | Sets the maximum number of worker processes permitted to service requests for IIS application pool. | To set the maximum number of worker processes for the dedicated IIS application pool of the account with the login JohnDoe to 3:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -max-worker-processes 3
`-idle-timeout` | `<minutes>` | The amount of time a worker process will remain idle before it shuts down. | To set the length of time worker processes for the dedicated IIS application pool of the account with the login JohnDoe are allowed to remain idle to 2 minutes:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -idle-timeout 2
`-managed-pipeline-mode` | `Integrated|Classic` | Configures ASP.NET to run in classic mode as an ISAPI extension or in integrated mode where managed code is integrated into the request-processing pipeline. | To have ASP.NET run in the integrated mode for the dedicated IIS application pool of the account with the login JohnDoe:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -managed-pipeline-mode Integrated
`-cpu_usage` | `<number>` | Limits a percent of CPU usage for a customer’s IIS application pool (in %). Used only if a customer is provided with dedicated IIS application pool. Unlimited if set to `-1`. | To restrict the CPU usage for the dedicated IIS application pool of the account with the login JohnDoe to 5 %:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -cpu_usage 5
- `-cpu-usage-action` | `NoAction|KillW3wp` | Specifies the action that IIS takes when worker processes exceed the limit on CPU time usage. `NoAction` - no action is taken when the CPU limit is exceeded. A warning is written to the event log. `KillW3wp` - processes that exceed their CPU limit will be forced to shut down. | To set up the following CPU usage settings for the dedicated IIS application pool of the customer JDoe: shut down the IIS application pool for the rest of the reset interval if the processes have exceeded the limit, reset monitoring data every 5 minutes:
      plesk bin customer.exe --update Jdoe -iis-app-pool true -cpu-usage-action KillW3wp -cpu-usage-interval 5
`-cpu-usage-interval` | `<minutes>` | Specifies the reset interval for monitoring of CPU usage by worker processes. |
`-recycling-by-time` | `<minutes>` | The period of time after which IIS application pool recycles. | To set the period of time after which the dedicated IIS application pool of the customer JDoe recycles to 1 hour:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -recycling-by-time 60
`-recycling-by-requests` | `<number>` | The maximum number of requests IIS application pool can process before it recycles. | To set the maximum number of requests the dedicated IIS application pool of the customer JDoe can process before it recycles to 1000:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -recycling-by-requests 1000
`-recycling-by-virtual-memory` | `<KB>` | The maximum amount of virtual memory a worker process can consume before causing IIS application pool to recycle. | To set the maximum amount of virtual memory a worker process can consume before causing the dedicated IIS application pool of the customer JDoe to recycle to 5 MB:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -recycling-by-virtual-memory 5120
`-recycling-by-private-memory` | `<KB>` | The maximum amount of private memory a worker process can consume before causing IIS application pool to recycle. | To set the maximum amount of private memory a worker process can consume before causing the dedicated IIS application pool of the customer JDoe to recycle to 10 MB:
    plesk bin customer.exe --update JohnDoe -iis_app_pool true -recycling-by-private-memory 10240
`-owner` | `<login_name>` | Specifies the customer account provider’s login name. Used with the `--c` reate and `--change-owner` commands. | To create a customer account named John Doe with the login name JDoe and password sample for the reseller RichardRoe:
    plesk bin customer.exe -c JDoe -name "John Doe" -passwd sample -owner RichardRoe
`-reseller-plan` | `<string>` | Specifies the reseller plan that will be used for a reseller that was converted from the specified customer. | To convert the customer JDoe into a reseller with hosting plan “Default Reseller”:
    plesk bin customer.exe --convert-to-reseller JDoe -reseller-plan "Default Reseller"
`-plan` | `<string>` | Specifies a plan that will be assigned to the customer’s subscription after moving to another owner. | To move the customer JDoe to a reseller RichardRoe and assign IP address 10.25.43.125 to the customer:
    plesk bin customer.exe --change-owner JDoe -owner RichardRoe -ip 10.52.43.125 -plan "Default Domain"
`-ip` | `<IP address>[,<IP address>,..]` | Specifies the list of IP addresses that will be assigned to the customer’s subscriptions after moving the customer to another owner. |
`-description` | `<string>` | Specifies a description of the customer to be displayed in Plesk. | To add a description to the customer account JDoe:
    plesk bin customer.exe -u JDoe -description "Notes about John Doe"
`-aps-filter-item-name` | `<name|uri>` | Specifies identifier of APS applications filter item: whether the filtered app is identified by name or URI. | To add an application AdvancedPoll identified by the system by the name “advancedpoll” to the list of applications allowed for installation by the customer JDoe:
    plesk bin customer.exe --add-aps-filter-item "JDoe" -aps-filter-item-name name -aps-filter-item-value "advancedpoll"
`-aps-filter-item-value` | `<value>` | Specifies the actual name or URI of the filtered APS app. |