VMware PowerCLI นั้นเป็นชุดคำสั่งในรูปแบบของ PowerShell ซึ่งมีชุดคำสั่งในการควบคุม ESXi และอีกหลายโปรดักส์ของ VMware ทำให้เราจัดการ สิ่งต่าง ๆ ได้หลายอย่าง แบบอัตโนมัติ
ยกตัวอย่างเช่น ถ้าท่านมี vSphere cluster ซึ่งประกอบด้วย 30 โหนด ในการที่จะจัดการ LUN เช่น การปลด LUN (detach) ออกจาก host หลาย ๆ ตัวนั้น อาจจะใช้เวลานาน หรืออาจจะเป็นชม.เลยก็ได้ แต่หากท่านใช้ PowerCLI เพื่อที่จะทำงานดังกล่าวอัตโนมัตินั้นก็จะใช้เวลาเพียงไม่กี่นาที
การจัดการ หรือ สิ่งที่เรียกว่า Automation นั้นเป็นส่วนหนึ่งที่สำหรับ สำหรับด้านการจัดการ IT และระบบ infrastructure
อย่างไรก็ดี หากท่านใช้ ESXi Free version นั้นท่านสามารถใช้งาน PowerCLI ในโหมด “read only” เท่านั้น ซึ่งหมายถึงท่านสามารถใช้ PowerCLI ในการดึงข้อมูลเท่านั้น แต่ไม่สามารถสั่งทำ action ต่างๆ ได้ โดยเฉพาะคำสั่งที่ขึ้นต้นด้วย Set, Add, New, Remove
เนื่องจากสถานะการณ์วิกฤตค่าไฟฟ้าที่สูงขึ้นในปัจจุบัน วันนี้เราจึงจะทำการทดสอบ สั่ง shutdown ESXi แบบอัตโนมัติ เช่น Server ที่ท่านใช้ อาจจะมี VM ที่ทำงานบริการเฉพาะกลางวัน หรือเป็น Staging Server หรือด้วยเหตุผลอื่นใดก็แล้วแต่
ก่อนการติดตั้ง VMware PowerCLI ท่านจะต้องมี
สำหรับการตรวจสอบว่าในเครื่องท่านั้นใช้ Windows PowerShell version ใดท่านสามารถทำการพิมพ์คำสั่ง $PSVersionTable.PSVersion
รูปที่ 1 แสดง version ของ Windows PowerShell
การติดตั้ง VMware PowerCLI
สำหรับการติดตั้ง VMware PowerCLI นั้นสามารถทำได้อย่างง่ายดาย เพียงแค่ท่านพิมพ์
Install-Module VMware.PowerCLI -Scope CurrentUser
หลังจากทำการติดตั้ง VMware PowerCLI เรียบร้อยแล้วท่านสามารถทำการตครวจสอบได้โดยการพิมพ์
Get-PowerCLIVersion
รูปที่ 2 แสดงคำสั่งใน Windows PowerShell
หลังจากนั้น ท่านสามารถสร้างไฟล์ ด้วย text editor ใดๆ ก็แล้วแต่ โดยมีเนื้อหาดังต่อไปนี้
รูปที่ 3 แสดงตัวอย่าง ตั้งชื่อไฟล์ว่า stopvm.ps1
รูปที่ 4 แสดงตัวอย่าง ทำการ create basic task ใน Task Scheduler
หลังจากนั้นให้ท่าน ทำการ create basic task ใน Task Scheduler และ กำหนดเงื่อนไขที่ท่านต้องการ เช่น ทุกวัน หลังจากเลิก งาน โดยกำหนดว่า action คือการ execute โปรแกรม powershell ที่เราทำได้การเขียนไว้ก่อนหน้านั้น
นี่เป็นเพียงงานง่ายๆ ที่เราสามารถทำได้ เพื่อการ ประหยัดพลังงาน สำหรับ ESXi Host ปิดตัวเอง เมื่อหมดเวลาทำงานในแต่ละวัน และ ตัวอย่างนี้เป็นเพียงตัวอย่างเล็ก ๆ ในอีกหลายต่อหลาย ๆ งานที่ PowerCLI สามารถทำได้ เช่นงาน Automation แล้วพบกันตอนหน้าครับ