Fungsi NetJoinDomain (lmjoin.h)
Fungsi NetJoinDomain menggabungkan komputer ke grup kerja atau domain.
Sintaks
NET_API_STATUS NET_API_FUNCTION NetJoinDomain(
[in] LPCWSTR lpServer,
[in] LPCWSTR lpDomain,
[in] LPCWSTR lpMachineAccountOU,
[in] LPCWSTR lpAccount,
[in] LPCWSTR lpPassword,
[in] DWORD fJoinOptions
);
Parameter
[in] lpServer
Penunjuk ke string konstanta yang menentukan nama DNS atau NetBIOS komputer untuk menjalankan operasi gabungan domain. Jika parameter ini NULL, komputer lokal akan digunakan.
[in] lpDomain
Penunjuk ke string karakter yang dihentikan null konstanta yang menentukan nama domain atau grup kerja yang akan digabungkan.
Secara opsional, Anda dapat menentukan pengendali domain pilihan untuk melakukan operasi gabungan. Dalam hal ini, string harus berupa DomainName\MachineName, di mana DomainName adalah nama domain untuk bergabung, dan MachineName adalah nama pengendali domain untuk melakukan gabungan.
[in] lpMachineAccountOU
Secara opsional menentukan penunjuk ke string karakter yang dihentikan null konstan yang berisi nama format RFC 1779 unit organisasi (OU) untuk akun komputer. Jika Anda menentukan parameter ini, string harus berisi jalur lengkap, misalnya, OU=testOU,DC=domain,DC=Domain,DC=com. Jika tidak, parameter ini harus NULL.
[in] lpAccount
Penunjuk ke string karakter yang dihentikan null konstanta yang menentukan nama akun yang akan digunakan saat menyambungkan ke pengontrol domain. String harus menentukan nama domain NetBIOS dan akun pengguna (misalnya, REDMOND\user) atau nama prinsipal pengguna (UPN) pengguna dalam bentuk nama login gaya Internet (misalnya, "someone@example.com"). Jika parameter ini NULL, konteks pemanggil akan digunakan.
[in] lpPassword
Jika parameter lpAccount menentukan nama akun, parameter ini harus menunjuk ke kata sandi yang akan digunakan saat menyambungkan ke pengendali domain. Jika tidak, parameter ini harus NULL.
Anda dapat menentukan kata sandi akun komputer lokal daripada kata sandi pengguna untuk gabungan yang tidak aman. Untuk informasi selengkapnya, lihat deskripsi bendera NETSETUP_MACHINE_PWD_PASSED yang dijelaskan dalam parameter fJoinOptions .
[in] fJoinOptions
Sekumpulan bendera bit yang menentukan opsi gabungan. Parameter ini dapat berupa satu atau beberapa nilai berikut yang ditentukan dalam file header Lmjoin.h .
Nilai | Makna |
---|---|
|
Menggabungkan komputer ke domain. Jika nilai ini tidak ditentukan, gabungkan komputer ke grup kerja. |
|
Membuat akun di domain. |
|
Operasi gabungan terjadi sebagai bagian dari peningkatan. |
|
Memperbolehkan bergabung ke domain baru meskipun komputer sudah bergabung ke domain. |
|
Melakukan gabungan yang tidak aman.
Opsi ini meminta gabungan domain ke akun yang telah dibuat sebelumnya tanpa mengautentikasi dengan kredensial pengguna domain. Opsi ini dapat digunakan bersama dengan opsi NETSETUP_MACHINE_PWD_PASSED . Dalam hal ini, lpPassword adalah kata sandi dari akun komputer yang telah dibuat sebelumnya. Sebelum Windows Vista dengan SP1 dan Windows Server 2008, gabungan yang tidak aman tidak mengautentikasi ke pengendali domain. Semua komunikasi dilakukan menggunakan sesi null (tidak diautentikasi). Dimulai dengan Windows Vista dengan SP1 dan Windows Server 2008, nama akun komputer dan kata sandi digunakan untuk mengautentikasi ke pengendali domain. |
|
Menunjukkan bahwa parameter lpPassword menentukan kata sandi akun komputer lokal daripada kata sandi pengguna. Bendera ini hanya valid untuk gabungan yang tidak aman, yang harus Anda tunjukkan dengan juga mengatur bendera NETSETUP_JOIN_UNSECURE.
Jika Anda mengatur bendera ini, maka setelah operasi gabungan berhasil, kata sandi komputer akan diatur ke nilai lpPassword, jika nilai tersebut adalah kata sandi komputer yang valid. |
|
Menunjukkan bahwa nama prinsipal layanan (SPN) dan properti DnsHostName pada objek komputer tidak boleh diperbarui saat ini.
Biasanya, properti ini diperbarui selama operasi gabungan. Sebagai gantinya, properti ini harus diperbarui selama panggilan berikutnya ke fungsi NetRenameMachineInDomain . Properti ini selalu diperbarui selama operasi ganti nama. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. |
|
Izinkan domain bergabung jika akun yang ada adalah pengendali domain.
Catatan Bendera ini didukung pada Windows Vista dan yang lebih baru.
|
|
Gabungkan komputer target yang ditentukan dalam parameter lpServer dengan nama baru yang dikueri dari registri pada komputer yang ditentukan dalam parameter lpServer .
Opsi ini digunakan jika SetComputerNameEx telah dipanggil sebelum me-reboot komputer. Nama komputer baru tidak akan berlaku hingga reboot. Dengan opsi ini, pemanggil menginstruksikan fungsi NetJoinDomain untuk menggunakan nama baru selama operasi gabungan domain. Reboot diperlukan setelah berhasil memanggil NetJoinDomain pada saat itu perubahan nama komputer dan perubahan keanggotaan domain akan diterapkan. Catatan Bendera ini didukung pada Windows Vista dan yang lebih baru.
|
|
Gabungkan komputer target yang ditentukan dalam parameter lpServer menggunakan akun yang telah dibuat sebelumnya tanpa memerlukan pengontrol domain bisa-tulis.
Opsi ini menyediakan kemampuan untuk menggabungkan komputer ke domain jika akun telah disediakan dan direplikasi ke pengontrol domain baca-saja. Pengontrol domain baca-saja target ditentukan sebagai bagian dari parameter lpDomain , setelah nama domain dibatasi oleh karakter '\'. Provisi ini harus menyertakan rahasia komputer. Akun komputer harus ditambahkan melalui keanggotaan grup ke dalam daftar yang diizinkan untuk kebijakan replikasi kata sandi, dan kata sandi akun harus direplikasi ke pengontrol domain baca-saja sebelum operasi gabungan. Untuk informasi selengkapnya, lihat informasi tentang Administrasi Kebijakan Replikasi Kata Sandi. Dimulai dengan Windows 7, mekanisme alternatif adalah menggunakan mekanisme gabungan domain offline. Untuk informasi selengkapnya, lihat fungsi NetProvisionComputerAccount dan NetRequestOfflineDomainJoin . Catatan Bendera ini didukung pada Windows Vista dan yang lebih baru.
|
|
Saat bergabung dengan domain, jangan mencoba mengatur pengendali domain pilihan di registri.
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Saat bergabung dengan domain, jangan buat cache Netlogon.
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Saat bergabung dengan domain, jangan paksa layanan Netlogon untuk memulai.
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Saat bergabung dengan domain hanya untuk gabungan offline, atur nama host komputer target dan nama NetBIOS.
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Saat bergabung dengan domain, ganti pengaturan lain selama bergabung dengan domain dan atur nama prinsipal layanan (SPN).
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Saat bergabung dengan domain, jangan gunakan kembali akun yang sudah ada.
Catatan Bendera ini didukung pada Windows 7, Windows Server 2008 R2, dan yang lebih baru.
|
|
Jika bit ini diatur, bendera yang tidak dikenal akan diabaikan oleh fungsi NetJoinDomain dan NetJoinDomain akan berperilaku seolah-olah bendera tidak diatur. |
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah NERR_Success.
Jika fungsi gagal, nilai yang dikembalikan dapat menjadi salah satu kode kesalahan berikut atau salah satu kode kesalahan sistem.
Menampilkan kode | Deskripsi |
---|---|
|
Akses ditolak. Kesalahan ini dikembalikan jika penelepon bukan anggota grup lokal Administrator pada komputer target. |
|
Parameter salah. Kesalahan ini dikembalikan jika parameter lpDomain adalah NULL. |
|
Domain yang ditentukan tidak ada. |
|
Permintaan tidak didukung. Kesalahan ini dikembalikan jika komputer yang ditentukan dalam parameter lpServer tidak mendukung beberapa opsi yang diteruskan dalam parameter fJoinOptions . |
|
Nama grup kerja yang ditentukan tidak valid. |
|
Komputer sudah tergabung ke domain. |
|
Layanan Stasiun Kerja belum dimulai. |
|
Panggilan prosedur jarak jauh sudah berlangsung untuk utas ini. |
|
Urutan protokol panggilan prosedur jarak jauh tidak didukung. |
Keterangan
Bergabung (dan membatalkan bergabung) komputer ke domain atau grup kerja hanya dapat dilakukan oleh anggota grup lokal Administrator pada komputer target. Perhatikan bahwa administrator domain dapat menetapkan persyaratan tambahan untuk bergabung dengan domain menggunakan delegasi dan penetapan hak istimewa.
Jika Anda memanggil fungsi NetJoinDomain dari jarak jauh, Anda harus menyediakan kredensial karena Anda tidak dapat mendelegasikan kredensial dalam keadaan ini.
Proses yang berbeda, atau utas yang berbeda dari proses yang sama, tidak boleh memanggil fungsi NetJoinDomain secara bersamaan. Situasi ini dapat membuat komputer dalam keadaan tidak konsisten.
Jika Anda mengalami masalah selama operasi gabungan, Anda tidak boleh menghapus akun komputer dan segera mengikuti penghapusan dengan upaya gabungan lain. Hal ini dapat menyebabkan masalah terkait replikasi yang sulit diselidiki. Ketika Anda menghapus akun komputer, tunggu hingga perubahan direplikasi ke semua pengontrol domain sebelum mencoba operasi gabungan lain.
Reboot sistem diperlukan setelah memanggil fungsi NetJoinDomain agar operasi selesai.
Windows Server 2003 dan Windows XP: Ketika panggilan ke fungsi NetJoinDomain mendahului panggilan ke fungsi NetRenameMachineInDomain , Anda harus menunda pembaruan properti SPN dan DnsHostName pada objek komputer hingga operasi ganti nama. Ini karena operasi gabungan dapat gagal dalam situasi tertentu. Contoh situasi seperti itu adalah ketika SPN yang berasal dari nama komputer saat ini tidak valid di domain baru yang bergabung dengan komputer, tetapi SPN yang berasal dari nama baru yang akan dimiliki komputer setelah operasi penggantian nama valid di domain baru. Dalam situasi ini, panggilan ke NetJoinDomain gagal kecuali Anda menunda pembaruan dua properti hingga operasi ganti nama dengan menentukan bendera NETSETUP_DEFER_SPN_SET di parameter fJoinOptions saat Anda memanggil NetJoinDomain.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | lmjoin.h (termasuk Lm.h) |
Pustaka | Netapi32.lib |
DLL | Netapi32.dll |
Lihat juga
NetRemoveAlternateComputerName
NetRequestProvisioningPackageInstall
Gambaran Umum Manajemen Jaringan