Lab 3: Automation

ใน Lab นี้เราจะศึกษาแนวทางการใช้ Automation เพื่อช่วยในการบริหารจัดการระบบคอมพิวเตอร์ขนาดใหญ่ ถึงแม้ว่าโปรแกรมคอมพิวเตอร์ในปัจจุบันจะมีส่วนการติดต่อกับผู้ใช้แบบกราฟิก (Graphical User Interface: GUI) แต่การใช้งานที่จำเป็นต้องบริหารจัดการอุปกรณ์จำนวนมากนั้น ผู้ดูแลระบบจำเป็นต้องสามารถควบคุมระบบผ่าน Command Line (Command Line Interface: CLI) ทั้งนี้ เนื่องจากผู้ดูแลระบบสามารถรวบรวมชุดคำสั่งที่ใช้ใน CLI ให้เป็น Script เพื่อใช้ในการทำงานประจำที่มักจะเป็นงานเดิม ๆ ทำให้ช่วยลดระยะเวลาในการบริหารจัดการได้มากขึ้น ซึ่งความสามารถดังกล่าวมีความสำคัญในการดูแลระบบคอมพิวเตอร์ขนาดใหญ่ที่มีอุปกรณ์เป็นจำนวนมาก

PowerShell

สำหรับ Windows ระบบ PowerShell ถือเป็นก้าวสำคัญก้าวหนึ่งที่ช่วยให้การบริหารเครื่อง Windows สามารถทำได้โดยอัตโนมัติมากขึ้น ความแตกต่างระหว่าง PowerShell กับ Shell ทั่วไปทื่ใช้ใน Linux (เช่น bash) คือ PowerShell จะมองผลลัพธ์ทุกอย่างเป็น Object แต่ใน bash จะมองข้อมูลที่ได้มาเป็น String เท่านั้น ดังนั้น คำสั่งใน PowerShell จะคืนค่ากลับเป็น Object ซึ่งผู้ใช้สามารถเรียกใช้ method ต่าง ๆ ที่ถูก Implement อยู่บน Object นั้นได้ทันที โดยไม่จำเป็นต้องใช้วิธีจัดการ String เหมือน shell ใน Linux/Unix

ในด้านของการใช้งาน PowerShell สามารถใช้ดูแลบริหารจัดการระบบ Windows ได้ทั้งระบบ แต่เนื่องจากหลักการของระบบปฏิบัติการ Windows แตกต่างจากระบบ Unix โดยระบบคอมพิวเตอร์ใน Unix จะถูกมองเป็นรูปแบบของ Directory เริ่มจาก / (เรียกว่า root directory) จากนั้นผู้ใช้สามารถจัดการระบบคอมพิวเตอร์ได้ผ่าน directory ต่าง ๆ เช่น /proc, /dev, /sys แต่ใน Windows จะไม่มี root directory หน่วยที่ใช้ในการจัดการแต่ละระบบของ PowerShell จะเรียกว่า Provider ซึ่งแต่ละ Provider จะประกอบด้วย drive ต่าง ๆ กัน

PowerCLI

PowerCLI เป็นส่วนต่อขยายสำหรับ PowerShell เพื่อใช้ในการจัดการ VMware Infrastructure โดย PowerCLI จะเพิ่ม Provider เพื่อดูแล vCenter และ ESXi Server ทำให้ผู้ดูแลระบบสามารถใช้ PowerShell ในการจัดการ Infrastructure ที่ใช้ซอฟต์แวร์ของ VMware ได้