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 |
|
| DLL |
|