This is just a quick note on creating a local user group with ADSI:
#pragma comment(lib, "Activeds.lib")
#pragma comment(lib, "adsiid.Lib")
#include <iads.h>
#include <Adshlp.h>
// Definitions
CComPtr <IADsContainer> ptrADsCont;
CComPtr <IADsGroup> ptrGroup;
// Code
HRESULT hr = ADsGetObject(_T("WinNT://MyPCName"), IID_IADsContainer, (void **) &ptrADsCont);
ptrADsCont->Create(_T("group"), _T("TestGroup"), (IDispatch **) &ptrGroup);
ptrGroup->put_Description(_T("A test group"));
ptrGroup->SetInfo();Now, go check that the group is created using computer management. Look in Local Users and Groups -> Groups leaf.