Fungsi NetProvisionComputerAccount (lmjoin.h)

Fungsi NetProvisionComputerAccount menyediakan akun komputer untuk digunakan nanti dalam operasi gabungan domain offline.

Sintaks

NET_API_STATUS NET_API_FUNCTION NetProvisionComputerAccount(
  [in]            LPCWSTR lpDomain,
  [in]            LPCWSTR lpMachineName,
  [in, optional]  LPCWSTR lpMachineAccountOU,
  [in, optional]  LPCWSTR lpDcName,
  [in]            DWORD   dwOptions,
  [out, optional] PBYTE   *pProvisionBinData,
  [out, optional] DWORD   *pdwProvisionBinDataSize,
  [out, optional] LPWSTR  *pProvisionTextData
);

Parameter

[in] lpDomain

Penunjuk ke string karakter yang dihentikan NULL yang menentukan nama domain tempat akun komputer dibuat.

[in] lpMachineName

Penunjuk ke string karakter yang dihentikan NULL yang menentukan nama pendek komputer tempat atribut akun komputer sAMAccountName diturunkan dengan menambahkan '$'. Parameter ini harus berisi nama komputer DNS atau NetBIOS yang valid.

[in, optional] lpMachineAccountOU

Penunjuk opsional ke string karakter yang dihentikan NULL yang berisi nama format RFC 1779 dari unit organisasi (OU) tempat akun komputer akan dibuat. 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.

Jika parameter ini NULL, kontainer objek komputer yang terkenal akan digunakan seperti yang diterbitkan di domain.

[in, optional] lpDcName

Penunjuk opsional ke string karakter yang dihentikan NULL yang berisi nama pengendali domain yang akan ditargetkan.

[in] dwOptions

Sekumpulan bendera bit yang menentukan opsi provisi. Parameter ini dapat berupa satu atau beberapa nilai berikut yang ditentukan dalam file header Lmjoin.h .

Nilai Makna
NETSETUP_PROVISION_DOWNLEVEL_PRIV_SUPPORT
0x00000001
Jika pemanggil memerlukan pembuatan akun dengan hak istimewa, opsi ini akan menyebabkan percobaan kembali pada kegagalan menggunakan fungsi pembuatan akun yang memungkinkan interoperabilitas dengan pengontrol domain yang berjalan pada versi Windows yang lebih lama.

lpMachineAccountOU tidak didukung saat menggunakan dukungan hak istimewa downlevel.

NETSETUP_PROVISION_REUSE_ACCOUNT
0x00000002
Jika akun bernama sudah ada, upaya akan dilakukan untuk menggunakan kembali akun yang ada.

Opsi ini memerlukan kredensial yang memadai untuk operasi ini (Administrator Domain atau pemilik objek).

NETSETUP_PROVISION_USE_DEFAULT_PASSWORD
0x00000004
Gunakan kata sandi akun komputer default yang merupakan nama komputer dalam huruf kecil. Ini sebagian besar untuk mendukung model gabungan lama yang tidak aman di mana akun yang telah dibuat sebelumnya biasanya menggunakan kata sandi default ini.
Catatan Aplikasi harus menghindari penggunaan opsi ini jika memungkinkan. Opsi ini serta fungsi NetJoinDomain dengan dwOptions diatur ke NETSETUP_JOIN_UNSECURE untuk gabungan yang tidak aman hanya boleh digunakan pada versi Windows yang lebih lama.
 
NETSETUP_PROVISION_SKIP_ACCOUNT_SEARCH
0x00000008
Jangan mencoba menemukan akun pada pengendali domain apa pun di domain. Opsi ini membuat operasi lebih cepat, tetapi hanya boleh digunakan ketika pemanggil yakin bahwa akun dengan nama yang sama belum dibuat baru-baru ini.

Opsi ini hanya valid ketika parameter lpDcName ditentukan. Ketika prasyarat terpenuhi, opsi ini memungkinkan provisi harus lebih cepat yang berguna untuk skenario seperti pemrosesan batch.

NETSETUP_PROVISION_ROOT_CA_CERTS
0x00000010
Opsi ini mengambil semua sertifikat Otoritas Sertifikat akar pada komputer lokal dan menambahkannya ke paket provisi ketika tidak ada nama templat sertifikat yang disediakan sebagai bagian dari paket provisi (anggota aCertTemplateNames dari struktur NETSETUP_PROVISIONING_PARAMS yang diteruskan dalam parameter pProvisioningParams ke fungsi NetCreateProvisioningPackage adalah NULL).
Catatan Bendera ini hanya didukung oleh fungsi NetCreateProvisioningPackage pada Windows 8, Windows Server 2012, dan yang lebih baru.
 

[out, optional] pProvisionBinData

Penunjuk opsional yang akan menerima blob biner buram dari metadata serial yang diperlukan oleh fungsi NetRequestOfflineDomainJoin untuk menyelesaikan gabungan domain offline, jika fungsi NetProvisionComputerAccount berhasil diselesaikan. Data dikembalikan sebagai buffer biner buram yang dapat diteruskan ke fungsi NetRequestOfflineDomainJoin .

Jika parameter ini NULL, parameter pProvisionTextData tidak boleh NULL. Jika parameter ini bukan NULL, parameter pProvisionTextData harus NULL.

[out, optional] pdwProvisionBinDataSize

Penunjuk ke nilai yang menerima ukuran, dalam byte, dari buffer yang dikembalikan dalam parameter pProvisionBinData .

Parameter ini tidak boleh NULL jika parameter pProvisionBinData bukan NULL. Parameter ini harus NULL ketika parameter pProvisionBinData adalah NULL.

[out, optional] pProvisionTextData

Penunjuk opsional yang akan menerima blob biner buram dari metadata serial yang diperlukan oleh fungsi NetRequestOfflineDomainJoin untuk menyelesaikan gabungan domain offline, jika fungsi NetProvisionComputerAccount berhasil diselesaikan. Data dikembalikan dalam bentuk string untuk disematkan dalam file jawaban penyiapan tanpa pengawas.

Jika parameter ini NULL, parameter pProvisionBinData tidak boleh NULL. Jika parameter ini bukan NULL, parameter pProvisionBinData harus NULL.

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
ERROR_ACCESS_DENIED
Akses ditolak. Kesalahan ini dikembalikan jika penelepon tidak memiliki hak istimewa yang memadai untuk menyelesaikan operasi.
ERROR_INVALID_DOMAIN_ROLE
Operasi ini hanya diperbolehkan untuk Pengendali Domain Utama domain. Kesalahan ini dikembalikan jika nama pengendali domain ditentukan dalam parameter lpDcName , tetapi komputer yang ditentukan tidak dapat divalidasi sebagai pengendali domain untuk domain target yang ditentukan dalam parameter lpDomain .
ERROR_INVALID_PARAMETER
Parameter salah. Kesalahan ini dikembalikan jika parameter lpDomain atau lpMachineName adalah NULL. Kesalahan ini juga dikembalikan jika parameter pProvisionBinData dan pProvisionTextData adalah NULL.
ERROR_NO_SUCH_DOMAIN
Domain yang ditentukan tidak ada.
ERROR_NOT_SUPPORTED
Permintaan tidak didukung. Kesalahan ini dikembalikan jika parameter lpMachineAccountOU ditentukan dan pengendali domain berjalan pada versi Windows yang lebih lama yang tidak mendukung parameter ini.
NERR_DS8DCRequired
Pengendali domain yang ditentukan tidak memenuhi persyaratan versi untuk operasi ini.
NERR_LDAPCapableDCRequired
Operasi ini memerlukan pengendali domain yang mendukung LDAP.
NERR_UserExists
Akun sudah ada di domain dan bit NETSETUP_PROVISION_REUSE_ACCOUNT tidak ditentukan dalam parameter dwOptions .
NERR_WkstaNotStarted
Layanan Stasiun Kerja belum dimulai.
RPC_S_CALL_IN_PROGRESS
Panggilan prosedur jarak jauh sudah berlangsung untuk utas ini.
RPC_S_PROTSEQ_NOT_SUPPORTED
Urutan protokol panggilan prosedur jarak jauh tidak didukung.

Keterangan

Fungsi NetProvisionComputerAccount didukung pada Windows 7 dan Windows Server 2008 R2 untuk operasi gabungan offline. Pada Windows 8 atau Windows Server 2008 R2, disarankan agar fungsi NetCreateProvisioningPackage digunakan alih-alih fungsi NetProvisionComputerAccount.

Fungsi NetProvisionComputerAccount digunakan untuk menyediakan akun komputer untuk digunakan nanti dalam operasi gabungan domain offline menggunakan fungsi NetRequestOfflineDomainJoin . Skenario gabungan domain offline menggunakan fungsi-fungsi ini sebagai berikut:

  • NetProvisionComputerAccount adalah fungsi provisi yang pertama kali dipanggil untuk melakukan operasi jaringan yang diperlukan untuk membuat dan mengonfigurasi objek komputer di Direktori Aktif. Output dari NetProvisionComputerAccount adalah blob biner buram dari metadata berseri yang digunakan untuk langkah berikutnya.
  • NetRequestOfflineDomainJoin, fungsi inisialisasi gambar, kemudian dipanggil untuk menyuntikkan output dari fungsi provisi NetProvisionComputerAccount ke dalam gambar sistem operasi Windows yang akan digunakan selama penginstalan.
Perubahan pada kode inisialisasi Windows akan mendeteksi status tersimpan ini dan memengaruhi bagian lokal penggabungan domain saja.

Fungsi NetProvisionComputerAccount akan membuat atau menggunakan kembali akun mesin di domain, mengumpulkan semua metadata yang diperlukan dan mengembalikannya dalam blob biner versi buram atau sebagai teks untuk disematkan dalam file jawaban penyiapan tanpa pengawasan. Blob biner buram dapat dikonsumsi oleh operasi permintaan gabungan domain offline yang menyediakan semua input yang diperlukan untuk menyelesaikan gabungan domain selama boot pertama tanpa operasi jaringan (hanya pembaruan status lokal).

Catatan Keamanan: Blob yang dikembalikan oleh fungsi NetProvisionComputerAccount berisi data yang sangat sensitif. Ini harus diperlakukan sama amannya dengan kata sandi teks biasa. Blob berisi kata sandi akun komputer dan informasi lain tentang domain, termasuk nama domain, nama pengendali domain, dan ID keamanan (SID) domain. Jika blob diangkut secara fisik atau melalui jaringan, perawatan harus dilakukan untuk mengangkutnya dengan aman. Desain tidak membuat ketentuan untuk mengamankan data ini. Masalah ini ada saat ini dengan file jawaban penyiapan tanpa pengawas yang dapat membawa sejumlah rahasia termasuk kata sandi pengguna domain. Penelepon harus mengamankan blob dan file penyiapan tanpa pengawas. Solusi untuk masalah ini bervariasi. Sebagai contoh, kunci yang telah ditukar sebelumnya dapat digunakan untuk mengenkripsi sesi antara konsumen dan entitas provisi yang memungkinkan transfer aman blob buram.

Blob buram yang dikembalikan dalam parameter pProvisionBinData oleh fungsi NetProvisionComputerAccount diberi versi untuk memungkinkan skenario interoperabilitas dan kemampuan layanan antara versi Windows yang berbeda (bergabung dengan klien, mesin provisi, dan pengendali domain). Skenario gabungan offline saat ini tidak membatasi masa pakai blob yang dikembalikan oleh fungsi NetProvisionComputerAccount .

Untuk gabungan domain offline, pemeriksaan akses yang dilakukan tergantung pada konfigurasi domain. Pembuatan akun komputer diaktifkan menggunakan tiga metode:

  • Administrator domain memiliki hak untuk membuat akun komputer.
  • SD pada kontainer dapat mendelegasikan hak untuk membuat akun komputer.
  • Secara default, pengguna yang diautentikasi dapat membuat akun komputer dengan hak istimewa. Pengguna terautentikasi dibatasi untuk membuat sejumlah akun terbatas yang ditentukan sebagai kuota pada domain (nilai defaultnya adalah 10). Untuk informasi selengkapnya, lihat atribut ms-DS-MachineAccountQuota dalam skema Direktori Aktif.

Fungsi NetProvisionComputerAccount hanya berfungsi dengan pengontrol domain bisa-tulis dan tidak berfungsi terhadap pengontrol domain baca-saja. Setelah provisi dilakukan terhadap pengendali domain bisa-tulis dan akun direplikasi ke pengontrol domain baca-saja, maka bagian lain dari operasi gabungan domain offline tidak memerlukan akses ke pengendali domain.

Jika fungsi NetProvisionComputerAccount berhasil, penunjuk dalam parameter pProvisionBinData atau pProvisionTextData (tergantung parameternya bukan NULL) dikembalikan dengan data serial untuk digunakan dalam operasi gabungan offline atau sebagai teks dalam file penyiapan tanpa pengawasan.

Untuk informasi selengkapnya tentang operasi gabungan domain offline, lihat Panduan Langkah demi Langkah Gabungan Domain Offline.

Bergabung (dan membatalkan bergabung) komputer ke domain menggunakan NetJoinDomain dan NetUnjoinDomain hanya dapat dilakukan oleh anggota grup lokal Administrator di komputer target. Perhatikan bahwa administrator domain dapat menetapkan persyaratan tambahan untuk bergabung dengan domain menggunakan delegasi dan penetapan hak istimewa.

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header lmjoin.h (termasuk Lm.h)
Pustaka Netapi32.lib
DLL Netapi32.dll

Lihat juga

NetCreateProvisioningPackage

NetJoinDomain

NetRenameMachineInDomain

NetRequestOfflineDomainJoin

NetUnjoinDomain

Fungsi Manajemen Jaringan

Gambaran Umum Manajemen Jaringan

Panduan Langkah demi Langkah Gabungan Domain Offline

ms-DS-MachineAccountQuota