Metodo JoinDomainOrWorkgroup della classe Win32_ComputerSystem

Il metodo JoinDomainOrWorkgroup aggiunge un sistema computer a un dominio o a un gruppo di lavoro.

In questo argomento viene utilizzata la sintassi MOF (Managed Object Format). Per altre informazioni sull'uso di questo metodo, vedere Chiamata di un metodo.

Sintassi

uint32 JoinDomainOrWorkgroup(
  [in] string Name,
  [in] string Password,
  [in] string UserName,
  [in] string AccountOU,
  [in] uint32 FJoinOptions = 
);

Parametri

Nome [in]

Specifica il dominio o il gruppo di lavoro da aggiungere. Non può essere NULL.

Password [in]

Se il parametro UserName specifica un nome account, il parametro Password deve puntare alla password da usare per la connessione al controller di dominio. In caso contrario, questo parametro deve essere NULL.

UserName [in]

Puntatore a una stringa di caratteri con terminazione Null costante che specifica il nome dell'account da usare per la connessione al controller di dominio. Specificare un nome NetBIOS di dominio e un account utente, ad esempio Domain\user. Se questo parametro è NULL, vengono usate le informazioni sul chiamante.

È anche possibile usare il nome dell'entità utente (UPPED) nel formato user@domain.

AccountOU [in]

Specifica il puntatore a una stringa di caratteri con terminazione Null costante contenente il nome di formato RFC 1779 dell'unità organizzativa per l'account computer. Se si specifica questo parametro, la stringa deve contenere un percorso completo, altrimenti Accent deve essere NULL.

Esempio: "OU=testOU; DC=domain; DC=Domain; DC=com"

FJoinOptions [in]

Set di flag di bit che definiscono le opzioni di join.

(0)

Predefinito. Nessuna opzione di join.

NET edizione StandardTUP_JOIN_DOMAIN (0x00000001)

Aggiunge il computer a un dominio. Se questo valore non viene specificato, aggiunge il computer a un gruppo di lavoro.

NET edizione StandardTUP_ACCT_CREATE (0x00000002)

Crea l'account nel dominio.

NET edizione StandardTUP_WIN9X_UPGRADE (0x00000010)

L'operazione di join viene eseguita come parte di un aggiornamento.

NET edizione StandardTUP_DOMAIN_JOIN_IF_JOINED (0x00000020)

Consente l'aggiunta a un nuovo dominio anche se il computer è già stato aggiunto a un dominio.

NET edizione StandardTUP_JOIN_UNedizione Standard CURE (0x00000040)

esegue un join non sicuro.

Questa opzione richiede un aggiunta a un dominio a un account creato in modo predefinito senza eseguire l'autenticazione con le credenziali utente del dominio. Questa opzione può essere usata insieme all'opzione NET edizione StandardTUP_MACHINE_PWD_PASedizione Standard D. In questo caso, Password è la password dell'account del computer creato in modo predefinito.

Prima di Windows Vista con SP1 e Windows Server 2008, un join non sicuro non esegue l'autenticazione al controller di dominio. Tutte le comunicazioni sono state eseguite usando una sessione null (non autenticata). A partire da Windows Vista con SP1 e Windows Server 2008, il nome e la password dell'account del computer vengono usati per l'autenticazione al controller di dominio.

NET edizione StandardTUP_MACHINE_PWD_PASedizione Standard D (0x00000080)

Indica che il parametro Password specifica una password dell'account del computer locale anziché una password utente. Questo flag è valido solo per i join non protetti, che è necessario indicare impostando anche il flag NET edizione StandardTUP_JOIN_UNedizione Standard CURE.

Se si imposta questo flag, dopo che l'operazione di join ha esito positivo, la password del computer verrà impostata sul valore Password, se tale valore è una password del computer valida.

NET edizione StandardTUP_DEFER_SPN_edizione Standard T (0x00000100)

Indica che il nome dell'entità servizio (SPN) e le proprietà DnsHostName nell'oggetto computer non devono essere aggiornati in questo momento.

In genere, queste proprietà vengono aggiornate durante l'operazione di join. Queste proprietà devono invece essere aggiornate durante una chiamata successiva al metodo Rename. Queste proprietà vengono sempre aggiornate durante l'operazione di ridenominazione.

NET edizione StandardTUP_JOIN_DC_ACCOUNT (0x00000200)

Consentire l'aggiunta al dominio se l'account esistente è un controller di dominio.

Nota

Questo flag è supportato in Windows Vista e versioni successive.

NET edizione StandardTUP_AMBIGUOUS_DC (0x00001000)

Quando si aggiunge il dominio non si tenta di impostare il controller di dominio preferito nel Registro di sistema.

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_NO_NETLOGON_CACHE (0x00002000)

Quando si aggiunge il dominio non si crea la cache Netlogon.

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_DONT_CONTROL_edizione Standard RVICES (0x00004000)

Quando si aggiunge il dominio non forza l'avvio del servizio Netlogon.

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_edizione StandardT_MACHINE_NAME (0x00008000)

Quando si aggiunge il dominio solo per l'aggiunta offline, impostare il nome host del computer di destinazione e il nome NetBIOS.

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_FORCE_SPN_edizione Standard T (0x00010000)

Quando si aggiunge al dominio, eseguire l'override di altre impostazioni durante l'aggiunta al dominio e impostare il nome dell'entità servizio (SPN).

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_NO_ACCT_REUedizione Standard (0x00020000)

Quando si aggiunge il dominio, non riutilizzare un account esistente.

Nota

Questo flag è supportato in Windows 7, Windows Server 2008 R2 e versioni successive.

NET edizione StandardTUP_IGNORE_UNSUPPORTED_FLAGS (0x10000000)

Se questo bit è impostato, i flag non riconosciuti verranno ignorati dalla funzione JoinDomainOrWorkgroup e NetJoinDomain si comportano come se i flag non fossero impostati.

Valore restituito

Restituisce un codice di errore di sistema, che può includere uno dei valori numerici seguenti. Qualsiasi altro numero indica un errore. Per altri codici di errore, vedere Costanti di errore WMI o WbemErrorEnum.

Success

0

5

Accesso negato.

87

Parametro non corretto.

110

Il sistema non può aprire l'oggetto specificato.

1323

Impossibile aggiornare la password.

1326

Errore di accesso: nome utente sconosciuto o password non valida.

1355

il dominio specificato non esiste o non è stato possibile contattarlo.

2224

L'account esiste già.

2691

Il computer è già stato aggiunto al dominio.

2692

Il computer non è attualmente aggiunto a un dominio.

WBEM_E_ENCRYPTED_CONNECTION_REQUIRED

0x80041087

Password e UserName vengono specificati, ma il livello di autenticazione non è RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Per Visual Basic, viene restituito wbemErrEncrypted Connessione ionRequired.

Altri

1 4294967295

Osservazioni:

Quando si sposta un computer da un dominio a un gruppo di lavoro, è necessario rimuovere il computer dal dominio (con una chiamata a UnjoinDomainOrWorkgroup) prima di chiamare questo metodo per aggiungere un gruppo di lavoro (con una chiamata a JoinDomainOrWorkgroup). Dopo aver chiamato questo metodo, riavviare il computer interessato per applicare le modifiche.

UserName e Password possono essere lasciati null. Tuttavia, l'autenticazione della connessione a WMI deve essere 6 nello script o WbemAuthenticationLevelPktPrivacy in Visual Basic e in altri linguaggi che possono usare la libreria wbemdisp.dll. Per altre informazioni, vedere Impostazione del livello di sicurezza del processo predefinito tramite VBScript.

In C++, impostare l'autenticazione in RPC_C_AUTHN_LEVEL_PKT_PRIVACY in CoInitializeSecurity, per l'intero processo o in CoSetProxyBlanket, per una connessione al proxy IWbemServices. Per altre informazioni, vedere Impostazione dell'autenticazione con C++ e Impostazione della sicurezza in IWbemServices e altri proxy.

Esempi

Nell'esempio di codice VBScript seguente un computer viene aggiunto a un dominio e viene creato l'account del computer in Active Directory.

Const JOIN_DOMAIN             = 1
Const ACCT_CREATE             = 2
Const ACCT_DELETE             = 4
Const WIN9X_UPGRADE           = 16
Const DOMAIN_JOIN_IF_JOINED   = 32
Const JOIN_UNSECURE           = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET        = 256
Const INSTALL_INVOCATION      = 262144
strDomain   = "FABRIKAM"
strPassword = "ls4k5ywA"
strUser     = "shenalan"
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & strComputer & _
                            "\root\cimv2:Win32_ComputerSystem.Name='" & strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
                                                strPassword, _
                                                strDomain & "\" & strUser, _
                                                NULL, _
                                                JOIN_DOMAIN + ACCT_CREATE)

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Spazio dei nomi
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Vedi anche

Win32_computersystem

Metodo UnjoinDomainOrWorkgroup