Basic Administration > Managing Data > Organization Administration > Understanding Organizations > Using the OrganizationSync Utility for User Organization Changes
  
Using the OrganizationSync Utility for User Organization Changes
When a user is moved from one organization to another by using a third party tool that allows your site to modify user entries in your directory service, the domains of the user and of the user's personal cabinet are not automatically changed. As the site administrator, you can use the OrganizationSync command-line utility to update organization-related information for users who have changed organizations. After changing the user's organization through a third party tool, run the OrganizationSync utility to change the other organization-related information for the user. Using the utility ensures that properties of a user or set of users are in sync with their current organization.
* 
If you use the Participant Administration utility (and not a third party tool) to update user information in your directory service, then the OrganizationSync utility is automatically run as a result of changing a user's organization from the Edit User window.
The OrganizationSync utility does the following:
Assigns a set of user-related business objects to the administrative domain of the user’s current organization. If a user does not have an organization, these objects are assigned to the Unaffiliated domain. The objects reassigned include the WTUser object, the user’s personal cabinet and content of that personal cabinet, and the user’s notebook.
Removes the user from the administrators and creators groups of their previous organization context, if necessary. The utility determines the previous context by extracting the context of the user’s previous administrative domain.
Updates the organization groups of any teams, in which the user was a member, to reflect the user’s current organizational membership.
* 
It is safe to run the OrganizationSync utility on a user that was not actually updated.
The syntax of the OrganizationSync command is as follows:
java wt.inf.container.OrganizationSync {--users <user_list>} {--domains <domain_list>}
{--domain-hierarchies <domain_list>} {--organizations <organization_list>}
The brackets ({}) in the syntax indicate optional parameters and indicate parameters that you specify together. Parameter names are case-sensitive; enter the names using the case shown in the syntax and the following table.
Parameter Value
Description
<user_list>
A space-separated list of user names.
<domain_list>
A space-separated list of domain paths.
<organization_list>
A space-separated list of organization names.
When <domain_list> is used with the --domains parameter, all users in the domain are synchronized. When <domain_list> is used with the --domain-hierarchies parameter, all the users in each domain and in all descendent domains are synchronized.
* 
Always run the OrganizationSync utility from a windchill shell. For details on using the windchill shell, see About the windchill shell.
Examples:
//Update the foo and bar users
java wt.inf.container.OrganizationSync --users foo bar

// Update all users in the site-level Unaffiliated domain
// and the "PTC Inc" domain in the "PTC Inc" org container
java wt.inf.container.OrganizationSync --domains [/]/User/Unaffiliated
"[/wt.inf.container.OrgContainer=PTC Inc]/PTC Inc"

// Update all users in the site-level User domain, and in
// all of its child domains
java wt.inf.container.OrganizationSync --domain-hierarchies [/]/User

// Update all members of the "Acme Inc." and
// "Widget Intl." organizations
java wt.inf.container.OrganizationSync --organizations "Acme Inc."
"Widget Intl."
In the above examples, the container path is enclosed in brackets to separate it from the domain path. [/] is the Site (root) container.