I don't know how comfortable you are with code. I would suggest writing an update hook in a custom module. Something like:
MYMODULE_update_8100(&$sandbox) {
// On the initial run, set up the update.
if (empty($sandbox)) {
// Get all user ids.
$sandbox['items'] = \Drupal::entityQuery('user')
->accessCheck(FALSE)
->execute();
$sandbox['max'] = count($sandbox['items']);
if (!$sandbox['max']) {
// Prevent division by zero if there are no users.
$sandbox['#finished'] = 1;
return;
}
}
$iteration = 0;
while ($iteration < 25 && $sandbox['items']) {
$iteration ++;
// Resave each user.
\Drupal::entityTypeManager()
->getStorage('user')
->load(end($sandbox['items']))
->save();
// Remove the end of the items list when the item has finished
// processing.
array_pop($sandbox['items']);
}
// Update the completion status as a number between 0 and 1.
$sandbox['#finished'] = ($sandbox['max'] - count($sandbox['items']) / $sandbox['max'];
}
See hook_update_N
for more information.