bobby iskandar zulkarnain

April 2009 - Posts

Dapatkah men-disable keharusan terdapatnya server global catalog saat user logon ke domain Windows 2000, Windows Server 2003, atau Windows Server 2008 ?

Diawali sejak Windows 2000 server pada native mode, terdapat kewajiban bahwa global catalog harus dihubungi untuk setiap login yang dilakukan, kalau tidak maka login tersebut akan gagal (pengecualian untuk kondisi tidak terdapatnya konektivitas jaringan, yang akan menghasilkan suksesnya proses login suatu user karena cached credentials). Hal ini penting untuk memproses semua universal security groups yang bisa jadi si user tersebut merupakan salah satu membernya. Saat suatu client memproses tahapan autentikasi ke suatu domain controller, domain controller menghubungi global catalog server untuk memeriksa satu persatu user dari universal groups.  Jika kita memiliki domain controllers pada remote site dan tidak difungsikan menjadi global catalog server, bisa jadi kita mengalami situasi dimana user tidak dapat login jika koneksi jaringan yang menuju ke jaringan yang memiliki global catalog terdekat ternyata bermasalah.

Pilihan satu-satunya dalam mengatasi masalah ini adalah melakukan seting konfigurasi untuk membuat domain controller mengacuhkan GC lookup failures.

Kita dapat melakukan hal ini dengan menambahkan suatu IgnoreGCFailures registry key pada HKLM\SYSTEM\CurrentControlSet\Control\LSA pada domain controller yang ingin kita terapkan.  Jika kita menggunakan universal groups dan domain controller kita set untuk ignore GC failures menyebabkan terdapatnya semacam  security hole yang signifikan karena token dari user tidak akan diupdate dengan universal group memberships yang tepat.

Cara men-disable-nya sebagai berikut.

Cara pertama: Menggunakan GUI.

  1. Buka Registry Editor (regedit).
  2. Buka HKEY_LOCAL_MACHINE –> System->Current ControlSet –> Control
  3. Klik-kanan  Lsa dan pilih New ->Key.
  4. Masukkan IgnoreGCFailures untuk key name dan tekan Enter.
  5. Restart server.

Atau seperti pada gambar berikut:

image

Cara kedua, menggunakan command-line interface:

reg add HKLM\SYSTEM\CurrentControlSet\Control\LSA\IgnoreGCFailures /ve
shutdown /r

Atau Seperti pada gambar berikut:

image

Pada result dari command line di gambar, munculnya statement: Value exists, overwrite(Yes/No)? Jawab saja dengan Yes, hal ini karena value-nya telah ada karena pada komputer saya, telah dimasukkan value-nya secara GUI.Dan kemudian restart.

Cara lainnya, hanya tidak disertakan dalam bahasan adalah kita dapat menggunakan VBScript.

Untuk tambahan informasi tentang universal group caching, bisa mereferensi ke KB 216970 (Global Catalog Server Requirement for User and Computer Logon), dan juga KB 241789 (How to Disable the Requirement that a Global Catalog Server Be Available to Validate User Logons).

Semoga dapat bermanfaat….

Active Directory Services – Bagaimana cara menemukan domain controller atau global catalog dengan menggunakan DNS lookups?

Rekan-rekan, satu dari sejumlah keuntungan menggunakan Active Directory pada Windows 2000 Server, Windows Server 2003/2008 bila dibandingkan dengan pendahulunya, Windows NT adalah penggunaan DNS untuk kebutuhan name resolution, yang merupakan standar untuk name resolution pada Internet dan juga pada kebanyakan jaringan yang berbasis TCP/IP. Active Directory menggunakan DNS untuk menemukan server-server yang menjalankan fungsi-fungsi tertentu, seperti domain controller untuk suatu domain, global catalog server, PDC Emulator, atau KDC. Service ini juga menggunakan informasi site topology yang tersimpan dalam Active Directory untuk mempopulasikan record-record yang bersifat site-specific untuk domain controller.

Jika kita mengetahui pada site mana suatu client berada, kita dapat membuat sejumlah  DNS queries untuk menentukan domain controller mana yang mereka gunakan untuk melakukan proses autentikasi.

Domain controller dan global catalog server direpresentasikan dalam DNS sebagai SRV record. Kita dapat melakukan  query SRV record dengan menggunakan nslookup dengan melakukan seting type=SRV, seperti berikut ini:

> nslookup
Default Server: dns1.microsoft.com
Address: 192.168.200.1> set type=SRV 

Kita kemudian perlu untuk menjalankan query berikut untuk menemukan seluruh domain controller untuk suatu domain tertentu:

> _ldap._tcp.<DomainDNSName>

Kita dapat juga menggunakan query yang mirip sebagai berikut untuk menemukan global catalog, tetapi karena cakupannya adalah forest (forest-wide), query berikut harus berbasiskan nama forestnya:

> _gc._tcp.<ForestDNSName> 

Query alternatif dalam menemukan Global Catalog melalui nslookup adalah _gc._msdcs.<ForestDNSName>.

Kita bahkan dapat menemukan domain controller atau global catalog yang berada pada suatu site tertentu dengan query sebagai berikut:

> _ldap._tcp.<SiteName>._sites.<DomainDNSName>
> _gc._tcp.<SiteName>._sites.<ForestDNSName>

Bisa juga dilihat dalam contoh gambar berikut ini, sejumlah query yang sebutkan di atas yang dijalankan dari suatu computer client running Windows 7 dari suatu domain.

image 

Demikianlah, semoga bermanfaat….

Active Directory Services – How to find the number of logon requests a domain controller has processed

Informasi ini mungkin saya khususkan bagi rekan-rekan yang belum mengetahui tentang cara melakukan pemeriksaan jumlah logon request yang diproses suatu domain controller.

Kita dapat menggunakan commandline nltest /LOGON_Query dapat berguna dalam menentukan berapa banyak logon request yang diproses oleh suatu server DC. Dengan melihat hasil dari perintah ini selama periode waktu tertentu dan membandingkannya dengan DC lain pada domain yang sama akan terlihat seberapa signifikan domain controller tersebut terpakai.

Perintah berikut akan menghasilkan informasi tentang jumlah dari logon requests yang diproses:

nltest /server:<DomainControllerName> /LOGON_QUERY

Perintah ini akan memberikan hasil seperti berikut:

Number of attempted logons: 550

Dalam contoh lainnya dalam tampilan gambar berikut:

image 

Demikianlah, semoga bermanfaat…

Active Directory Services – How to Check the Size of the Active Directory Database

Rekan-rekan, berikut sekilas info tentang bagaimana mengetahui ukuran dari file database ntds di Active Directory yang kita miliki.

Ukuran dari database Active Directory pada domain controller adalah ukuran dari file ntds.dit. Ukuran file ini dapat sedikit berbeda antar domain controller walaupun berada pada domain yang sama, disebabkan terdapatnya perubahan yang tidak ter-replikasi, perbedaan dengan data-data yang tidak direplikasi dan juga terdapatnya whitespace.

Kita harus memantau ukuran dari file ini pada satu atau lebih domain controller di domain kita untuk memastikan kita masih memiliki kecukupan ruang penyimpanan pada hard disk, dan juga dengan mengetahui ukuran rata-rata dari DIT yang kita miliki kita secara cepat dapat mengetahui jika terdapat aktivitas dari berbagai aplikasi yang menuliskan data-data baru ke direktory tersebut.

Jika kita menghadapi masalah karena habisnya space pada drive yang memuat file DIT ini, kita memiliki dua pilihan, kita pindahkan file-file Active Directory ke drive yang baru dengan kapasitas yang lebih besar, atau kita jalankan offline defragmentation jika file DIT tersebut berisi banyak whitespace.

Pada Windows Server 2008, mencari informasi tentang ukuran dari database AD dapat kita lakukan dengan terlebih dahulu men-stop service AD DS-nya, tanpa harus restart dan masuk ke Directory Services Restore Mode seperti yang kita lakukan pada Windows 2000 Server dan Windows Server 2003.

Pada Windows Server 2008, kita dapat memperoleh informasi ukuran dari file tanpa harus booting dan masuk ke  Directory Services Restore Mode cukup dengan men-stop sementara waktu Active Directory Domain Services service, dengan menggunakan command line sebagai berikut:

 

net stop "active directory domain services" 

Kita akan menerima pesan mengindikasikan bahwa berbagai service lain yang bergantung pada service AD DS juga akan di-stop, service-service tersebut adalah:

  • Key Distribution Center
  • Intersite Messaging
  • DNS Server
  • DFS Replication

Setelah itu barulah kita dapat menampilkan informasi file dengan perintah command line sebagai berikut:

 

ntdsutil
ntdsutil: activate instance "ntds"
ntdsutil: files
file maintenance: info
file maintenance: quit
ntdsutil: quit

Seperti yang tampak pada gambar berikut:

image

Kalau sudah selesai, jangan lupa untuk men-start kembali service Active Directory Domain Services-nya.

Semoga bermanfaat…

Active Directory Services – Menentukan berapa banyak Whitespace pada DIT

Rekan-rekan, jika ingin mengetahui seberapa banyak whitespace yang ada pada DIT, tentu saja dapat dicari informasinya. Whitespace yang cukup banyak dalam DIT artinya kita harus melakukan defrag secara offline (kalau menggunakan Windows 2000 Server atau Windows Server 2003) dan juga pada Windows Server 2008 (cukup dengan men-stop service AD DS-nya saja).

Cara pertama, kita dapat melakukannya secara grafis, sebagai berikut:

  1. Jalankan regedit.exe dari command line atau Start –> Run.
  2. Buka HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics.
  3. Dan temukan serta klik-ganda pada 6 Garbage Collection.
  4. Untuk Value data, masukkan nilainya: 1.
  5. Klikk OK.

image

Cara kedua, dengan menggunakan command line

  1. Pada command line, ketikkan C:\reg add HKLM\System\CurrentControlSet\Services\NTDS\Diagnostics /v "6 Garbage Collection" /t REG_DWORD /d 1
  2. Kemudian ketikkan y/yes dan Enter.

Seperti pada gambar berikut:

image 

Cara Ketiga, dengan menggunakan Powershell, Kita harus menginstal Powershell Feature dari Add Features Wizard terlebih dahulu, jika belum ada.

Perintahnya sebagai berikut:

$strRegPath = "HKLM:\System\CurrentControlSet\Services\NTDS\Parameters"
Set-ItemProperty -path $strRegPath -name "6 Garbage Collection" -value "1"

Seperti pada gambar berikut ini:

image 

Cara lainnya? Bisa saja kita menggunakan VBScript, hanya saja penulis tidak membahasnya secara khusus.

Dengan men-seting pilihan untuk 6 Garbage Collection diagnostics logging seperti yang disebutkan di atas dalam berbagai cara, event 1646 akan muncul seteah proses garbage collection dijalankan. Berikut contoh dari event 1646:

Event Type:           Information
Event Source:        NTDS Database
Event Category:     Garbage Collection
Event ID:               1646
Date:                    4/20/2009
Time:                   9:52:46 AM
User:                    NT AUTHORITY\ANONYMOUS LOGON
Computer:             DC01
Description:
Internal event:     The Active Directory database has the following amount of free  hard disk space remaining.

Free hard disk space (megabytes): 100
Total allocated hard disk space (megabytes): 1024          

Informasi ini menunjukkan domain controller DC01 memiliki file DIT sebesar 1 GB dengan free sebesar 100 MB (free di sini contohnya adalah whitespace).     

Demikianlah sedikit penjelasan tentang whitespace pada DIT ini, semoga dapat bermanfaat…..

Active Directory Services- Membuat File Reservasi

Secara default, Active Directory membuat dua file yang diberi nama res1.log dan res2.log pada direktori yang sama dengan file database ntds.dit. Tiap file ini memiliki ukuran masing-masing 10 MB dan sekaligus menciptakan ruang reservasi sebesar 20 MB pada drive yang meng-hosting file-file database AD. Jika domain controller kemudian ternyata mengalami kehabisan space hard disk, Active Directory akan menggunakan space yang ada pada res1.log dan res2.log untuk melakukan commit berbagai uncommitted transactions sebelum shutting down sehingga tidak ada informasi yang hilang. Jika kita ingin menambahkan space sebagai tambahan untuk ruang reservasi kita dapat membuat sebuah file reservasi, file reservasi ini nantinya juga dapat secara manual kita hapus untuk mengklaim kembali ruang hard disk. Penambahan file reservasi ini tentu saja amat bermanfaat dalam hal menjaga adanya kemungkinan para administrator secara tidak sengaja mengisi drive yang memuat file ntds.dit, atau menjaga dari serangan virus yang memiliki dampak mempercepat penuhnya drive tersebut.

Format perintah untuk membuat file reservasi sebagai berikut:

fsutil file createnew <PathToNTDS.DIT>\reservefile <size_in_byte> 

Sebagai contoh, untuk membuat sebuah file reservasi kosong, berukuran 300 MB, pada direktori yang sama dengan file ntds.dit pada c:\windows\ntds:

c:\fsutil file createnew c:\windows\ntds\reservefile 307200000

image

Setelah selesai, dapat kita periksa hasilnya, seperti pada gambar berikut:

image

Demikanlah sekilas info tentang bagaimana membuat file reservasi ini, dan semoga bermanfaat.

Dari manakah sebaiknya men-troubleshoot masalah promote dan demote Domain Controller ?

Rekan-rekan, jika kita menghadapi masalah dengan proses promote atau demote domain controller, kita dapat memeriksa file-file dcpromo.log dan dcpromoui.log, karena sumber informasi terbaik tentang status dari promote ataupun demoting DC adalah file-file dcpromo.log dan dcpromoui.log ini yang berada pada folder %SystemRoot%\Debug di server.

File dcpromo.log menyimpan berbagai input yang dimasukkan ke selama proses  dcpromo dan log-lognya sedangkan file dcpromoui.log berisi informasi yang lebih detail lagi.

Gambar tampilan file dcpromo.log

image

Gambar tampilan file dcpromoui.log

image

Isi dari sebagian file dcpromoui.log sebagai berikut.

dcpromoui 0D8.26C 0000 19:15:38.363 opening log file C:\Windows\debug\dcpromoui.log
dcpromoui 0D8.26C 0001 19:15:38.363 C:\Windows\system32\dcpromo.exe
dcpromoui 0D8.26C 0002 19:15:38.363 file timestamp 01/19/2008 04:23:31.475
dcpromoui 0D8.26C 0003 19:15:38.363 local time 04/19/2009 19:15:38.363
dcpromoui 0D8.26C 0004 19:15:38.373 running Windows NT 6.0 build 6001 Service Pack 1 (BuildLab:6001.longhorn_rtm.080118-1840) i386
dcpromoui 0D8.26C 0005 19:15:38.373 logging flags 0021007C
dcpromoui 0D8.26C 0006 19:15:38.373 Enter wmain
dcpromoui 0D8.26C 0007 19:15:38.373   Enter CheckArgs
…………………………………………………………………….

dcpromoui 0D8.26C 04AE 19:34:08.715       Enter ControlSubclasser::UnhookWindowProc
dcpromoui 0D8.26C 04AF 19:34:08.715       Enter ControlSubclasser::UnhookWindowProc
dcpromoui 0D8.26C 04B0 19:34:08.715       Enter ControlSubclasser::UnhookWindowProc
dcpromoui 0D8.26C 04B1 19:34:08.715       Enter ControlSubclasser::UnhookWindowProc
dcpromoui 0D8.26C 04B2 19:34:08.715     exitCode = 1
dcpromoui 0D8.26C 04B3 19:34:08.715   Enter State::UnbindFromReplicationPartnetDC
dcpromoui 0D8.26C 04B4 19:34:08.715 closing log
dcpromoui 0D8.26C 0034 19:34:08.735   Exit code is 1
dcpromoui 0D8.26C 0035 19:34:08.735   Enter UnattendSplashDialog::SelfDestruct
dcpromoui 0D8.26C 0036 19:34:08.735 closing log

Pada kebanyakan kasus, kelengkapan informasi yang disediakan oleh file dcpromoui.log telah cukup untuk memberikan petunjuk berbagai masalah yang terkait dengan promosi domain controller atau proses demoting dc, tapi kita dapat meningkatkan level dari loggingnya dengan men-set registry value ke

FF0003: HKLM\Software\Microsoft\Windows\CurrentVersion\AdminDebug.

Setelah diubah, kita perlu menjalankan kembali dcpromo dan kembali memeriksa dcpromoui.log. Informasi berbagai seting logging dapat diperoleh di KB 221254.

Sebagai tambahan, versi dari dcdiag Windows Server 2003 dan Windows Server 2008 memuat dua paramter uji yang dapat kita gunakan untuk memperoleh informasi tentang masalah promosi dc.  Dua uji parameter tersebut adalah dcpromo dan RegisterInDNS.  Parameter dcpromo melaporkan berbagai hal yang ditemukan yang dapat mengganggu proses promosi, sedangkan RegisterInDNS memeriksa apakah server dapat meregister record-record dalam DNS. 
Berikut contoh dari eksekusi dua perintah tersebur terhadap sebuah domain:

dcdiag /test:dcpromo /DnsDomain:wirecat.com /ReplicaDC /test:RegisterInDNS 

image

Jika dcdiag tidak menghasilkan informasi yang cukup, kita dapat gunakan Network Monitor (netmon) untuk memperoleh informasi yang lebih detail tentang trafik jaringan dan juga informasi kesalahan (error). Dengan menggunakan Network Monitor kita dapat mengidentifikasi dengan server-server mana saja DC berkomunikasi.

Semoga bermanfaat…..

Active Directory Services – Menemukan Service-service yang di-advertise Domain Controller

Rekan-rekan, jika kita ingin mengetahui service-service apa saja yang di-advertise oleh suatu domain controller, kita dapat menggunakan cukup dengan perintah command line saja.

Perintah berikut (command line) akan menampilkan daftar dari berbagai services yang di-advertise oleh suatu domain controller.

dcdiag /v /s:<DomainControllerName> /test:advertising

clip_image002

Kita dapat lihat pada bagian yang diberikan kotak merah, Domain Controller SRV00 ini meng-advertise berbagai service berikut:

Starting test: Advertising

The DC SRV00 is advertising itself as a DC and having a DS.

The DC SRV00 is advertising as an LDAP server

The DC SRV00 is advertising as having a writable directory

The DC SRV00 is advertising as a Key Distribution Center

The DC SRV00 is advertising as a time server

The DS SRV00 is advertising as a GC.

 

Jika ingin dijalankan dari komputer Client yang tidak mendukung perintah dcdiag, kita dapat menggunakan perintah command line dengan format sebagai berikut:

nltest /server:<DomainControllerName> /dsgetdc:<DomainName>

Contohnya, ketika saya jalankan perintah ini dari Windows 7 yang menjadi client dari domain Microsoft.com , hasilnya tampak pada gambar berikut.

clip_image004

Pada contoh di atas, pada bagian Flags, GTIMESERV menunjukkan DC merupakan master time server. WRITABLE menunjukkan DC menyimpan writable copy dari Active Directory database. WRITABLE flag tidak terdapat pada Windows NT 4.0 BDC dan juga pada Windows Server 2008 Read-Only Domain Controller.

Semoga bermanfaat….

Active Directory Services – How to Find the Closest Domain Controller

Rekan-rekan, DC locator process yang dijelaskan pada MS KB 314861 dan MS KB 247811 mendefinisikan bagaimana komputer client menemukan domain controller terdekat. Proses ini menggunakan topologi site yang disimpan pada Active Directory untuk mengkalkulasi site dimana si client berada. Setelah site dari client dikenali, kemudian dilanjutkan dengan menemukan suatu domain controller yang merupakan member dari site yang sama.

Terdapat Directory Services API method dari Microsoft, yaitu DsGetDCName yang mengimplementasikan DC Locator process tersebut. 

Kita dapat menggunakan command line nltest untuk memperoleh informasi domain controller yang terdekat yang menjalankan fungsi tertentu relatif terhadap posisi komputer client, seperti Global Catalog server (/GC switch), time server (/TIMESERV switch), KDC(/KDC switch) dan PDC (/PDC switch).

Format umum perintah nltest dalam mencari Domain Controller terdekat sebagai berikut:

nltest/dsgetdc:<DomainDNSName> [/site:<SiteName>] [/server:<ClientName>]

Sebagai uji coba, berikut contoh eksekusi perintah nltest yang dilakukan pada komputer running Windows 7 dengan DC running Windows Server 2008 R2 pada default-first-site-name site.

clip_image002

Semoga dapat bermanfaat……

Windows Server 2008 AD DS - Verifying the Promotion of a Domain Controller

Rekan-rekan, untuk bantu-bantu jawab beberapa pertanyaan dari beberapa newsgroup tentang bagaimana kita memastikan instalasi AD DS pada sebuah komputer yang menggunakan Windows Server 2008 dapat dikatakan sukses atau tidak, kita dapat menggunakan utiliti netdiag.exe dan dcdiag.exe. Penggunaan utiliti ini sudah umum dipakai pada Windows 2000 Server dan Windows Server 2003, akan tetapi bagaimana dengan Windows Server 2008? Utiliti netdiag.exe tidak pernah kita jumpai dalam keping DVD Installer Windows Server 2008.

Ok, kita dapat menginstal utiliti ini dari DVD Installer Windows Server 2003 dari folder Support\Tools.

clip_image002

Dan kita jalankan file SUPTOOLS.msi untuk menginstal support tools.

clip_image004

Hingga selesai….

clip_image006

Lalu jalankan sejumlah command line berikut:

  • netdiag /test:dns
  • netdiag /test:member
  • netdiag /test:dsgetdc
  • dcdiag /test:replications
  • dcdiag /s:<DCName> /test:knowsofroleholders
  • dcdiag /s:<DCName> /test:fsmocheck

Dimana <DCName> adalah nama komputer dari domain controller.

Untuk tiga perintah command line terakhir, berupa perintah dcdiag.exe pada Windows Server 2008 telah terdapat pada domain controller, jadi cukup langsung dijalankan saja.

Proses ekseksi 3 perintah untuk dcdiag terakhir di atas, contohnya seperti pada gambar berikut secara berturut-turut.

image

clip_image008

clip_image010

Pastikan seluruh perintah di atas mendapat result yang sukses untuk menandakan tidak terdapat masalah dari hasil instalasi domain controller kita.

Semoga bermanfaat…..