Category: Windows (OS, power shell, etc)

  • การ upgrade PHP to new version on IIS ด้วยวิธีง่ายๆ

    เคยเขียนบทความเกี่ยวกับการ upgrade PHP 5.2 to 5.3 ไปเมื่อปีที่แล้ว (Apache 2.2 + PHP 5.2 + phpMyAdmin on Windows 8.1)

    วันนี้ขอนำเสนอการ upgrade เวอร์ชั่นของ PHP บน IIS (Windows Server 2012 R2) ด้วยวิธีที่แสนจะง่ายดาย

    ***ใครทราบวิธีการแล้วก็ผ่านไปเลยนะคับ ^^ เขียนไว้เผื่อบางท่านที่ยังไม่รู้เนอะ

    ขั้นตอนการ upgrade

    1. check PHP เวอร์ชั่นที่เราใช้ปัจจุบันก่อนว่าเป็นเวอร์ชั่นอะไร ด้วยการสร้างไฟล์ phpinfo.php เก็บไว้ที่ web root แล้วเขียนโค้ดตามนี้

    <?php
    phpinfo();
    ?>

    2. เปิดเว็บ http://localhost/phpinfo.php ในภาพจะเป็น php 5.6.2.2

    001

    3. เปิด IIS manager ขึ้นมา แล้วคลิกที่ Web Platform Installer

    002

    4. พิมพ์คำค้น PHP ในช่องค้นหา ในรูปเราจะติดตั้ง PHP 7.0.7 ให้คลิกที่ปุ่ม Add จากนั้นระบบจะทำการติดตั้ง PHP 7.0.7

    003

    5. เมื่อติดตั้งเสร็จแล้ว ให้คลิก Restart IIS

    004

    6. ตรวจสอบเวอร์ชั่นของ PHP ด้วยการเปิดหน้าเว็บ http://localhost/phpinfo.php ในภาพจะเป็น php 7.0.7 เรียบร้อยแล้ว

    005

    7. เสร็จสิ้นกระบวนการ upgrade PHP to new version

  • สร้าง Shortcut ในการ Remote Desktop Connection

    ในการพัฒนาระบบงานหลาย ๆ ระบบ ซึ่งแต่ละระบบก็ต้องมี Server ถ้าระบบมีปัญหาสิ่งแรก ๆ ที่ต้องเข้าไปดูปัญหานั่นคือการ Remote ไปยัง Server นั้น ๆ เช่นดู Process Task ต่าง ๆ มีอะไรรันอยู่ มีอะไรทำงานอยู่จึงทำให้ระบบช้า หรือทำให้ระบบมีปัญหาเป็นต้น เมื่อมีหลาย Server ครั้นจะมาจดจำ IP เครื่องที่จะ Remote ไป หรือบางเครื่องที่นาน ๆ จะเกิดปัญหาที ทางออกของปัญหามีค่ะ แค่เพียงสร้างเป็น Shortcut ในการ Remote Desktop Connection นั่นเอง มีขั้นตอนดังนี้

    1. ที่หน้าจอ Desktop คลิกขวา New
    2. เลือกหัวข้อ Shortcut
    3. พิมพ์ข้อความดังนี้ C:\Windows\System32\mstsc.exe /v:192.168.100.170 /w:800 /h:600
      –> 3.1 /v:ต่อด้วย IP Address:Port
      –> 3.2 /w:ต่อด้วยขนาดหน้าจอ ความกว้าง
      –> 3.3 /h:ต้อด้วยขนาดหน้าจอ ความสูง
      –> 3.4 อื่น ๆ เช่น /f หมายถึงเต็มหน้าจอ
      /admin หมายถึง Remote เข้าด้วย Session Admin13-7-2559 13-44-06
    4. คลิกปุ่ม Next
    5. ตั้งชื่อ Shortcut
      13-7-2559 13-46-33
    6. คลิก Finish จะเห็น Icon ของ Shortcut ที่ใช้ในการ Remote เพื่อเข้า Server ตามที่ได้สร้างไว้ที่หน้า Desktop
  • IEEE Explore Services and IPv6

    หลายวันก่อน (2016-06-28) คุณวันชัย พบปัญหาการเข้าใช้งาน web ieeexplore.ieee.org

    p1

    ซึ่งปัญหาที่ว่าก็คือ ปกติแล้วการเข้าไปพยายามดาวน์โหลดไฟล์จากเว็บดังกล่าว ถ้าเข้าใช้งานจากเครือข่ายของ มหาวิทยาลัยสงขลานครินทร์เอง ผู้ให้บริการ (IEEE Explore) ก็จะสามารถตรวจสอบได้ว่า เข้ามาจากเครือข่ายของมหา’ลัย ซึ่งอนุญาตให้ผู้ใช้งานจากเครือข่ายของมหา’ลัย สามารถดาวน์โหลดไฟล์ได้

    แต่ครั้งนั้น อาจารย์ของภาควิชาวิศวกรรมไฟฟ้า ไม่สามารถดาวน์โหลดได้ จากภายในเครือข่ายของภาคฯเอง และ ที่แปลกไปกว่านั้นก็คือ ถ้าเปลี่ยนไปใช้งานเครื่องคอมพิวเตอร์ซึ่งอยู่ในเครือข่ายของภาคฯเช่นเดียวกัน แต่ใช้ระบบปฏิบัติการ Windows XP กลับใช้งานได้

    หลังจากผ่านการตรวจสอบ 2-3 ขั้นตอนก็ได้ข้อสรุปว่า ปัญหาที่เกิดขึ้นก็คือ จากเดิมทีที่เครือข่ายของมหา’ลัย ใช้งาน IPv4 ในการเข้าถึงเครือข่ายของ IEEE (สำหรับในกรณีนี้ก็คือ ieeexplore.ieee.org) ตอนนี้ เมื่อเครือข่ายของ มหาวิทยาลัยสงขลานครินทร์ พร้อมที่จะให้บริการ IPv6 เครื่องคอมพิวเตอร์ ซึ่งส่วนใหญ่พร้อมที่จะใช้ IPv6 อยู่แล้ว ก็จะเปลี่ยนไปใช้ IPv6 สำหรับการติดต่อกับเครือข่ายปลายทาง

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

    อย่างไรก็ตาม สำหรับกรณีนี้ บริการของ IEEExplore และ Academic Journals อีกจำนวนมากซึ่งมหาวิทยาลัยสงขลานครินทร์เป็นสมาชิกอยู่ (ซึ่งอาจจะเป็นสมาชิกโดยตรง หรือโดยอ้อมผ่านทาง UniNet/สกอ.) ไม่ได้เป็นบริการที่เปิดแบบ public ให้ใครๆก็สามารถเข้าถึงข้อมูลได้ทุกอย่าง ข้อมูลบางอย่าง เช่น ไฟล์ของบทความ จะดาวน์โหลดได้เฉพาะสมาชิกเท่านั้น ถ้าเป็นสมาชิกแบบบุคคล วิธีการที่ใช้ในการยืนยันตัวตน ก็คือการ login โดยใช้ username และ password แบบเดียวกับที่ใช้กับบริการบนเว็บอื่นๆทั่วไป แต่สำหรับสมาชิกแบบ “สถาบัน” แบบที่มาหวิทยาลัยสงขลานครินทร์เป็นอยู่ แทนที่จะต้องให้ นักศึกษาและบุคคลากร แต่ละคนจะต้องมีแอคเคาท์ เป็นของตัวเอง วิธีการที่ง่ายกว่าก็คือ ใช้หมายเลข IP เป็นตัวระบุ โดยสถาบันที่เป็นสมาชิก ก็จะต้องแจ้งไปทางผู้ให้บริการว่า หมายเลข IP ใด หรือ ช่วงใดบ้างที่เป็นของสถาบันนั้นๆ

    แน่นอนว่าก่อนหน้านี้ หมายเลข IP ที่มหาวิทยาลัยสงขลานครินทร์แจ้งไปจะมีเฉพาะ IPv4

    และแน่นอนว่าก่อนหน้านี้ไม่มีใครแจ้งปัญหาว่าสามารถดาวน์โหลดไฟล์จาก IEEExplore ไม่ได้ … เพราะเครือข่ายส่วนใหญ่ใน มหา’ลัย ใช้งานได้เฉพาะ IPv4

    [[

    ซึ่ง … อาจจะทำให้ผมตั้งข้อสงสัยขึ้นมาได้ว่า แล้วหน่วยงานบางหน่วยซึ่งใช้งาน IPv6 มาได้นานก่อนหน้านี้ ไม่เคยมีใครมีปัญหาบ้างเลยหรือ หรือจะเป็นเพราะว่าสมาชิกหน่วยงานเหล่านั้นไม่เคยใช้ IEEExplore เลย … แต่เนื่องจากว่า มีคำโบราณกล่าวไว้ … อะไรบางอย่าง…เกี่ยวกับการขว้างงู…และอวัยวะอะไรบางอย่างที่เป็นส่วนเชื่อมต่อระหว่างหัวและลำตัว… ผมก็เลยไม่ได้ตั้งข้อสงสัยใดๆทั้งสิ้นเกี่ยวกับเรื่องดังกล่าว เพราะไม่อยากให้คอของผมมีรู … และผมก็ไม่ชอบงูด้วย!

    ย้ำ, ผมไม่ได้ตั้งข้อสงสัยใดๆทั้งสิ้นจริงๆ

    EDIT (2016-07-08): ข้อมูลจาก ที่นี่ ทำให้พอเชื่อได้ว่า IEEE เริ่มใช้งาน IPv6 เมื่อประมาณ 2016-06-06 นั่นคือประมาณ 1 เดือนที่แล้ว ดังนั้นปัญหาในการเข้าถึงบริการของ IEEE Explore จากเครือข่ายของ มหาวิทยาลัยสงขลานครินทร์ โดยใช้งาน IPv6 แล้วใช้งานไม่ได้ จึงไม่ได้นานมากอย่างที่ผมคิดตอนแรก
    ]]

    กลับมาที่เรื่องของการใช้งาน IEEExplore ต่อ ปัญหาที่เกิดขึ้นครั้งนี้ เทียบเคียงได้กับการที่ทาง มหาวิทยาลัยแจ้ง IP address ที่มีใช้งานอยู่ให้กับทางผู้ให้บริการไม่ครบ เมื่อเครื่องคอมพิวเตอร์เริ่มใช้งาน IPv6 ได้และพยายามใช้งาน IPv6 ในการติดต่อกับเครื่องที่ให้บริการปลายทาง เครื่องที่ให้บริการปลายทาง ตรวจสอบแล้วไม่พบว่า หมายเลข IP address นี้อยู่ในรายการของหมายเลข IP ที่อนุญาตให้เข้าถึงข้อมูลได้ ก็เลยปฏิเสธการเข้าถึงข้อมูล

    วิธีการแก้ปัญหา ก็คือแจ้งหมายเลข IPv6 address ที่มหา’ลัยใช้อยู่ไป เพื่อให้ทางผู้ให้บริการอนุญาตให้เครื่องคอมพิวเตอร์ซึ่งใช้หมายเลขเหล่านี้เข้าถึงข้อมูลได้

    วันนี้ (2016-07-07)
    p2
    คุณสงกรานต์ และ หอสมุดคุณหญิงหลงประกาศผ่านกลุ่มของ facebook ว่าสามารถใช้งานบริการของ IEEE ได้แล้วทั้ง IPv4 และ IPv6

    ซึ่งในแง่ของผู้ใช้งานทั่วๆไป ควรที่จะใช้งานได้ โดยไม่จำเป็นจะต้องมาสนใจว่า โปรโตคอลที่คอมพิวเตอร์ของตัวเองใช้งานอยู่ในเข้าไปใช้งานบริการ IEEE เป็นโปรโตคอลใด

    ถ้าใช้งานไม่ได้ และ เข้าใจ และ สามารถช่วยตรวจสอบให้ได้ว่าขณะนั้นใช้โปรโตคอลใดที่ใช้งานไม่ได้ และ ถ้าเปลี่ยนเป็นอีกโปรโตคอลหนึ่ง สามารถใช้งานได้หรือไม่ … ถ้าทำได้อย่างนั้น ก็จะเป็นการช่วยเหลือผู้ดูแลเครือข่ายเป็นอย่างยิ่ง สมควรที่ได้รับคำขอบคุณและยกย่องจาก sysadmin/netadmin

    ถ้าผู้ใช้งาน ใช้งานไม่ได้ ก็ควรเป็นหน้าที่ของ sysadmin/netadmin ของหน่วยงานนั้นๆ เป็นผู้ตรวจสอบและวิเคราะห์ว่าปัญหาเกิดขึ้นจากอะไร การปล่อยให้ผู้ใช้งาน ซึ่งส่วนใหญ่อาจจะคุ้นเคยแค่การใช้งานแอพลิเคชั่นโดยทั่วไป ต้องมายุ่งเกี่ยวกับ enable/disable v4 protocol ซึ่งจะต้องแก้ไข registry ของระบบ (ภายใต้ข้อสมมติฐานที่ว่า ผู้ใช้ส่วนใหญ่ใช่ Windows) เป็นเรื่องที่ อาจจะผลักภาระให้กับผู้ใช้งานมากเกินไป และ ถึงแม้ผู้ใช้จะยินดีทำ แต่ข้อผิดพลาดที่อาจจะเกิดขึ้นได้ จะส่งผลที่ทำให้เกิดปัญหาที่ยากต่อการตรวจสอบในภายหลัง ได้มากกว่าครับ

    โอเค คราวนี้กลับมาที่ sysadmin/netadmin ผมคิดว่า การจัดการ disable/enable IPv6/IPv4 protocol โดยเข้าไปยุ่งเกี่ยวกับ registry ของ Windows ไม่น่าจะเป็นปัญหาอะไรสำหรับ ผู้ดูแลระบบ ที่ต้องเผชิญหน้ากับปัญหาในลักษณะนี้เป็นปกติอยู่แล้ว แต่ในนามของผู้ใช้ Linux ซึ่งไม่มีความสามารถในการเข้าถึง registry ของ Windows ผมคิดว่ามีเครื่องมือ ซึ่ง สามารถเรียกใช้งานได้จาก command line ของ Windows เองได้ โดยไม่จำเป็นที่จะต้องไปแก้ไข Windows Registry และสามารถนำมาใช้งานในการตรวจสอบการเข้าถึง IEEExplore สำหรับแต่ละโปรโตคอลได้

    เครื่องมือนั้นมี 2 ตัวครับ ก็คือ wget และ grep

    เครื่องมือทั้งสองนี้ ถือเป็นเครื่องมือพื้นฐานสำหรับ Linux Distribution หลักๆทั่วไป ที่จะติดตั้งมาให้แล้วสามารถเรียกใช้งานได้เลย โดยไม่จำเป็นจะต้องติดตั้งเพิ่ม ส่วน สำหรับ Windows ก็สามารถ Download ได้จาก

    wget — http://gnuwin32.sourceforge.net/packages/wget.htm
    grep — http://gnuwin32.sourceforge.net/packages/grep.htm

    ผมไม่สามารถตรวจสอบได้ว่า tools ทั้งสองตัวนี้ใช้งานได้จริงสำหรับ Windows ใหม่ๆหรือเปล่า (ตัว tools ทั้งสอง built ตั้งแต่ปี 2008) แต่จาก comment ของ Stack Overflow ที่นี่ ก็น่าพอเชื่อได้ว่าใช้งานได้

    การใช้งาน

    1. คำสั่ง wget มี option สำหรับบังคับให้ใช้ IPv4 (-4) หรือใช้ IPv6 (-6) สำหรับการติดต่อไปยัง web ปลายทาง
    2. ในหน้าแรกของ IEEExplore จะมีข้อความว่า “Prince of Songkla University provided by UniNet” อยู่ในหน้าแรกด้วย ถ้าหากว่าเครื่องคอมพิวเตอร์ที่ใช้ในการดาวน์โหลดใช้ IP ของมหาวิทยาลัย และ ทาง IEEExplore ได้ register หมายเลข IP นั้นเอาไว้แล้ว

    ดังนั้น เมื่อใช้คำสั่ง

    wget -q -O- -4 http://ieeexplore.ieee.org | grep "Prince of Songkla"
    

    หรือ

    wget -q -O- -6 http://ieeexplore.ieee.org | grep "Prince of Songkla"
    

    แล้วได้ข้อความว่า

    <h4>Prince of Songkla University provided by UniNet</h4>
    ก็แสดงว่า สำหรับ protocol นั้นๆสามารถใช้งานกับ IEEExplore ได้ ถ้าไม่มีข้อความใดๆ ก็แสดงว่ายังใช้งานไม่ได้ครับ

    หมายเหตุ: option “-O-” ของ wget จะทำให้ wget แสดงข้อมูลที่ download มาได้ออกทาง standard output ซึ่งในกรณีนี้ก็จะเป็นการส่งต่อให้กับคำสั่ง grep ผ่านทาง pipe “|” ส่วน option “-q” (quiet) ไม่ให้มันแสดง message แสดงสถานะที่มันกำลังติดต่อว่ากำลังทำอะไร และ ดำเนินการไปถึงใหนแล้ว เพราะในกรณีนี้ เราสนใจเฉพาะข้อมูลที่จะ download มาจากเครื่องที่ให้บริการเท่านั้น
    ถ้าอยากจะรู้ว่า ในการติดต่อไปยัง IEEExplore ครั้งนั้นๆ เครื่องของเราใช้หมายเลข IP ใดก็สามารถตรวจสอบ โดยใช้คำสั่ง

    wget -q -O- -4 http://ieeexplore.ieee.org | grep geoip
    wget -q -O- -6 http://ieeexplore.ieee.org | grep geoip
    

    และ ถ้าอยากจะรู้ว่าปกติแล้ว ถ้าไม่มีการระบุโปรโตคอล เครื่องของเราจะใช้ IPv4 หรือ IPv6 ในการติดต่อไปยัง IEEExplore ก็ให้ใช้คำสั่ง

    wget -q -O- http://ieeexplore.ieee.org | grep geoip
    

    ครับ ถ้าไม่ระบุ protocol ใน option คำสั่ง wget ก็จะใช้ค่าที่กำหนดโดยระบบปฏิบัติการ ว่าจะให้ใช้ protocol ใดก่อนครับ

  • วิธีการเปิด Audit Log ของ Windows 2012 เพื่อให้บันทึกการเปลี่ยนแปลงเกี่ยวกับ Account Management ต่างๆ

    บน Microsoft Windows 2012 โดยปรกติจะไม่ทำการบันทึกการเปลี่ยนแปลงต่างๆเกี่ยวกับ Account ขั้นตอนต่อไปนี้จะทำให้เกิดการบันทึกใน Event Log เพื่อให้ Administrator ทราบว่า ใคร เปลี่ยนแปลงอะไร  เมื่อไหร่

    1. ไปที่ Start Menu ค้นหา Group Policy Management
      2559-06-03 10_02_40-Program Manager
    2. เลือก
      Computer Configuration
      Policies
      Windows Settings
      Security Settings
      Local Policies
      Audit Policy
      จากนั้น Double Click “Audit account management”
      2559-06-03 10_03_26-Start
    3. คลิกที่
      Define these policy settings
      และเลือก Success
      แล้วคลิกปุ่ม OK
      2559-06-03 10_11_13-Start
    4. จะได้ผลดังนี้
      2559-06-03 10_13_01-windows2012 [Running] - Oracle VM VirtualBox
    5. เมื่อเปิด Event Viewer > Security Log จะได้ผลดังนี้ เมื่อมีการเปลี่ยนแปลงเกี่ยวกับ Account จะเกิด Task Category “User Account Management” มี Event ID 4738 ดังภาพ
      2559-06-03 10_13_54-Program Manager
    6. จะเห็นรายละเอียดว่า ใคร แก้ไข Account Name ใด เมื่อไหร่
      2559-06-03 10_15_23-windows2012 [Running] - Oracle VM VirtualBox
    7. และแก้ไข Attribute ใด เป็นอะไร
      2559-06-03 10_17_13-Start

    หวังว่าจะเป็นประโยชน์ครับ

    Reference:

    1. https://technet.microsoft.com/en-us/library/cc731607(v=ws.10).aspx
    2. https://support.microsoft.com/en-us/kb/977519

     

  • file checksum integrity verifier

    Microsoft มี file checksum integrity verifier เป็น command line สามารถดาวน์โหลดมาใช้เพื่อตรวจสอบ file.iso ที่ดาวน์โหลดมาว่ามี md5sum ตรงกับที่หน้าเว็บไซต์แจ้งไว้หรือไม่ เพื่อจะได้ไม่หยิบเอา file.iso ที่อาจโดนใส่โปรแกรมไว้เนื่องจากเว็บไซต์ที่วางไฟล์ไว้อาจโดยแฮก ดาวน์โหลดได้ที่นี่ https://www.microsoft.com/en-us/download

    และค้นด้วยคำว่า file checksum integrity verifier

    fciv-website

    แตกไฟล์ออกมาไว้ใน Folder ที่ต้องการ เช่น Downloads

    นำมาใช้โดยเปิด Command Prompt และพิมพ์คำสั่ง fciv.exe file.iso ดังตัวอย่าง

    fciv-example

     

  • รายการสิ่งที่ต้องตรวจสอบเมื่อต้องเป็นผู้ดูแล Windows Server

    เมื่อระบบที่พัฒนามีมากขึ้น Server ที่ต้องดูแลก็เริ่มจะมีมากขึ้น และแน่นอนว่าต้องดูแลสุขภาพของ Server ให้อยู่ดี มีสุขและต้องทำงานได้อย่างมีประสิทธิภาพ     เลยลองไปศึกษาดูว่าคนที่ทำหน้าที่ดูแล Server ที่เรียกว่า Administrator นั้นเค้าต้องตรวจสอบหรือทำอะไรบ้าง ความถี่ในการเข้าไปตรวจสอบเรื่องต่างๆ จึงวสรุปมาเผื่อจะเป็นประโยชน์กับคนหัวอกเดียวกัน (ทั้งพัฒนาโปรแกรมและดูแลสุขภาพของ Server)

    พอจะแยกเป็นข้อๆดังนี้

    1. Updates
      -ตรวจสอบ New Package Update ที่ Windows Update โดยทำเดือนละครั้งเป็นอย่างน้อย แต่…ต้องแน่ใจว่ามี Backup หรือ Snapshot ล่าสุดที่พร้อมใช้งานสำหรับถ้า Update แล้วมีปัญหาต้อง Restored ระบบกลับมาให้ได้นะครับ (ส่วนนี้ถ้าเราดูแล Domain Server อยู่ด้วยก็น่าจะศึกษาเรื่อง Group Policy เพื่อสั่งตรวจสอบ server ทั้งหมดที่ดูแลอยู่ให้ Update ตาม Policy ที่ว่างไว้น่าจะดี ตอนนี้กำลังศึกษาเรื่อง Powershell scripts เพื่อให้ตรวจสอบข้อมูลและให้ส่ง mail ไปบอกอยู่ ถ้าทำสำเร็จจะมาเล่าให้ฟังในหัวข้อถัดๆไปนะครับ)
      -สำหรับ Server ได้ติดตั้ง Application อื่นๆนอกเหนือจากที่ Windows ให้มาก็ต้องตรวจสอบการ Update ด้วยนะครับถ้าให้ดีความทำ รายการ Application ที่ลงไว้ใน server ด้วยเพื่อสะดวกต้องการติดตาม Update และจะได้รู้ว่ามี Application แปลกปลอมอะไรเพิ่มเติมมาบ้างในเดือนที่กำลังตรวจสอบ
    2. Security
      -ตรวจสอบสิทธิการเข้าถึง Server พวก Administrator Group และ Remote access group น่าจะทำ 3-6 เดือนครั้ง
      -ตรวจสอบการเปิดปิด Firewall ports ต่างๆ น่าจะทำ 6-12 เดือนครั้ง
      -เรื่องการเปลี่ยน Passwords ของ User ที่มีสิทธิเข้าใช้งานระบบ น่าจะทำ 3 เดือนครั้งกำลังดี
    3. Backups
      -ฺBackups และ ต้องทดสอบ restores ระบบแบบสุ่ม 2-3 เดือนซักครั้ง
    4. Monitoring
      -ตรวจสอบการทำงานของ server โดยการตรวจสอบ logs ต่างๆที่ Server เก็บไว้ ตรงนี้ขอแนะนำ Log Parser Studio ลองไปโหลดมาเล่นดูครับ
      -ตรวจสอบการใช้งานทรัพยากรต่างๆของ Server Disk เหลือเท่าไร ใช้ RAM ไปเท่าไร ช่วงไหนทำงานหนักสุด
      -ตรวจสอบ Hardware Error ทำความเข้าใจกับ Windows logs > System, look for warnings and critical events.
      -Application ที่ลงไว้ตัวไหนไม่ใช้งานก็ความจะเอาออกจาก Server เพื่อลดความเสี่ยงที่ Application เหล่านั้นจะมีช่องโหวให้ถูกโจมตีได้
      -ควรมีการ Run คำสั่ง chkdsk เดือนละครั้งเพื่อตรวจสอบ Disk
      -ควรมีการตรวจสอบพวก Virus และ Mal ware เดือนละครั้งตามที่อ่านๆมาก็พอสรุปได้ดังนี้ครับ และตามหัวข้อเหล่านี้ก็สามารถขยาย ต่อยอดศึกษาต่อไปได้อีก ที่ผมสนใจอยู่ตอนนี้คือการทำ automatic Task ด้วย Powers hell  ถ้าท่านใดมีความรู้หรือมีแหล่งความรู้แนะนำกันได้นะครับ ที่ลองทำและใช้งานอยู่ก็จะเป็นการสั่ง Backup SQL Server Database ไปเก็บไว้ใน Network Drive ซึ่งตัว Backup ของ SQL Server ที่มีมาให้ไม่สามารถมองเห็น Network Drive ได้ก็เลยลองเขียนด้วย power shell ก็ทำงานได้ดีและดูแล้วว่าถ้าใช้งาน Windows Server อยู่ความรู้เรื่อง Power Shell น่าจะช่วยให้ชีวิตการดูแล Server มีความสุขขึ้นมากแน่นอนครับ
  • Powershell : นับหน้าเอกสาร PDF

    1. Download โปรแกรม PDFtk [ https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ ]
    2. Install PDFtk
    3. ใช้ editor ซักตัวเขียน Code Powershell ที่ผมใช้คือใช้ Visual Studio 2013 และ Download PowerShell Tools for Visual Studio 2013 [ https://visualstudiogallery.msdn.microsoft.com/f65f845b-9430-4f72-a182-ae2a7b8999d7 ] ที่ใช้งานตัวนี้เพราะ Tools จะมี InteliSense ให้ไม่ต้องจำคำสั่ง PowerShell ทั้งหมด ก็ทำให้สะดวกดี
    4.  Code ก็ไม่มาก
      #กำหนดที่เก็บผลการ$File
      Path = ‘E:\tmp\result.txt’ -f $env:Path; 
      #เป้าหมาย diretory ที่เก็บ file PDF วนคำนาณแต่ละ file
      dir e:\ *.pdf | foreach-object{

      $pdf = pdftk.exe $_.FullName dump_data
      $NumberOfPages = 0
      $NumberOfPages = [regex]::match($pdf,’NumberOfPages: (\d+)’).Groups[1].Value

      $infoObj = New-Object PSObject -Property @{
      Name = $_.Name
      FullName = $_.FullName
      NumberOfPages = $NumberOfPages
      }
      #บันทึกข้อมูลลง file
      $infoObj.”FullName”,$infoObj.”NumberOfPages” -join ‘,’ | Out-File -FilePath $FilePath -Append -Width 200;

      }

      5. Save แล้วก็ Execute เพื่อทดสอบได้เลยครับ

  • Using KMS Manually to Activate Software

    • ต้องแจ้ง IP Address ที่ต้องการ activate ผ่าน KMS Server ของมหาวิทยาลัยที่ support@psu.ac.th
    • สำหรับ Windows ให้สร้าง batch script ชื่อ WindowsKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Windows) มีข้อความดังนี้
      สำหรับ Windows Vista/7/8/8.1/2008/2008R2/10/11/2012/2012R2/2016/2019/2022
      CD %windir%\System32
      cscript slmgr.vbs /skms kms1.psu.ac.th
      cscript slmgr.vbs /ato
    • สำหรับ Microsoft Office/Visio/Project ให้สร้างแฟ้ม OfficeKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Office) มีข้อความดังต่อไปนี้
      rem Office 2021, Office 2019, Office 2016:
      CD \Program Files\Microsoft Office\Office16
      CD \Program Files (x86)\Microsoft Office\Office16
      rem Office 2013:
      CD \Program Files\Microsoft Office\Office15
      CD \Program Files (x86)\Microsoft Office\Office15
      rem Office 2010:
      CD \Program Files\Microsoft Office\Office14
      CD \Program Files (x86)\Microsoft Office\Office14
      cscript ospp.vbs /sethst:kms1.psu.ac.th
      cscript ospp.vbs /act

      ทั้งนี้ต้องติดตั้ง Office ด้วย Next technology เท่านั้นคือไม่มีการแก้ไข path ที่ใช้ติดตั้ง Office มิฉะนั้นต้องชี้ path ที่ถูกต้องของแฟ้ม ospp.vbs เอง
    • เสร็จแล้วในคลิกขวาที่แฟ้ม WindowsKMS.bat และแฟ้ม OfficeKMS.bat แล้วเลือก run as administrator
    • สำหรับห้องปฏิบัติการหรือเครื่องที่นานๆ (เกิน 30 วัน) เปิดใช้สักครั้งอาจจะต้องมีการเพิ่มหมายเลขผลิตภัณฑ์ลงในสคริปต์ด้วย หลังไมค์มานะครับ….
    • windows Server ก็ใช้ script เดียวกันนี้สำหรับการ activate
    • จบ ขอให้สนุกครับ
  • การตั้งค่า Interface IPv6 สำหรับเครื่อง Windows Server

    “อยากให้ Windows Server เปิดใช้ IPv6 ต้องทำอย่างไร”

    • สำหรับวิธีเปิดใช้งาน IPv6 บน Windows เป็นเรื่องง่ายมาก แค่ตั้งค่า Interface ในส่วนของ IPv6 ดังตัวอย่าง

    2015-12-08_152152 2015-12-08_152218 2015-12-08_152336

    • เท่านี้ก็เรียบร้อยครับ ในส่วนของ DNS ถ้าไม่ทราบสามารถลอง nslookup จาก dns (ที่ได้จดชื่อ IPv6 ไว้แล้ว) ดังตัวอย่างในรูปครับ (ขออภัย censor เยอะหน่อยครับ)

    2015-12-08_153053

    • สำหรับ Web Server อย่าง IIS ใน Windows ไม่ต้องแก้ไขอะไรครับ แต่ถ้าเป็น Apache อันนี้ยังไม่ได้ลองครับ
    • อย่าลืมนะครับ Firewall สำหรับ IPv6 จะแยกกับ IPv4 ในกรณีที่ตั้งระบุการเข้าถึงจาก IP ต้นทาง ปลายทางต้องทำการเพิ่มเข้าไปใน Firewall ด้วยครับ