JoinDomainOrWorkgroup-Methode der Win32_ComputerSystem-Klasse

Die JoinDomainOrWorkgroup-Methode verknüpft ein Computersystem mit einer Domäne oder Arbeitsgruppe.

In diesem Thema wird MOF-Syntax (Managed Object Format) verwendet. Weitere Informationen zur Verwendung dieser Methode finden Sie unter Aufrufen einer Methode.

Syntax

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

Parameter

Name [in]

Gibt die Domäne oder Arbeitsgruppe an, die bzw. die beitreten soll. Darf nicht NULL sein.

Kennwort [in]

Wenn der Parameter UserName einen Kontonamen angibt, muss der Parameter Password auf das Kennwort verweisen, das beim Herstellen einer Verbindung mit dem Domänencontroller verwendet werden soll. Andernfalls muss dieser Parameter NULL sein.

UserName [in]

Zeiger auf eine konstante NULL-endende Zeichenfolge, die den Kontonamen angibt, der beim Herstellen einer Verbindung mit dem Domänencontroller verwendet werden soll. Muss einen NetBIOS-Domänennamen und ein Benutzerkonto angeben, z. B. Domäne\Benutzer. Wenn dieser Parameter NULL ist, werden die Aufruferinformationen verwendet.

Sie können auch den Benutzerprinzipalnamen (UPPED) in der Form user@domain verwenden.

AccountOU [in]

Gibt den Zeiger auf eine konstante NULL-endende Zeichenfolge an, die den RFC 1779-Formatnamen der Organisationseinheit (OU) für das Computerkonto enthält. Wenn Sie diesen Parameter angeben, muss die Zeichenfolge einen vollständigen Pfad enthalten, andernfalls muss AccentNULL sein.

Beispiel: "OU=testOU; DC=Domäne; DC=Domäne; DC=com"

FJoinOptions [in]

Satz von Bitflags, die die Verknüpfungsoptionen definieren.

(0)

Standard. Keine Joinoptionen.

NETSETUP_JOIN_DOMAIN (0x00000001)

Verknüpft den Computer mit einer Domäne. Wenn dieser Wert nicht angegeben ist, wird der Computer mit einer Arbeitsgruppe verknüpft.

NETSETUP_ACCT_CREATE (0x00000002)

Erstellt das Konto in der Domäne.

NETSETUP_WIN9X_UPGRADE (0x00000010)

Der Joinvorgang erfolgt im Rahmen eines Upgrades.

NETSETUP_DOMAIN_JOIN_IF_JOINED (0x00000020)

Ermöglicht den Beitritt zu einer neuen Domäne, auch wenn der Computer bereits einer Domäne angehört.

NETSETUP_JOIN_UNSECURE (0x00000040)

Führt einen unsicheren Beitritt durch.

Diese Option fordert einen Domänenbeitritt zu einem vorab erstellten Konto an, ohne sich mit Domänenbenutzeranmeldeinformationen zu authentifizieren. Diese Option kann in Verbindung mit NETSETUP_MACHINE_PWD_PASSED Option verwendet werden. In diesem Fall ist Password das Kennwort des vorab erstellten Computerkontos.

Vor Windows Vista mit SP1 und Windows Server 2008 wurde eine unsichere Einbindung nicht beim Domänencontroller authentifiziert. Die gesamte Kommunikation wurde mit einer NULL-Sitzung (nicht authentifiziert) durchgeführt. Ab Windows Vista mit SP1 und Windows Server 2008 werden der Computerkontoname und das Kennwort für die Authentifizierung beim Domänencontroller verwendet.

NETSETUP_MACHINE_PWD_PASSED (0x00000080)

Gibt an, dass der Parameter Password anstelle eines Benutzerkennworts ein Kontokennwort für den lokalen Computer angibt. Dieses Flag ist nur für ungesicherte Joins gültig, die Sie angeben müssen, indem Sie auch das flag NETSETUP_JOIN_UNSECURE festlegen.

Wenn Sie dieses Flag festlegen, wird das Computerkennwort nach erfolgreichem Joinvorgang auf den Wert Kennwort festgelegt, wenn es sich um ein gültiges Computerkennwort handelt.

NETSETUP_DEFER_SPN_SET (0x00000100)

Gibt an, dass der Dienstprinzipalname (SPN) und die DnsHostName-Eigenschaften des Computerobjekts zu diesem Zeitpunkt nicht aktualisiert werden sollen.

In der Regel werden diese Eigenschaften während des Joinvorgangs aktualisiert. Stattdessen sollten diese Eigenschaften während eines nachfolgenden Aufrufs der Rename-Methode aktualisiert werden. Diese Eigenschaften werden während des Umbenennungsvorgangs immer aktualisiert.

NETSETUP_JOIN_DC_ACCOUNT (0x00000200)

Lassen Sie den Domänenbeitritt zu, wenn ein vorhandenes Konto ein Domänencontroller ist.

Hinweis

Dieses Flag wird unter Windows Vista und höher unterstützt.

NETSETUP_AMBIGUOUS_DC (0x00001000)

Versuchen Sie beim Beitritt zur Domäne nicht, den bevorzugten Domänencontroller in der Registrierung festzulegen.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_NO_NETLOGON_CACHE (0x00002000)

Erstellen Sie beim Beitritt zur Domäne nicht den Netlogon-Cache.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_DONT_CONTROL_SERVICES (0x00004000)

Erzwingen Sie beim Beitritt zur Domäne den Start des Netlogon-Diensts nicht.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_SET_MACHINE_NAME (0x00008000)

Legen Sie beim Beitritt zur Domäne nur für den Offlinebeitritt den Hostnamen des Zielcomputers und den NetBIOS-Namen fest.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_FORCE_SPN_SET (0x00010000)

Wenn Sie der Domäne beitreten, überschreiben Sie während des Domänenbeitritts andere Einstellungen, und legen Sie den Dienstprinzipalnamen (Service Principal Name, SPN) fest.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_NO_ACCT_REUSE (0x00020000)

Wenn Sie der Domäne beitreten, verwenden Sie kein vorhandenes Konto wieder.

Hinweis

Dieses Flag wird unter Windows 7, Windows Server 2008 R2 und höher unterstützt.

NETSETUP_IGNORE_UNSUPPORTED_FLAGS (0x10000000)

Wenn dieses Bit festgelegt ist, werden nicht erkannte Flags von der JoinDomainOrWorkgroup-Funktion ignoriert, und NetJoinDomain verhält sich so, als wären die Flags nicht festgelegt.

Rückgabewert

Gibt einen Systemfehlercode zurück, der einen der folgenden numerischen Werte enthalten kann. Jede andere Zahl gibt einen Fehler an. Weitere Fehlercodes finden Sie unter WMI-Fehlerkonstanten oder WbemErrorEnum.

Erfolgreich

0

5

Zugriff verweigert.“

87

„Der Parameter ist falsch.“

110

Das System kann das angegebene Objekt nicht öffnen.

1323

Das Kennwort kann nicht aktualisiert werden.

1326

Anmeldefehler: Unbekannter Benutzername oder ungültiges Kennwort.

1355

Der angegebene Container ist entweder nicht vorhanden oder wurde nicht erreicht.

2224

Das Konto ist bereits vorhanden.

2691

Der Computer ist bereits mit der Domäne verbunden.

2692

Der Computer ist derzeit nicht mit einer Domäne verbunden.

WBEM_E_ENCRYPTED_CONNECTION_REQUIRED

0x80041087

Password und UserName werden angegeben, aber die Authentifizierungsebene ist nicht RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Für Visual Basic wird wbemErrEncryptedConnectionRequired zurückgegeben.

Andere

1 4294967295

Bemerkungen

Wenn Sie einen Computer aus einer Domäne in eine Arbeitsgruppe verschieben, müssen Sie den Computer aus der Domäne entfernen (mit einem Aufruf von UnjoinDomainOrWorkgroup), bevor Sie diese Methode aufrufen, um einer Arbeitsgruppe beizutreten (mit einem Aufruf von JoinDomainOrWorkgroup). Starten Sie nach dem Aufrufen dieser Methode den betroffenen Computer neu, um die Änderungen anzuwenden.

Benutzername und Kennwort können NULL bleiben. Die Authentifizierung der Verbindung mit WMI muss jedoch im Skript oder WbemAuthenticationLevelPktPrivacy in Visual Basic und anderen Sprachen, die die wbemdisp.dll-Bibliothek verwenden können, 6 sein. Weitere Informationen finden Sie unter Festlegen der Standardprozesssicherheitsstufe mithilfe von VBScript.

Legen Sie in C++ die Authentifizierung auf RPC_C_AUTHN_LEVEL_PKT_PRIVACY entweder in CoInitializeSecurity für den gesamten Prozess oder in CoSetProxyBlanket für eine Verbindung mit dem IWbemServices-Proxy fest. Weitere Informationen finden Sie unter Festlegen der Authentifizierung mit C++ und Festlegen der Sicherheit für IWbemServices und andere Proxys.

Beispiele

Im PowerShell-Beispiel Zum Hinzufügen eines Computers mit einer Domäne wird ein Computer mit einer Domäne verknüpft.

Im folgenden VBScript-Codebeispiel wird ein Computer mit einer Domäne verknüpft und das Konto des Computers in Active Directory erstellt.

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)

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
WindowsServer 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Win32_ComputerSystem

UnjoinDomainOrWorkgroup-Methode