วันพุธที่ 14 ตุลาคม พ.ศ. 2558

Hybrid Thin Client #11 (ระบบจัดการ Thin Client ผ่านศูนย์กลาง)

พอดีได้รับ requirement มาว่าต้องการโปรแกรมที่จะใชจัดการ Thin Client ทีละมากๆ ได้ ก็เลยเขียนโปรแกรมขึ้นมาเป็น web application
โดยใช้ html + javascript ข้อดีไม่ต้องติดตั้งลงเครื่องให้ยุ่งยาก และรันได้หมดทั้ง windows, linux, mac หรือแม้กระทั่ง tablet ก็ใช้ได้

จากภาพโปรแกรมสามารถจัดการ Thin Client ได้ดังนี้
- จัดกลุ่มให้กับ Thin Client เพื่อสั่งปิด-เปิด เครื่องเป็นกลุ่ม
- แสดงสถานะ uptime และ load ของเครื่อง Thin Client
- แสดงแถบสีสถานะของเครื่อง standby, online, sleep, restart, shut down

คำสั่งต่างๆ ที่ใช้จัดการ Thin Client มีดังนี้
- snapshot = จับภาพหน้าจอ
- sleep = ปิดจอภาพ + ออกจากโปรแกรมทั้งหมดเพื่อเข้าสู่ power saving mode
- wake up = เปิดการทำงานของระบบอีกครั้ง
- restart = Restart เครื่อง
- shut down = ปิดเครื่อง


วันศุกร์ที่ 9 ตุลาคม พ.ศ. 2558

Hybrid Thin Client #10 (ใช้งานผ่านการเชื่อมต่อ OpenVPN)

ผมได้ทดลองทำ Lab เล็กๆ ขึ้นมาเผื่อว่าเครื่อง Terminal Server กับ Thin Client อยู่คนละสาขา
เราสามารถเชื่อมต่อเข้ามาผ่าน VPN ได้ด้วยครับ

ตามตัวอย่างนี้ผมทดลองตั้งค่า OpenVPN Server บน Endian 2.5 นะครับ
ตามภาพเลยครับ ขั้นแรกก็เปิดใช้งาน OpenVPN ตามปกติ แล้ว Download CA certificate เก็บไว้เพื่อเอาไป set ให้กับเครื่อง Thin Client ครับ


เสร็จแล้วให้สร้าง User ขึ้นมาตามต้องการครับ


เรียบร้อยแล้วระบบจะสร้าง Virtual Network ที่ชื่อว่า tap0 ขึ้นมาดังรูป


กลับมาทางฝั่ง Thin Client กันบ้าง
เริ่มแรกให้สร้างโฟลเดอร์ /home/pi/.local/vpn ขึ้นมาครับ แล้วสร้างไฟล์ขึ้นมา 3 ตัวดังนี้
- endian.ovpn ไฟล์นี้เป็นไฟล์ config สำหรับตั้งค่าการเชื่อมต่อ VPN (แก้ไขส่วนของ remote และ ca ให้สอดคล้องกับ Server ของท่านนะครับ)
- endian.pem ไฟล์นี้คือ certificate ที่โหลดมาจาก endian (ตามหัวข้อแรก)
- pass.txt  ไฟล์นี้ใช้เก็บ user, password ตามที่เราตั้งค่าไว้ในขั้นตอนที่แล้ว



ขั้นตอนที่แล้วเป็นการเตรียมไฟล์ต่างๆ เพื่อใช้สำหรับเชื่อมต่อ VPN
ต่อมาเราจะสั่งให้เครื่อง Thin Client เชื่อมต่อ VPN ทันทีหลัง boot เครื่อง ให้เข้าไปที่ Setting > Main Config > Start Script จะปรากฎหน้าต่างให้เราเขียน script
อะไรก็ได้เพื่อรันตอน boot เครื่อง  คราวนี้คำสั่งสำหรับเชื่อม VPN ให้ระบุดังนี้ครับ

cd /home/pi/.local/vpn && sudo openvpn --config endian.ovpn --auth-user-pass pass.txt &




จากนั้น Reboot เครื่อง 1 ครั้งก็จะเห็น icon ของ Virtual Network เพิ่มขึ้นมาอักตัวชื่อ tap0 ดังรูป


เมื่อเข้าไปดูที่ System info ก็จะเห็นรายละเอียดของ VPN Network ชื่อ tap0 ดังรูป

วันอังคารที่ 6 ตุลาคม พ.ศ. 2558

Hybrid Thin Client #09 (การตั้งค่า Remote Apps บน Thin Client)

ข้อที่แล้วเป็นการตั้งค่าในส่วนของ Server ต่อไปเราจะไปดูการตั้งค่าเพื่อใช้งาน Remote Apps บน Thin Client กันบ้าง
แต่ก่อนอื่นผมขอพาย้อนกลับมายัง Server เพื่อยกตัวอย่างการ Share โปรแกรม notepad ในแบบที่ 1 user ใช้พร้อมกันได้หลายเครื่องว่าทำกันอย่างไร


อันดับแรกเราไปดู shortcut ของโปรแกรม notepad เพื่อดูว่า path ของโปรแกรมคืออะไร



ถัดมาให้สร้างไฟล์ .cmd สำหรับ start โปรแกรม notepad (ตามภาพ) ตรงนี้ก็ copy ไฟล์ออกมาเป็นชื่อใหม่ให้เท่ากับจำนวน user ที่ต้องการเลยครับ



ต่อมาทำการ Share ไฟล์ .cmd ที่เราทำขึ้นโดยในส่วนของการตั้งค่า Remote Apps ให้เข้าไปที่ Tasks > Publish RemoteApp Programs



จากนั้นไป Add ไฟล์ notepad-user1.cmd เข้ามาครับ





ลองเข้ามาดูใน Properties จะมีส่วนสำคัญที่ต้องจำ 2 ส่วนคือ
- Alias : notepaduser1   ตรงนี้จะนำไป set ใน thin client เพื่อเปิดโปรแกรม notepad ในแบบที่ไม่อนุญาตให้เปิดไฟล์ข้ามเครื่องได้ (ไม่ให้เปิด text ไฟล์จาก thin client ด้วยโปรแกรมบน server ผ่านการดับเบิ้ลคลิกตรงๆ)
- Location : c:\remote\notepad-user1.cmd   ตรงนี้จะนำไป set ใน thin client เพื่อเปิดโปรแกรม notepad ในแบบที่อนุญาตให้เปิดไฟล์ข้ามเครื่องโดยการดับเบิ้ลคลิกที่ไฟล์ตรงๆ ได้เลย




เสร็จเรียบร้อยเรามาเพิ่ม user กันก่อนโดยในหน้า Dashboard ให้เข้าไปที่ Active Directory Users and Computers


สร้าง User พร้อมกำหนด Password ให้เรียบร้อยเป็นอันเสร็จครับ





ผ่านไปแล้วสำหรับการ Share RemoteApp ในแบบที่ 1 user ใช้ได้หลายเครื่อง
ต่อมาขอย้ายมาดูการตั้งค่าทางฝั่ง thin client กันบ้าง ให้เข้าไปที่ Setting > Remote Applications แล้วกรอกรายละเอียดดังนี้
application name = NotePad
server = ip address
domain = mydomain
user name = user1
password = (ตรงนี้ใส่ หรือไม่ก็ได้ ถ้าไม่ใส่ไว้ตอนเปิด app ระบบจะให้กรอก password ก่อนเข้า app ทุกครั้งเพื่อความปลอดภัย)
application alias = ระบุ alias หรือ path ของโปรแกรม (หากเลือกใช้ชื่อ alias ให้ใส่เครื่องหมาย || ไว้ข้างหน้าชื่อด้วย)
icon = ตรงนี้คลิกขึ้นมาเลือก icon ของโปรแกรมได้ตามต้องการเลยครับ




มาที่ Tab Main Application กันบ้าง ฝั่งขวามือจะเจอโปรแกรม NotePad ที่เราเพิ่งสร้างขึ้นให้กด << และ APPLY จากนั้นโปรแกรมจะถูก pin ลง Taskbar ดังรูป



เนื่องจากไม่ได้ใส่ password ไว้ในค่า setting เมื่อทดลองคลิกเข้าโปรแกรมเครื่องจะถาม password อีกครั้งเราก็กรอกไปครับ


หากไม่มีอะไรผิดพลาดก็จะเข้าใช้งาน NotePad ได้แล้วดังรูป

Hybrid Thin Client #08 (การ Setup Terminal Server บน windows 2012)

สำหรับหัวข้อนี้เราจะมา Config ตัว Terminal Server บน  Windows Server 2012 กันครับ
โดยจะเริ่มต้นตั้งแต่ลง windows เสร็จใหม่ๆ กันแบบ Step by Step กันเลยทีเดียว เราไปดูขั้นตอนกันครับ


ขั้นตอนแบ่งออกเป็น 2 ส่วน โดนส่วนแรกจะเป็นการติดตั้งและ Config Domain Controller
อันดับแรกให้เข้าไปที่ Add roles and features



คลิก Next ต่อได้เลยครับ



เลือก Role based แล้ว Next ต่อ



เลือก Server เสร็จแล้ว Next ต่อ



ถัดมาให้เลือกติดตั้ง Active Directory Domain Service ซึ่งจะปรากฎหน้าต่างให้ติดตั้ง Features ที่จำเป็นให้ Add Features ไปตามปกติ



เสร็จแล้ว Next ต่อ





สุดท้ายให้ติ๊ก Restart the destination server automatically if required เสร็จแล้วกด Install ตามปกติ



เมื่อติดตั้งเสร็จแล้วให้เลือก Promote this server to a domain controller ตามภาพ



จากนั้นเลือก Add a new forest และตั้งชื่อ domain ตามตัวอย่างใช้ mydomain.local



หากไม่ต้องการใช้ DNS Server ให้ติ๊ก DNS Server ออก และกำหนด password สำหรับ DSRM ครับ



เสร็จแล้ว Next ต่อ





สุดท้ายเมื่อระบบตรวจสอบความถูกต้องครบถ้วนแล้วกด Install ได้เลยครับ



รอซักพักเมื่อระบบต้องการ Restart จะขึ้นข้อความดังรูป ตรงนี้ไม่ต้องทำอะไรครับเครื่องจะ Restart ไปเอง
เมือ Boot เครื่องขึ้นมาใหม่แล้วขั้นตอนแรกเป็นอันเสร็จ





ต่อมาเป็นขั้นตอนที่ 2 ครับ ให้เลือก Add roles abd features อีกครั้ง โดยคราวนี้ตรง Installation Type ให้เลือก Remote Desktop Services installation



ต่อมาเลือก Quick Start



ต่อมาเลือก Session base desktop deployment



เลือก Server แล้ว Next ต่อได้เลย



สุดท้ายให้ติ๊ก Restart the destination server automatically if required เสร็จแล้วกด Deploy



รอซักพักใหญ่ๆ กว่าจะติดตั้งเสร็จ (Reboot ประมาณ  2 รอบ)



ยินดีด้วยครับ เมื่อมาถึงขั้นตอนนี้เป็นอันว่าคุณ Deploy ระบบ Terminal Server บน Windows 2012 เสร็จเรียบร้อยแล้ว
จากภาพจะเห็นว่าระบบจะ Share Remore App ไว้ให้แล้ว 3 ตัว คือ Calculator, Paint และ WordPad



ในเบื้องต้นจะยังไม่สามาถ Remote จากเครื่อง Client เข้ามาได้นะครับต้องตั้งค่าเพิ่มนิดหน่อยโดยเข้าไปที่ TASKS เลือก Edit Properties



จากนั้นในส่วนของ Security ให้ติ๊กถูกออกจาก Allow connections only from computers....  ออก เป็นอันเสร้จครับ

วันเสาร์ที่ 3 ตุลาคม พ.ศ. 2558

Hybrid Thin Client #07 (การใช้งาน Redirect USB)

จากที่กล่าวไปแล้วว่า Hybrid Thin Client ตัวนี้ Share อุปกรณ์ USB ได้ 1 Port (เช่น all in one printer หรือ scanner) โดยใช้ร่วมกับโปรแกรม virtualhere
สำหรับเวอร์ชั่นฟรี ข้อจำกัดก็คือมัน share ได้แค่ 1 port ตามที่กล่าวไว้ข้างต้นนั่นเอง (แต่ถ้าต้อง share มากกว่า 1 port ก็ซื้อ license เพิ่มทีหลังได้)
เดี๋ยวเรามาดูวิธีการตั้งค่าและใช้งานกันครับ

อันดับแรกที่ตัว Thin Client ค่าเริ่มต้นจะยังไม่ได้เปิด Share USB ให้เราไปเลือก REDIRECT USB ในส่วนของ Config ดังรูป


ถัดมาก็เสียบอุปกรณืที่ต้องการ Share ไปที่ Port USB ที่ 1 ตามรูปผมต่อกับตัว usb to printer (ย้ำว่าต้อง port ที่ 1 เพราะ port อื่นจะไม่ถูก share)


มาทางฝั่ง Terminal Server กันบ้าง การที่จะให้ Server เชื่อมต่อกับอุปกรณ์ USB อื่นๆ ที่ Share มาจากตัว Thin Client จะใช้แค่ User Administrator (หรือ user อื่นๆ)
เพียง User เดียวในการกำหนดค่าการเชื่อมต่อ หลังจากนั้น User อื่นๆ ก็จะสามารถมองเห็นและใช้อุปกรณ์ร่วมกันได้
ตามตัวอย่างจะใช้ user administrator ขั้นแรกให้เข้าไปที่ Run แล้วพิมพ์คำสั่ง control userpasswords2 ตามภาพ



จากนั้นจะเจอหน้าจอการตั้งค่า user account ให้ติ๊กเครื่องหมายถูกออกจากตัวเลือก "user must enter a username and password to use this computer" แล้วกด Apply จะปรากฎหน้าต่างการตั้งค่า auto login ให้กรอก user และ password ของ admin เข้าไปครับ (หลังจากนี้เมื่อเปิด server จะ auto login เข้า admin ทันที)



ถัดมาให้ copy โปรแกรม virtualhere มาไว้ที่ C:\windows โดยตั้งชื่อใหม่เป็น vhui.exe


ถัดมาให้คลิกขวาที่ startup แล้วเลือก open ครับ


จากนั้นคัดลอกไฟล์ vba.vbs ใส่ลงไปใน startup ซึ่งคำสั่งด้านในก็ไม่มีอะไรมากครับ ใช้เพื่อสั่ง lock หน้าจออัตโนมัติหลัง auto login และเปิดโปรแกรม vhui เพื่อรอรับการเชื่อมต่อ USB ที่ Share จาก Thin Client


เสร็จแล้วลองเปิดโปรแกรม vhui ขึ้นมาครับ โดยครั้งแรกโปรแกรมจะติดตั้ง Bonjour ให้เราตอบ yes ตามปกติ



จากนั้นโปรแกรมจะแสดงรายชื่อ Thin Client ที่เปิด Redirect USB มาให้เห็นดังรูป


เมื่อเริ่มเชื่อมต่อกับ Usb Printer ที่ Share โปแกรมก็จะให้เราติดตั้ง Driver ไปตามปกติ







เพิ่มเติมอีกนิดครับ ให้เลือก Auto-Use Device กับ Start minimized ไว้ด้วย คราวนี้เมื่อเปิดเครื่อง Terminal Server ขึ้นมาหลังจาก auto login แล้วโปรแกรมก็จะเปิดและเริ่มเชื่อมต่อกับ USB โดยอัตโนมัติ





กลับมาดูที่ Device Manager จะพบกับ USB Printing Support ดังรูป