Вы можете изменить имя пользователя учетной записи с помощью функции NetUserSetInfo.
Если вы хотите изменить только имя пользователя, установите аргумент уровня в 0 и передайте структуру USER_INFO_0. Вы можете использовать другой уровень, если хотите изменить несколько вещей одновременно.
Это простой код, который я успешно использовал для изменения имен пользователей:
#include <Windows.h>
#include <LM.h>
#include <stdio.h>
#pragma comment(lib, "netapi32.lib")
int main(int argc, char ** argv)
{
USER_INFO_0 ui0;
NET_API_STATUS result;
LPWSTR command = GetCommandLineW();
wchar_t newname[21];
while (*command != L'*') command++;
command++;
ui0.usri0_name = newname;
wcscpy_s(newname, _countof(newname), L"decommiss-");
wcscat_s(newname, _countof(newname), command);
result = NetUserSetInfo(NULL, command, 0, (LPBYTE)&ui0, NULL);
printf("%u\n", result);
return result;
}