Tag: windows 10

  • Hard links and junctions

    ntfs file system

    • NTFS สนับสนุนการ file links 3 แบบ
      • Hard links
      • Junctions
      • Symbolic
    • เราจะพูดถึง Hard links และ Junctions

    Hard links

    • ใช้แสดงถึงไฟล์เดียวกัน ในไดรฟ์เดียวกัน (same volume) ที่อยู่หลายโฟลเดอร์ (path)
    • แก้ไขไฟล์เดียวกันนี้ที่ใดที่หนึ่งก็จะเปลี่ยนแปลงทุกที่
    • ตัวอย่างที่ทำได้
    C:\dira\ethel.txt ชี้ไปที่ C:\dirb\dirc\lucy.txt
    
    D:\dir1\tinker.txt ชี้ไปที่ D:\dir2\dirx\bell.txt
    C:\diry\bob.bak ชี้ไปที่ to C:\dir2\mina.txt
    C:\a\1.txt ชี้ไปที่ C:\a\11.txt
    • ตัวอย่างที่ทำไม่ได้
    C:\dira ชี้ไปที่ to C:\dirb #โฟลเดอร์ทำ Hard link ไม่ได้
    C:\dira\ethel.txt ชี้ไปที่ to D:\dirb\lucy.txt #ชี้ไฟล์ที่อยู่คนละไดรฟ์ไม่ได้
    • สามารถลบไฟล์ใดไฟล์หนึ่งที่ชี้ไปก็ได้ โดยที่เนื้อหาข้างในจะยังคงอยู่ในไฟล์ที่เหลืออยู่

    วิธีสร้าง Hard links

    • ต้องใช้ cmd บน Windows 11 หรือ cmd ของ administrator บน Windows 10
    mklink /H ปลายทาง ต้นทาง
    • ตัวอย่างเช่น ต้องการทำ Hard link ชื่อ cadabra.txt ในโฟลเดอร์ dirb ชี้ไปที่ไฟล์ adabra.tx ในโฟลเดอร์ dira
    mklink /H c:\dirb\cadabra.txt c:\dira\adabra.txt
    • ดังภาพ

    Junction

    • เรียกอีกอย่างว่า Soft links ต่างจาก Hard links ตรงที่ใช้เชื่อมโยงโฟลเดอร์ ภายในเครื่องคอมพิวเตอร์เครื่องเดียวกัน
    • ตัวอย่างที่เป็นไปได้
    C:\dira ชี้ไปที่ C:\dirb\dirc
    
    C:\dirx ชี้ไปที่ D:\diry
    • ตัวอย่างที่เป็นไม่ได้
    C:\dira\one.txt ชี้ไปที่ C:\dirb\two.txt #ใช้ Junction กับไฟล์ไม่ได้
    
    C:\dir1 ชี้ไปที่ Z:\dir2 
    #ไดรฟ์ Z โดยทั่วไปหมายถึงเน็ตเวิร์คไดรฟ์ ต้องเป็นโฟลเดอร์ในเครื่องคอมพิวเตอร์เครื่องเดียวกัน

    วิธีสร้าง Junction

    • เหมือนที่ผ่านมาต้องทำใน cmd บน Windows 11 หรือ cmd ของ administrator บน Windows 10
    mklink /J ปลายทาง ต้นทาง
    • ตัวอย่างต้องการสร้าง c:\dirx ชี้ไปที่ c:\dira\dirc
    • ดังภาพ สังเกตว่าตรง dirx จะเห็นเป็น <JUNCTION>
    • การลบ junction สามารถลบได้เลยโดยที่ต้นทางจะไม่ถูกลบด้วย
  • การเชื่อมต่อกับ WSUS (Windows Server Update Services) บน Windows 11/10

    “ทำยังไงให้โหลด Windows Update ได้เร็วขึ้นบ้าง แถมยังไม่เปลืองแบนวิชมหาลัยอีกต่างหาก”

             กลับมาอีกครั้งในปี 2022 จากการเปิดบริการ WSUS ก่อนหน้าพบปัญหาเรื่อง Database Corrupt และ เนื้อที่เต็ม มารอบนี้จึงปรับไปใช้เครื่อง Physical (ของเดิม VM) ถึงแม้เครื่องจะเก่าหน่อยแต่แรมเยอะและ Disk ก็เยอะเช่นเดียวกัน จึงมีความคิดว่าจะรวม Windows Server มาให้บริการด้วย เพราะหลัง ๆ Update ใหญ่จริง ๆ  โดยใช้ Server เป็น Windows 2022 พร้อมการ Tunning รับโหลดที่ได้มากขึ้น โดยบริการคร่าว ๆ มีเบื้องต้นดังนี้

    • Windows 10/11 ทุก Version 32,64 bit (ไม่มี Windows XP/7/8/8.1)
    • Windows Server 2016/2019
    • Windows Subsystem for Linux (Kernel Update)
    • Microsoft Office 2013,2016,Microsoft 365 Apps/Office 2019
    • Microsoft Visual Studio 2015/2017/2019/202
    • Microsoft Edge
    • Microsoft Defender Antivirus

    วิธีการติดตั้งบน Windows 11 (Version 22H2)

    • กดปุ่ม Windows+R สั่งคำสั่ง gpedit.msc ใน Run หรือ Cmd ก็ได้ครับ

    2016-11-15_150040

    • เลือก Local Computer Policy -> Administrative Templates -> Windows Components

    2016-11-16_153349

    • จากนั้นเลือก Windows Update -> เลือกหัวข้อ Specify intranet Microsoft update service location
    • เลือก Edit policy setting -> ติก Enabled
    • ตั้งค่าดังนี้
      Set the intranet update service for detecting updates: Enabled
      Set the intranet statistics server : https://wsus.psu.ac.th
      Set the alternate download server : https://wsus.psu.ac.th

    • จากนั้นทำการ Windows Update ตามปกติ

    Note :
    *
    สามารถเลือก Update จากข้างนอกได้ (ในกรณีอยู่นอกมหาวิทยาลัย หรือเชื่อมต่อเครื่อง WSUS ไม่ได้) แค่คลิก Check online for updates from Microsoft Update

    **  ถ้าต้องการ Update Product อื่น ๆ ของ Microsoft เช่น Microsoft Office ให้เลือก Give me updates for other Microsoft products when I update Windows. ในหน้า Advanced Option

    *** และถ้าต้อง Update Driver ด้วยก็สามารถเลือกได้ Receive updates for other Microsoft product และ Get me up to date (Option หลังนี้จะ เด้งถามให้รีสตาร์ท โดยจะแจ้งเตือนก่อน 15 นาที ก่อน Restart – เครื่องห้องอบรมไม่แนะนำให้เปิด)

    วิธีการติดตั้งบน Windows 10

    • กดปุ่ม Windows+R สั่งคำสั่ง gpedit.msc ใน Run หรือ Cmd ก็ได้ครับ

    2016-11-15_150040

    • เลือก Local Computer Policy -> Administrative Templates -> Windows Components

    2016-11-16_153349

    • จากนั้นเลือก Windows Update -> เลือกหัวข้อ Specify intranet Microsoft update service location

    2016-11-15_150227

    • เลือก Edit policy setting
    • จากนั้นใส่ server WSUS ที่ต้องการเชื่อมต่อ (https://wsus.psu.ac.th ใช้ได้เฉพาะภายในมหาวิทยาลัยเท่านั้น)

    2016-11-16_153442

    • ทำการ Windows Update ตามปกติ

    Note :
    *
    สามารถเลือก Update จากข้างนอกได้ (ในกรณีอยู่นอกมหาวิทยาลัย หรือเชื่อมต่อเครื่อง WSUS ไม่ได้) แค่คลิก Check online for updates from Microsoft Update

    2016-11-17_085801

    **  ถ้าต้องการ Update Product อื่น ๆ ของ Microsoft เช่น Microsoft Office ให้เลือก Give me updates for other Microsoft products when I update Windows. ในหน้า Advanced Option

    2016-11-17_090207

    *** และถ้าต้อง Update Driver ด้วยก็สามารถเลือกได้เช่นกันที่ 

     

  • ตัดต่อ clip video อย่างง่าย ด้วย App Photos บน Windows10

    จากบทความที่แล้วได้แนะนำ “การบันทึกหน้าจอคอมพิวเตอร์ Xbox Game Bar บน Windows10” ไปแล้ว ก็ถึงขั้นตอนการตัดต่อกันบ้าง ซึ่ง Windows10 ก็มี App ที่ทุกคนใช้งานกันอยู่เป็นประจำ นั้นก็คือ Photos
    หลายคนคงใช้ App Photos ใช้สำหรับดูรูปภาพเท่านั้น แต่รู้หรือไม่ว่ามันสามารถสร้าง ตัดต่อ ใส่ข้อความ ใส่เสียง และลูกเล่นต่าง ๆ ให้กับ clip ของของคุณได้อีกด้วย

    เริ่มต้นใช้งาน
    • พิมพ์ Photos ตรงช่องค้นหาด้านซ้ายของหน้าจอ แล้วเลือกเมนู


    • เมื่อเปิด App Photos ขึ้นมาคลิก New video และเลือก New video project



    • ใส่ชื่อ Name your video


    • เลือกไฟล์จากเครื่องของคุณโดยไปที่ +Add และเลือก From this PC ซึ่งสามารถเลือกได้ทั้งไฟล์รูปภาพและ clip video



    • คุณสามารถเลือกไฟล์ที่ต้องการทำclip video และกด Place in storyboard หรือ ลากรูปที่ต้องการลงในส่วนของ Storyboard ได้ทันที


    • เมื่อไฟล์ที่ต้องการตัดต่อ clip videoปรากฎใน Storyboard แล้ว คุณสามารถเลือกจัดการไฟล์รูปภาพและclip videoได้จากเครื่องมือต่าง ๆ ดังนี้


    Add title card
    ใช้สำหรับเพิ่ม card แสดงเพิ่มเติมจากไฟล์รูปหรือไฟล์ video

    Background
    ใช้สำหรับใส่พื้นหลังให้กับ card ที่คุณได้เพิ่มเข้ามา


    Duration
    ใช้สำหรับใส่ระยะเวลาในการแสดงไฟล์ที่เลือกไว้ ซึ่งสามารถกำหนดโดยคลิกที่ Duration หรือที่ไฟล์ต้องการบน Storyboard ก็ได้


    Text
    ใส่ข้อความ ซึ่งจะมีรูปแบบอักษร และ Layout ข้อความต่าง ๆ ให้เลือก



    Motion
    ใช้เลือกรูปแบบการเคลื่อนไหวของภาพ

    3D effects
    ใช้สำหรับ ใส่ effects ลูกเล่นต่าง ๆ ให้กับไฟล์ที่เราต้องการ


    Filters
    ใช้สำหรับใส่ Filters ให้กับไฟล์ภาพที่เราเลือก

    Background music
    ใช้สำหรับเลือกเพลงบรรเลงให้กับ clip video ที่คุณกำลังสร้างอยู่


    Custom audio
    ใช้สำหรับเลือกไฟล์ audio จากเครื่องของคุณเอง

    หากไฟล์ที่คุณนำเข้ามาตัดต่อเป็น clip video จะมีเมนูสำหรับใช้ในการตัดต่อเพิ่มขึ้นมา ได้แก่


    Trim
    ใช้สำหรับตัดส่วน ต้น/ท้ายของ clip video

    Split
    ใช้สำหรับแบ่งไฟล์ clip video เป็น 2 ส่วน

    Speed
    ใช้สำหรับกำหนดความเร็วของ clip ที่คุณเลือก


    เมื่อตกแต่งตัดต่อ clip ของคุณเรียบร้อยแล้ว ให้คลิกที่ Finish video เพื่อ Export ไฟล์โดยสามารถเลือกคุณภาพของไฟล์ที่ export ได้

    เพียงเท่านี้คุณก็สามารถสร้างสื่อดี ๆ มานำเสนอได้แล้ว ใช้งานไม่ยาก แถมยังอยู่ใกล้ตัวด้วย คุณลองดูหรือยังค่ะ?

    ที่มา : ตัดต่อวีดีโอ บน windows10

  • Windows Subsystem for Linux Installation Guide for Windows 10

    เพื่อเป็นการไม่เสียเวลา เริ่ม

    • เปิด Powershell ด้วยสิทธิ์ของ Administrator แล้วพิมพ์คำสั่ง ต่อไปนี้เพื่อเปิดใช้งาน “Windows Subsystem for Linux” หรือ wsl โดยจะเป็นรุ่น 1 หรือ wsl1
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    wsl1
    • ปรับรุ่นให้เป็นรุ่น 2 โดย Windows 10 ที่ใช้งาน ต้องเป็น Windows 10 version 2004, Build 19041 1903, Build 18362 ขึ้นไปเท่านั้น
    • ตรวจสอบรุ่นของ Windows ด้วยคำสั่ง winver (start->run)
    winver
    • เปิดใช้งาน Virtual Machine Platform พิมพ์คำสั่งต่อไปนี้ ใน powershell ของ administrator
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    Virtual Machine Platform
    • restart เครื่องเพื่อให้การปรับรุ่น wsl1 เป็น wsl2 สมบูรณ์
    • ตั้งค่าให้ wsl2 เป็นค่าเริ่มต้นด้วยคำสั่ง
    wsl --set-default-version 2
    Set default wsl2
    • ซึ่งจะเจอข้อความตามภาพ ให้ไปดาวน์โหลด kernel ได้จาก https://aka.ms/wsl2kernel โหลดมาแล้วติดตั้งให้เรียบร้อย (Next technology)
    download kernel
    • สั่งคำสั่งเดิมอีกครั้งเพื่อตั้งค่าให้ wsl เป็นรุ่น 2 เป็นค่าเริ่มต้น
    Set default wsl2
    • สามารถดูรายละเอียดความแตกต่างของ wsl2 ได้ที่ https://aka.ms/wsl2
    • ติดตั้ง Linux ที่ต้องการจาก Microsoft Store หรือคลิกลิงค์ด้านล่างเพื่อเข้า Microsoft Store
    ubuntu 20.04
    • ติดตั้งเสร็จแล้วคลิก Launch ใน Microsoft Store
    • จะเป็นการเปิดหน้าของลินุกส์ขึ้นมาและให้ตั้งค่าต่างๆ username และ password
    Setup
    • ตั้งค่าเสร็จได้ดังภาพ
    Fin
    • ตั้งค่าลินุกส์ให้เป็น wsl2 ตรวจสอบว่าเป็นรุ่นไหนอยู่ด้วยคำสั่ง
    wsl --list --verbose
    check version
    • ซึ่งถ้าหากยังเป็นรุ่น 1 สามารถเปลี่ยนได้ด้วยคำสั่ง
    wsl --set-version <distribution name> <versionNumber>
    • โดยแทนที่ <distribution name> ด้วยชื่อเต็มที่ได้จากคำสั่ง wsl –list –verbose เช่น Ubuntu-20.04 และ <versionNumber> ด้วย 1 หรือ 2 ตามต้องการ
    • จบขอให้สนุก

    ต้นฉบับ

    https://docs.microsoft.com/en-us/windows/wsl/install-win10

  • วิธีการติดตั้ง OpenSSH Server บน Windows

    อยาก ssh เข้า Windows Server เพื่อเข้าไปรัน PowerShell หรือรัน script cmd ต้องทำอย่างไร
    (โดยปกติ Windows ปัจจุบันมี OpenSSH Client ติดตั้งมาโดย Default ถ้าใครต้องการแค่จะใช้ ssh/scp command ข้ามบนความนี้ได้เลยครับ)

    Reference :
    https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse Installation of OpenSSH For Windows Server 2019 and Windows 10

    Environment :

    – Windows Server 2019 หรือ Windows 10 1809 ขึ้นไป

    • วิธีการติดตั้ง OpenSSH Server ผ่าน GUI
      เปิด Settings > Apps > Apps and Features > Manage Optional Feature
      s (Windows 10 ใช้คำว่า Optional Features)
    • วิธีการติดตั้ง OpenSSH Server ผ่าน PowerShell (Run as Administrator)

    – ตรวจสอบ Version ของ OpenSSH ที่จะลงก่อน

    Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

    – ทำการติดตั้งตาม Version ล่าสุด

    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    • วิธีการสร้าง Service ให้ Start OpenSSH Server โดยอัตโนมัติเมื่อเปิดเครื่องผ่าน PowerShell Run as Administrator และทำการเปิด Firewall ให้เข้าถึงได้
    Start-Service sshd
    # OPTIONAL but recommended:
    Set-Service -Name sshd -StartupType 'Automatic'
    # Confirm the Firewall rule is configured. It should be created automatically by setup. 
    Get-NetFirewallRule -Name *ssh*
    # There should be a firewall rule named "OpenSSH-Server-In-TCP", which should be enabled
    # If the firewall does not exist, create one
    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
    
    • ทดสอบเข้าใช้งาน (สำหรับเครื่องที่ join office365 แนะนำให้เข้าผ่าน local account ครับ)
    ssh [username]@[Windows Server IP]
    • การใช้งานต้องใช้คำสั่งของ powershell นะครับ ไม่ใช่ shell script ของ linux ดังนั้นการกดออกต้องใช้คำสั่ง exit

    ในแง่เดียวกันสามารถทำ ssh tunnel ไปมาระหว่าง Windows และ Linux ได้นะครับ แต่คงจะไม่ได้เขียน Blog ในส่วนนี้ครับ แต่จะไม่มี command ssh-copy-id ใน windows ให้ใช้คงต้อง ssh-keygen แล้ว copy key ไปสร้างในเครื่อง linux เองครับ

  • Windows 10, Version 1903, May 2019 Update installation

    Windows 10, Version 1903, May 2019 Update เป็นรุ่นปรับปรุงที่ออกเมื่อ พฤษภาคม 2562 การติดตั้งเปลี่ยนแปลงไปนิดหน่อยดังนี้

    จะพูดถึงการติดตั้งใหม่เท่านั้น ใครจะอัพเดตผ่าน Windows update ก็สามารถอัพเดตได้เลย

    สำหรับนักศึกษา

    • Windows 10 ที่สามารถติดตั้งได้คือ Windows 10 Education เท่านั้น เนื่องจากหมายเลขผลิตภัณฑ์ (Product key) ที่ได้จาก Microsoft Azure เป็น Windows 10 Education โหลดได้จาก Microsoft Azure และ https://licensing.psu.ac.th/windows-10/
    • การ activate สามารถทำได้เพียงวิธีเดียวคือใช้ Product key จาก Microsoft Azure เท่านั้น
    • เมื่อติดตั้งจะมีหน้าจอให้เลือกว่าจะติดตั้งรุ่นไหน ก็ให้เลือก Windows 10 Education เท่านั้น
    Windows Setup
    Windows 10 Education 

    สำหรับบุคลากร

    • เลือกติดตั้งได้ 3 รุ่นได้แก่ Windows 10 Education, Windows 10 Pro และ Windows 10 Pro for workstation เท่านั้น รุ่น Enterprise และรุ่นที่มี N ต่อท้ายติดตั้งไม่ได้
    • การ activate สามารถทำได้ 2 วิธี คือ
      • กดรับ Product key ได้ที่ CD-Key ซึ่งเป็นคีย์กลางของมหาวิทยาลัย ใช้ร่วมกันทั้งมหาวิทยาลัย activate 1 ครั้งนับ 1 ครั้ง ฉะนั้นก่อน activate ควรติดตั้ง Software ตัวอื่น ๆ ให้เสร็จเรียบร้อยจนแน่ใจว่าจะไม่ติดตั้ง Windows ใหม่ในระยะเวลา 6 เดือน
      • activate ผ่าน KMS ของมหาวิทยาลัย วิธีนี้เหมาะสำหรับห้องปฏิการคอมพิวเตอร์ และเครื่องในสำนักงาน ที่เปิดใช้งานทุกวัน (หรืออย่างน้อย 1 ครั้งใน 6 เดือน) และเชื่อมต่อกับเครือข่ายของมหาวิทยาลัยตลอดเวลา

    เริ่ม…ได้

    • ดาวน์โหลดแผ่นได้ที่ https://licensing.psu.ac.th/windows-10/
    • สร้าง flash drive สำหรับบูต (flash drive ต้องมีขนาดอย่างน้อย 8GB) ด้วย Rufus https://rufus.ie/ หรือเขียนแผ่น DVD ให้เรียบร้อย
    • เปิดเครื่องบูตด้วย flash drive หรือ DVD ที่สร้างเตรียมไว้แล้ว
    Boot
    (more…)

    Pages: 1 2 3

  • Bash Bash Bash เต็มไปหมด…

    ไมโครซอฟท์ปล่อยอัพเดต Windows 10 Anniversary Update แล้ว ถึงเวลาลอง bash shell บนวินโดวส์แล้วสิ…

    • ติดตั้ง Windows 10 Anniversary ทำได้สองทาง
      • หากใช้ Windows 10 อยู่แล้วก็ Windows update ได้เลย (รุ่น Professional อาจยังไม่มีให้ update)
      • ต้องการติดตั้ง Windows 10 ใหม่ โหลดที่ https://licensing.psu.ac.th/tag/anniversary/ เลือกเอาเลยจะเอารุ่น Professional หรือ Education (สำหรับนักศึกษาต้องเป็นรุ่น Education)
      • ติดตั้งไปจนเสร็จเรียบร้อย
    • ต้องเชื่อมต่อ Internet ตลอดเวลาที่ติดตั้ง!!
    • คลิกขวาที่ปุ่ม start เลือก Programs and Features
      Programs and Features
    • คลิก Turn Windows Features on or off
      Turn Windows Features on or off
    • เลือก Windows Subsystem for Linux (Beta)
    • เมื่อติดตั้งเสร็จแล้ว ให้เปิด developer mode คลิกที่ start menu แล้วพิมพ์ deve จะได้ดังรูป แล้วเลือก for developers settings
      Start menu
    • ได้ดังภาพเลือก Developer mode
      developer mode
      คลิก Yes
      Developer Mode
    • อาจมีข้อความเตือนให้ restart ก็ restart ให้เรียบร้อย
    • คลิกขวาที่ปุ่ม Start เลือก Command Prompt (Admin)
      CMD
    • พิมพ์ bash
      bash
    • กด y แล้วกด enter
      Download
    • จะเป็นการเริ่ม download รอจนครบ 100%
      Download
    • ตั้ง username และ password
      create user
    • เมื่อตั้งเสร็จเรียบร้อยก็พร้อมใช้งาน
      ready
    • ทุกครั้งที่ต้องการใช้งานให้เรียก bash ได้ที่ปุ่ม start แล้วเลือก Bash on Ubuntu on Windows
      bash on start
    • ทดสอบ ssh
      ssh
    • จบ… ขอให้สนุกครับ
  • psuautosigned for windows?

    เช้าของวันที่ 14 ธันวาคม 2558 คุณ คณกรณ์ post ถามไว้ในกลุ่ม PSU Sysadmin บน facebook ว่า

    เรียนสอบถาม (จะได้ไม่ต้องทำซ้ำ) บน windows 10 ใครมี script ให้ทำการ auto authentication บ้างไม๊ครับ บางเครื่องต้องเปิดค้างไว้ข้ามวัน จะได้เข้ามาดูทางไกลได้ น่ะครับ ตอนนี้ใช้ team viewer ก็ยังติดเรื่องนี้อยู่ดี

    ขอบคุณครับ

    มีคุณ Thanongdat Noosrikaew กับคุณ ป้อม เภสัชฯ (Siripong Siriwan)  มาเสนอทางเลือกในการแก้ปัญหา แต่ดูเหมือนจะไม่ตรงกับที่เจ้าของคำถามต้องการสักเท่าไหร่
    ผมอ่านแล้วก็ตั้งคำถามกับตัวเองว่า แล้วผมจะต้องตอบคำถามนี้ ผมมีทางเลือกอะไรบ้าง?
    คำตอบที่มีให้กับตัวเองก็คือ หากินกับของเก่าที่เคยทำเอาไว้แล้ว … คือ… มีคำสั่งคำสอน ที่ถ่ายทอดมาตั้งแต่ยุคโบราณกาลครั้งเก่าโพ้น ในชนเผ่า sysadmin ว่า sysadmin ที่ดีจะเป็นคนขี้เกียจ อะไรที่ได้ทำไว้แล้ว และยังเอามาใช้ได้ ก็ไม่ควรที่ทำขึ้นมาใหม่ … อันนั้น เป็นเรื่องที่ผมได้ยินมานะครับ จะเชื่อถือได้แค่ใหนก็แล้วแต่ท่านทั้งหลายจะได้พิจารณากัน

    ผมก็เลยพยายามทำตัวเป็น admin ขี้เกียจ .. เฮ่ย ไม่ใช่ เป็น admin ที่ดี ซึ่ง … ก็คือ ขี้เกียจน่ะแหละ -_-”
    มีอะไรที่เคยทำเอาไว้แล้ว ก็เอามา recycle ขายใหม่ ถ้าขายได้ … เราต้องช่วยกันอนุรักษ์สิ่งแวดล้อม … เกี่ยวกันใหม?

    คำตอบแรกที่ผมคิดได้ก็คือ

    ถ้า ยังหา solution บน Windows โดยตรงไม่ได้ และ ไม่รังเกียจที่จะติดตั้ง cygwin เพิ่มเข้าไปบนตัว windows ผมคิดว่า psuautosigned ที่เขียนไว้สำหรับ Linux ก็น่าจะพอดัดแปลงให้ใช้งานบน Windows ได้ครับ ฟังก์ชัน หลักๆ ต้องการแค่ shell ซึ่งอาจจะเป็น cmd.exe ของ windows เองก็ได้ กับโปรแกรมที่ชื่อว่า curl ครับ โปรแกรมอย่างอื่นเป็นแค่ตัวประกอบ แต่ทั้งหมด รวมทั้ง shell และ curl มีอยู่ใน cygwin อยู่แล้ว

    ผมไม่มีเครื่องที่ใช้งาน windows 10 ให้ลอง ถ้าจะช่วยทดสอบให้ ผมก็ยินดีที่จะแก้ script ให้รองรับ windows 10 ด้วยครับ

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

    ส่วน cygwin ก็คือ https://www.cygwin.com/ เป็น tools สำหรับ Windows ให้สามารถใช้งานได้เหมือน(หรือใกล้เคียงมากๆ) กับการใช้ชีวิตอยู่บน Unix Command Line … ซึ่งเนื่องจาก script psuautosigned พัฒนาและใช้งานบน Linux ถ้าจะให้เอาไปใช้งานบนเครื่อง Windows 10 ได้ตามความต้องการของคุณหนุ่ม ก็ต้องการเครื่องมือเหล่านี้ มาช่วยด้วย

    นั่นหมายถึงว่า ถ้าจะเอาไปใช้ จะต้องติดตั้งโปรแกรมเพิ่ม และ ถึงแม้ว่า cygwin จะสร้างสภาพแวดล้อมแบบ Unix บนเครื่อง Windows เจ้าตัว script ที่ผมเขียน และ ทดสอบบน Debian Linux ก็จะยังไม่สามารถเอาไปใช้งานได้ทันที มันจะต้องการแก้ไขบางส่วนแน่ ๆ

    พอนั่งทบทวนไปสักพักว่ามีส่วนใหนที่จะต้องแก้ไขบ้าง จากความจำที่ค่อนข้างลางเลือนในส่วนที่เกี่ยวข้องกับ cygwin เพราะไม่ได้ใช้ Windows นานมาก และ cygwin ก็ไม่ได้แต่นานมากเช่นเดียวกัน และ มีความขี้เกียจ เอ๊ย! ผิด! มีคุณลักษณะที่ดีของ sysadmin เป็นตัวกระตุ้น … ผมก็ได้ idea ใหม่แจ่มแจ๋วขึ้นมา

    นี่คือสิ่งที่ผม post reply ตามไปจาก reply ที่แล้ว

     

    หรือ อีกทางนึง ถ้ามี resource บนเครื่อง windows 10 เหลือเฟือ และไม่รังเกียจที่จะเสีย เนื้อที่ harddisk สัก 512MB และ memory สัก 32MB ก็ติดตั้ง virtualbox (เอ่อ เนื้อที่ harddisk กับ ram ข้างต้นไม่รวมของ virtualbox) และติดตั้ง linux ตัวใหนก็ได้แบบ minimal (แต่แนะนำ debian) ลงไปต้องการแค่ bash shell, basic linux utils และ ติดตั้งโปรแกรม curl เพิ่ม กำหนดให้ interface ของ VM เป็นแบบ NAT ก็จะสามารถใช้โปรแกรม psuautosigned สำหรับการ authen จากตัว VM ซึ่งเมื่อใช้งานเป็นแบบ NAT ก็จะ authen ให้กับ host ที่เป็น windows 10 ด้วยเลย วิธีการนี้ ก็ไม่จำเป็นที่จะต้องดัดแปลง psuautosigned ใดๆทั้งสิ้นครับ

    และ

    ถ้า เลือกใช้วิธีการติดตั้ง debian บน VM ตอนติดตั้งจะต้องให้ memory ของเครื่องซํก 256 หรือ 512 MB ก่อนนะครับ เพราะตอนตั้ง มันจะใช้ RAM ค่อนข้างเยอะ ถ้ามี memory น้อยเกินไปจะติดตั้งไม่สำเร็จ แต่ พอติดตั้งเสร็จแล้ว ก็ค่อยลด memory ให้เหลือเท่าที่จำเป็นต้องใช้ ผมไม่แน่ใจว่าตอนนี้มันต้องการเท่าไหร่ แต่ถ้าไม่มีอะไรอย่างอื่นที่ไม่จำเป็นต้องใช้ run อยู่เลย ผมคิดว่า 32MB ก็เหลือเฟือครับ เครื่องของผมที่ run linux สมัยแรกๆ ใช้ RAM แค่ 8MB ก็ run ได้โดยไม่แตะ swap ในตอน boot และใช้แค่ console ไม่ได้ run X-windows

    ข้อดีที่สุดของวิธีการนี้ ถ้าคุณหนุ่มจะเอาไปใช้ก็คือ จะต้องไป download และ ติดตั้งโปรแกรม virtualbox จาก ที่นี่ แล้วก็สร้าง Virtual Machine ที่เป็น Linux ขึ้นมา ซึ่งถ้า Linux ที่เป็น Debian ตามที่ผมแนะนำ ตัว script ก็สามารถที่จะทำงานได้เลย โดยไม่ต้องแก้ไขใดๆทั้งสิ้น ปล่อยภาระของการแก้ปัญหาเรื่องนี้ ให้เป็นการติดตั้ง Linux บน Virtual Box ของคุณหนุ่มไป ส่วนผม อยู่เฉยๆ ทำตัวขี้เกี… เอ๊ย ทำตัวเป็น sysadmin ที่ดี ที่มีทั้งหลังที่ยาว และ ขนตามตัวยาวเฟื้อยต่อไป 😉

    อันที่จริง วิธีการนี้ จะเป็นการใช้ psuautosigned script สำหรับการ signed in หรือ login สำหรับตัวเครื่อง Virtual Machine ที่เป็น Linux แต่ trick สำหรับกรณีนี้ก็คือว่า ถ้ากำหนดให้ชนิดของ Network Interface ของ Virtual Box เป็นแบบ NAT ตัว Host OS ของเครื่อง ซึ่งในกรณีนี้ก็คือ Windows 10 จะส่งข้อมูลของการติดต่อ ของ Linux VM ไปยังเครื่องอื่นๆด้วย IP Address ของเครื่อง Windows 10 เอง เมื่อ Linux VM ไป authentication กับเครื่อง Palo Alto ก็จะใช้ address ของ Windows 10 ก็เลยเป็นการ authentication ให้กับตัว Windows 10 ซึ่งเป็น host computer ไปด้วยกันเลย ทำให้ไม่จำเป็นจะต้องใช้การ authen ใดๆจาก Windows 10 เอง

    และ ถ้าจะว่าไป ในกรณีนี้ ไม่จำเป็นที่จะต้องใช้ VirtualBox ก็ได้ อาจจะใช้ VMWare หรือ Virtualization อื่นๆที่สามารถใช้งานได้บนเครื่อง Windows ก็สามารถืำได้แบบเดียวกัน ข้อสำคัญก็คือ ชนิดของเครือข่ายที่จะให้ Linux VM ติดต่อออกสู่ภายนอก จะต้องเป็นแบบ NAT ก็ทำได้แบบเดียวกัน เพียงแต่ผมไม่เคยใช้งาน Virtualization Technology อื่นๆ ก็เลยไม่แนะนำครับ เพราะคงตอบคำถามเกี่ยวกับวิธีการ setup network ให้กับ virtual machine ไม่ได้

    โดยหลักๆ วิธีการแก้ปัญหา ของผมก็คงมีแค่นี้แหละ

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

    #!/bin/bash

    USER=”YOUR-PASSPORT-ID”
    PASSWD=”YOUR-PASSPORT-PASSWORD”
    COOKIES=”cookies.txt”

    /usr/bin/curl \
    –connect-timeout 10 \
    –max-time 10 \
    -s -k \
    -L ‘https://cp-ufw.psu.ac.th:6082/php/uid.php?vsys=1‘ \
    -c $COOKIES \
    -b $COOKIES \
    -d user=$USER \
    –data-urlencode “passwd=$PASSWD” \
    -d ok=Login

    และนี่คือคำอธิบายที่ผม post ตามไป

    อันนี้ ไม่มีการตรวจสอบอะไรทั้งสิ้น และมีการเรียกใช้งานเพียงครั้งเดียว ซึ่งมันก็จะ timeout ไปตามช่วงเวลา ถ้าจะให้มัน authen ได้ตลอด ก็อาจจะเรียกใช้จาก crontab ทุกๆช่วงเวลาก่อนที่มันจะ timeout ไป ผมไม่แน่ใจว่าค่า timeout ล่าสุดจะเป็นเท่าไหร่ แต่ที่ผมใช้อยู่ผมให้มัน loop ไป check login ว่า authenticate ไปแล้วหรือเปล่า ทุกๆ 10 นาที URL ซึ่งใช้ตรวจสอบการ login จะต่างไปจากนี้ แต่ผมคิดว่า ถ้าสั่งให้ authen ใหม่ ผลก็น่าจะไม่ต่างกัน script ข้างบน ถ้าจะให้ใช้งานได้จาก windows 10 ก็ คงเปลี่ยนบรรทัดแรกให้ไป อ้างอิง cmd.exe หรือ เปลี่ยนเป็นชื่อเป็น .bat และ path ที่ใช้อ้างอิง /usr/bni/curl ก็เปลี่ยนไปใช้ของ Windows

    ส่วน parameter ของ curl ทั้งหมด ก็ลบเครื่องหมาย backslash ของทุกบรรทัดออก ให้เหลือคำสั่งแค่บรรทัดเดียวก็น่าจะใช้งานได้แล้วครับ

    อ้อ เปลี่ยน USER กับ PASSWD แล้วก็ COOKIES (ชื่อไฟล์สำหรับเก็บ cookeis) ให้เป็นค่าที่เหมาะสมด้วยครับ

    เนื่องจากโปรแกรมยังไม่ได้ทดสอบกับเครื่องที่เป็น Windows 10 จริงๆ ก็เลย ให้แนะนำตามในคำอธิบาย แต่ในแง่ของการติดตั้งโปรแกรมเพิ่ม ตัว script ตัวนี้ น่าจะเป็นตัวที่มีขนาดเล็ที่สุดแล้วครับ code สามารถ download ได้ ที่นี่