NSX-T Reset Accounts with REST API
While troubleshooting a Workload Management deployment, I logged into my NSX-T Manager appliance to see if there were any issues. I immediately noticed several alarms, with a majority of them relating to Password Management. Sure enough, my local accounts all expired. Let’s reset the accounts with REST API!
For the purposes of this example, I will be using Postman to interface with the NSX-T Manager appliance. The first step is to configure the Authorization parameters for authentication. Now in my case, I have LDAP configured so I was able to login.
Next, I will configure my request to list out the users on the system with GET https://nsx01.lab.local/api/v1/node/users. This should return something like the following:
{ "_schema": "NodeUserPropertiesListResult", "_self": { "href": "/node/users/", "rel": "self" }, "result_count": 3, "results": [ { "full_name": "root", "last_password_change": 95, "password_change_frequency": 90, "status": "PASSWORD_EXPIRED", "userid": 0, "username": "root" }, { "full_name": "", "last_password_change": 95, "password_change_frequency": 90, "status": "PASSWORD_EXPIRED", "userid": 10000, "username": "admin" }, { "full_name": "", "last_password_change": 0, "password_change_frequency": 90, "status": "ACTIVE", "userid": 10002, "username": "audit" } ] }
Alright, all three local accounts are expired! Good times. I’m going to start with the “audit” account. From the above example that it’s userid 10002.
Next I create a new PUT request. But first, I need to update the “Body” tab with the following with json code. Be sure to adjust for your passwords of course:
{ "old_password": "RWC_]Pph,6x_z\-3u", "password": "k;(Ykz-H%NY}>U9U!xa4" }
And the request: PUT https://nsx01.lab.local/api/v1/node/users/10002.
Once the request completes, you should see the following:
{ "full_name": "", "last_password_change": 0, "password_change_frequency": 90, "status": "ACTIVE", "userid": 10002, "username": "audit" }
So far so good! Status has changed from “PASSWORD_EXPIRED” to “ACTIVE”! And a test by logging into the NSX-T Manager UI:
Great success! Now it’s time to rinse and repeat for the other expired accounts! You can check out the full NSX-T REST API guide here.