Condividi tramite


Funzione NetLocalGroupAdd (lmaccess.h)

La funzione NetLocalGroupAdd crea un gruppo locale nel database di sicurezza, ovvero il database di gestione degli account di sicurezza (SAM) o, nel caso dei controller di dominio, Active Directory.

Sintassi

NET_API_STATUS NET_API_FUNCTION NetLocalGroupAdd(
  [in]  LPCWSTR servername,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD parm_err
);

Parametri

[in] servername

Puntatore a una stringa che specifica il nome DNS o NetBIOS del server remoto in cui deve essere eseguita la funzione. Se questo parametro è NULL, viene utilizzato il computer locale.

[in] level

Livello informativo dei dati. Questo parametro può avere uno dei valori seguenti.

Valore Significato
0
Nome del gruppo locale. Il parametro buf punta a una struttura LOCALGROUP_INFO_0 .
1
Un nome di gruppo locale e un commento da associare al gruppo. Il parametro buf punta a una struttura LOCALGROUP_INFO_1 .

[in] buf

Puntatore a un buffer contenente la struttura delle informazioni sul gruppo locale. Il formato di questi dati dipende dal valore del parametro level . Per altre informazioni, vedere Buffer delle funzioni di gestione di rete.

[out] parm_err

Puntatore a un valore che riceve l'indice del primo membro della struttura delle informazioni del gruppo locale per causare l'errore ERROR_INVALID_PARAMETER. Se questo parametro è NULL, l'indice non viene restituito in caso di errore. Per altre informazioni, vedere la sezione Osservazioni nell'argomento NetLocalGroupSetInfo .

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NERR_Success.

Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato per completare l'operazione.
ERROR_ALIAS_EXISTS
Il gruppo locale specificato esiste già. Questo errore viene restituito se il membro del nome del gruppo nella struttura a cui punta il parametro buf è già in uso come alias.
ERROR_INVALID_LEVEL
Un parametro di livello non è valido.
ERROR_INVALID_PARAMETER
Un parametro non è corretto. Questo errore viene restituito se uno o più membri della struttura a cui punta il parametro buf non è valido.
NERR_GroupExists
Il nome del gruppo esiste. Questo errore viene restituito se il membro del nome del gruppo nella struttura a cui punta il parametro buf è già in uso come nome di gruppo.
NERR_InvalidComputer
Il nome del computer non è valido.
NERR_NotPrimary
L'operazione è consentita solo nel controller di dominio primario del dominio.
NERR_UserExists
Nome utente esistente. Questo errore viene restituito se il membro del nome del gruppo nella struttura a cui punta il parametro buf è già in uso come nome utente.

Commenti

Se si chiama questa funzione in un controller di dominio che esegue Active Directory, l'accesso viene consentito o negato in base all'elenco di controllo di accesso (ACL) per l'oggetto a protezione diretta. L'elenco di controllo di accesso predefinito consente solo agli amministratori di dominio e agli operatori account di chiamare questa funzione. In un server membro o in una workstation, solo gli amministratori e Power Users possono chiamare questa funzione. Per altre informazioni, vedere Requisiti di sicurezza per le funzioni di gestione di rete. Per altre informazioni su ACL, ACL e token di accesso, vedere Controllo di accesso Model.

Il descrittore di sicurezza del contenitore utente viene usato per eseguire il controllo di accesso per questa funzione. Il chiamante deve essere in grado di creare oggetti figlio della classe group.

I nomi degli account utente sono limitati a 20 caratteri e i nomi dei gruppi sono limitati a 256 caratteri. Inoltre, i nomi di account non possono essere terminati da un punto e non possono includere virgole o uno dei caratteri stampabili seguenti: ", /, , [, ], :, |, <, , >+, =, ;, ?, *. I nomi non possono includere anche caratteri nell'intervallo 1-31, che non sono stampabili.

Se la funzione NetLocalGroupAdd restituisce ERROR_INVALID_PARAMETER e non è stato passato un puntatore NULL nel parametro parm_err , in caso di restituzione del parametro parm_err indica il primo membro della struttura delle informazioni del gruppo locale non valida. Il formato della struttura delle informazioni sul gruppo locale viene specificato nel parametro level . Un puntatore alla struttura di informazioni del gruppo locale viene passato nel parametro buf . Nella tabella seguente sono elencati i valori che possono essere restituiti nel parametro parm_err e nel membro della struttura corrispondente in errore.

Valore Membro
LOCALGROUP_NAME_PARMNUM Se il parametro di livello è 0, il membro lgrpi0_name della struttura LOCALGROUP_INFO_0 non è valido.

Se il parametro di livello è 1, il membro lgrpi1_name della struttura LOCALGROUP_INFO_1 non è valido.

LOCALGROUP_COMMENT_PARMNUM Se il parametro di livello è 1, il membro lgrpi1_comment della struttura LOCALGROUP_INFO_1 non è valido.
 

Quando si effettuano richieste a un controller di dominio e Active Directory, è possibile chiamare determinati metodi di Active Directory Service Interface (ADSI) per ottenere gli stessi risultati delle funzioni del gruppo locale di gestione di rete. Per altre informazioni, vedere IADsGroup.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione lmaccess.h (include Lm.h)
Libreria Netapi32.lib
DLL Netapi32.dll

Vedi anche

LOCALGROUP_INFO_0

LOCALGROUP_INFO_1

Funzioni di gruppo locali

NetLocalGroupAddMembers

NetLocalGroupDel

NetLocalGroupSetInfo

Funzioni di gestione di rete

Panoramica della gestione della rete

Buffer delle funzioni di gestione di rete