JoinDomainOrWorkgroup-Methode der Win32 _ ComputerSystem-Klasse

Die JoinDomainOrWorkgroup-Methode verbindet ein Computersystem mit einer Domäne oder Arbeitsgruppe.

In diesem Thema wird Managed Object Format -Syntax (MOF) 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, der bzw. die beitreten soll. Darf nicht NULL sein.

Kennwort [ In]

Wenn der UserName-Parameter einen Kontonamen angibt, muss der Password-Parameter 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 konstant mit NULL beendete 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änenbenutzer. Wenn dieser Parameter NULL ist, werden die Aufruferinformationen verwendet.

Sie können auch den Benutzerprinzipalnamen (UPPED) im Formular user@domain verwenden.

AccountOU [ In]

Gibt den Zeiger auf eine konstant mit NULL beendete 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 Accent NULL sein.

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

FJoinOptions [ In]

Eine Gruppe von Bitflags, die die Joinoptionen definieren.

(0)

Standard. Keine Joinoptionen.

NETSETUP _ JOIN _ DOMAIN (0x00000001)

Verbindet den Computer mit einer Domäne. Wenn dieser Wert nicht angegeben ist, wird der Computer einer Arbeitsgruppe beitreten.

NETSETUP _ ACCT _ CREATE (0x00000002)

Erstellt das Konto in der Domäne.

NETSETUP _ _WIN9X-UPGRADE (0x00000010)

Der Joinvorgang wird im Rahmen eines Upgrades durchgeführt.

NETSETUP _ DOMÄNEN _ JOIN _ BEI _ BEITRITT (0X00000020)

Ermöglicht einen Beitritt zu einer neuen Domäne, auch wenn der Computer bereits einer Domäne beigetreten ist.

NETSETUP _ JOIN _ UNSECURE (0x00000040)

Führt einen unsicheren Beitritt durch.

Diese Option fordert einen Domänenanmeldenamen an ein vorab erstelltes Konto an, ohne sich mit Domänenbenutzeranmeldeinformationen zu authentifizieren. Diese Option kann in Verbindung mit der OPTION NETSETUP _ MACHINE _ PWD PASSED _ verwendet werden. In diesem Fall ist Kennwort das Kennwort des vorab erstellten Computerkontos.

Vor der Windows Vista mit SP1 und Windows Server 2008 wurde ein unsicherer Join nicht beim Domänencontroller authentifiziert. Die gesamte Kommunikation wurde mithilfe 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 Lokales Computerkontokennwort angibt. Dieses Flag ist nur für unsichere Joins gültig, die Sie angeben müssen, indem Sie auch das FLAG NETSETUP _ JOIN _ UNSECURE festlegen.

Wenn Sie dieses Flag festlegen, wird nach dem erfolgreichen Joinvorgang das Computerkennwort auf den Wert Kennwort festgelegt, wenn dieser Wert ein gültiges Computerkennwort ist.

NETSETUP _ DEFER _ SPN _ SET (0x00000100)

Gibt an, dass der Dienstprinzipalname (SPN) und die DnsHostName-Eigenschaften auf dem Computerobjekt derzeit nicht aktualisiert werden sollen.

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

NETSETUP _ _ _ DC-KONTO BEITRETEN (0x00000200)

Lassen Sie den Domänen join zu, wenn das vorhandene Konto ein Domänencontroller ist.

Hinweis

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

NETSETUP _ _MEHRDEUTIGER DC (0x00001000)

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

Hinweis

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

NETSETUP _ KEIN _ _ 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 nicht den Start des Netlogon-Diensts.

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 offline join 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änen join 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 _ KEINE _ _ ACCT-WIEDERVERWENDUNG (0x00020000)

Wenn Sie der Domäne beitreten, sollten Sie kein vorhandenes Konto wiederverwenden.

Hinweis

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

NETSETUP _ NICHT _ UNTERSTÜTZTE _ FLAGS IGNORIEREN (0x10000000)

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

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-Fehlerkonstistenzen oder WbemErrorEnum.

Erfolgreich

0

5

Zugriff verweigert.“

87

„Der Parameter ist falsch.“

110

Das angegebene Objekt kann vom System nicht geöffnet werden.

1323

Das Kennwort kann nicht aktualisiert werden.

1326

Anmeldefehler: Unbekannter Benutzername oder fehlerhaftes Kennwort.

1355

Die angegebene Domäne ist entweder nicht vorhanden oder konnte nicht kontaktiert werden.

2224

Das Konto ist bereits vorhanden.

2691

Der Computer ist bereits der Domäne beigetreten.

2692

Der Computer ist derzeit keiner Domäne beigetreten.

WBEM _ E ENCRYPTED CONNECTION _ _ _ ERFORDERLICH

0x80041087

Kennwort und Benutzername werden angegeben, aber die Authentifizierungsebene ist nicht RPC C _ _ AUTHN _ LEVEL _ PKT _ PRIVACY. Für Visual Basic wird wbemErrEncryptedConnectionRequired zurückgegeben.

Andere

1 4294967295

Hinweise

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.

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

Legen Sie in C++ die Authentifizierung auf RPC _ C _ AUTHN _ LEVEL _ PKT _ PRIVACY entweder in CoInitializeSecurity, für den gesamten Prozess oder in CoSetProxyBlanketfü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 Join a computer to a domain (Computer einer Domäne beitreten) wird ein Computer in eine Domäne aufgenommen.

Im folgenden VBScript-Codebeispiel wird ein Computer mit einer Domäne verbunden 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)
Windows Server 2008
Namespace
Stamm \ CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Win32 _ ComputerSystem

UnjoinDomainOrWorkgroup-Methode