Skip to main content
7-Bedrock
June 26, 2025
Solved

is there any way to find list of all windchill users that are registered (only live)

  • June 26, 2025
  • 2 replies
  • 2647 views

Version: Windchill 12.0

 

Use Case: find list of registered user in windchill system


Description:

hello all,

 

i tried to find windchill registered users list from SQL but it has given me over 5000+ entries which is not correct.

 

looking into our security group we have only 832 users in the system. is there any way to find the list of users in the windchill system.

 

thanks,

sandeep 

Best answer by mmeadows-3

I'm guessing you are right.  The "Registered Users" is every user entry in the database.  These are created when someone performs a wildcard participant search in Windchill and the search base is set to the root of the DN structure, or when there isn't a defined search filter in the JNDI Adapter.  These responses are specific to Active Directory.  Attributes like memberOf will change if using OpenDJ or another LDAP.

 

Always do cleanup in a non-production environment first.

 

I would clean up the 354 Disconnected Users first.  Clear and delete their workspaces, undo check outs, reassign open tasks, and finally delete the disconnected participants.  Once cleanup is complete, define the following JNDI Adapter mappings, purge participant cache, and restart Windchill.  If I am right, you should get well over 10k disconnected participants.  It is safe to delete them if they have never touched the system.  Otherwise, go through the cleanup process on them too.  User reporting to find disconnected participants who own workspaces, checked out objects, and open task.

 

The correct answer for your environment depends on how your LDAP is structured and where all potential Windchill users reside in the LDAP.  There are four properties that can help reduce the number of wtUser entries in the database.

1. {adapter name}.searchBase=dc=company,dc=com

Starting point for finding user accounts for this JNDI Adapter.

There can be more than one JNDI Adapter, especially for organization/site mapping and when Windchill users belong to a few unique search bases.

Search Bases must be unique across all JNDI Adapters and cannot be nested.

 

2. {adapter name}.searchScope=SUBTREE

Determines if the search for user accounts is recursive (SUBTREE) or flat (ONELEVEL).

 

3. {adapter name}.windchill.mapping.user.objectClass=user

Excludes conference rooms, groups, and other non-user entries.

 

4. {adapter name}.windchill.mapping.user.filter=(memberOf={DN of 'filter' group})

This group includes all Windchill users.

Users who are members of this group must have the memberOf attribute pointing to the DN of this group.

Windchill searches for users with the memberOf attribute with a value matching the DN of this group.

The LDAP Administrators (IT) must add Windchill users to this security group before Windchill can see them.

 

Note: each JNDI Adapter also maps users to organizations.  If you have more than one organization, use these properties to map JNDI Adapter members to a specific Windchill organization.  The user filter above does not apply to organization mapping.  Any user under the search base will be mapped according to these LDAP mapping attributes.

{adapter name}.windchill.mapping.user.o=organization

This maps the organization name to the organization attribute value in the corporate LDAP.

The attribute value can be different for every user.

A blank value in the LDAP attribute will map the user to the Site.

 

{adapter name}.windchill.mapping.usersOrganizationName={organization name}

This sets the organization name for all members of the JNDI Adapter to a single value.

A blank value will map all users found under the JNDI Adapter to the Site.

 

Excluding these organization mapping attributes will default JNDI Adapter participants to the Site context.

 

Note: Some companies also use the user filter on Apache to prevent logins.  Others just don't assign licensing and the users can't get in anyway.

 

To summarize, the cleanest solution is to use a 'filter' security group and have IT add only the Windchill users to that group.

That approach may not be practical with thousands of active users and a constantly changing list of Windchill users.

So consider all these mapping attributes to find the correct integration for your environment.

2 replies

Marco Tosin
21-Topaz I
21-Topaz I
June 26, 2025

You can use this query builder report

 

Report to list all active users and the time when they created

 

If you want to extract an SQL query from above report, you can read also this article

 

How to get the SQL statement of the Query Builder Report

 

 

 

Marco
sandy0077-BedrockAuthor
7-Bedrock
June 26, 2025

I tried this Report to list all active users and the time when they created but it is again throwing 2000+ entries which seems way more then what actually we have.

 

 

Marco Tosin
21-Topaz I
21-Topaz I
June 26, 2025

Do you use ProjectLink by any chance?

 

I used the same report and noticed that it multiplies the users because it finds more values in the Full Name column

 

In my case if I filter for users that do NOT have the “@” character in the name (i.e. when the user matches the email address used by ProjectLink) the number decreases.

 

Are there other similar conditions that increase the number of users?

 

Using the filter described above, the number of my users matches those who have access to Windchill.

 

 

Marco
avillanueva
23-Emerald I
23-Emerald I
June 26, 2025

Just clarifying. @Marco_Tosin has some good suggestions about ProjectLink. Is your practice when a employee leaves the company to leave the account in the system and move them to a disabled users group? Temporarily Deactivating a User This would show that users never leave but in practice they are denied access. The active user report should give you a true count of all accounts that could potentially login. Not all may be assigned licenses. If you are not deleting the user account when that user has left or no longer needs access to Windchill, you might have to fold in some other reports and groups to arrive at your true count.

One report you can look into is the "List of users and their last login" which can show you accounts that may exist but that user has never logged in or has not in a very long time. Next I would look at license assignments and sum those up. If the user does not have a license, they might be able to log in but cannot do anything. I suspect that you might have to do some cleanup. 

sandy0077-BedrockAuthor
7-Bedrock
June 26, 2025

Hi @Marco_Tosin , we don't have project link installed.

 

@avillanueva  we have a custom report that helps us to pull disconnected users that we run every month. we delete those users from windchill by "delete from windchill" action. 

so when we delete the users from system, why would the report still show them? the users which were deleted previously, i tried to find them in participant table but nothing is showing up so the report that is showing up 2000+ entries, not all have the licenses assigned? they can just login as they are created in LDAP, am i correct? because i found one user who's license profile table and group table is empty.

 

 

Br,

Sandeep

Marco Tosin
21-Topaz I
21-Topaz I
June 26, 2025

The reports cited by @avillanueva  are these

 

How to display user's last login time in a query builder report

 

https://community.ptc.com/t5/Windchill/DOES-ANYONE-KNOWS-QUERY-TO-CHECK-LAST-LOGIN-OF-A-USER-INACTIVE/td-p/399956

 

@sandy007 , do you use AD to connect users to Windchill?

 

We have another user management system that ensures that only those in AD who are part of a certain organization and a specific group can access the system.

 

This way we have more control over the users, and when a user no longer needs to log in, all we have to do is remove him from the group and the organization.

 

In this way users who are not on the two lists are not even presented with the login window to Windchill

 

 

Marco