มีบทความมากมายเกี่ยวกับวิธีกำหนดค่า PowerChute Business Edition และวิธีเชื่อมต่อกับ VMWare จาก PowerShell แต่อย่างไรก็ตาม ฉันไม่พบทั้งหมดนี้ในที่เดียว พร้อมด้วยคำอธิบายของประเด็นที่ละเอียดอ่อน แต่พวกเขามีอยู่จริง
1 การเข้า
แม้ว่าเราจะมีความเกี่ยวข้องกับพลังงานบ้าง แต่บางครั้งปัญหาเกี่ยวกับไฟฟ้าก็เกิดขึ้น นี่คือจุดที่ UPS เข้ามามีบทบาท แต่แบตเตอรี่ของมันใช้งานได้ไม่นาน จะทำอย่างไร? ปิด!
แม้ว่าเซิร์ฟเวอร์ทั้งหมดจะเป็นเซิร์ฟเวอร์จริง แต่สิ่งต่างๆ ดำเนินไปด้วยดี PowerChute Business Edition ช่วยเราในเรื่องนี้ ฟรีสำหรับ 5 เซิร์ฟเวอร์ ซึ่งก็เพียงพอแล้ว มีการติดตั้งเอเจนต์ เซิร์ฟเวอร์ และคอนโซลไว้ในเครื่องเดียว เมื่อใกล้ถึงจุดสิ้นสุด เอเจนต์เพียงเรียกใช้งานไฟล์คำสั่งที่ส่ง shutdown.exe /s /m ไปยังเซิร์ฟเวอร์ใกล้เคียง จากนั้นจึงปิดระบบปฏิบัติการ ทุกคนยังมีชีวิตอยู่
จากนั้นก็ถึงเวลาสำหรับเครื่องเสมือน
2. พื้นหลังและการสะท้อน
แล้วเรามีอะไรบ้าง? ไม่มีอะไรเลย - เซิร์ฟเวอร์จริงหนึ่งเครื่องพร้อม Windows Server 2008 R2 และไฮเปอร์ไวเซอร์หนึ่งเครื่องพร้อมเครื่องเสมือนหลายเครื่อง รวมถึง Windows Server 2019, Windows Server 2003 และ CentOS และ UPS อีกเครื่อง – APC Smart-UPS
เราได้ยินเกี่ยวกับ NUT แต่ยังไม่ได้ศึกษาเลย เราใช้เฉพาะสิ่งที่มีอยู่ในมือเท่านั้น นั่นคือ PowerChute Business Edition
ไฮเปอร์ไวเซอร์สามารถปิดเครื่องเสมือนของตัวเองได้ สิ่งที่เหลืออยู่คือการบอกว่าถึงเวลาแล้ว มีสิ่งที่มีประโยชน์เช่น VMWare.PowerCLI ซึ่งเป็นส่วนขยายสำหรับ Windows Powershell ที่ให้คุณเชื่อมต่อกับไฮเปอร์ไวเซอร์และบอกทุกสิ่งที่คุณต้องการ นอกจากนี้ยังมีบทความมากมายเกี่ยวกับการตั้งค่า PowerCLI
3. กระบวนการ
UPS เชื่อมต่อทางกายภาพกับพอร์ต com ของเซิร์ฟเวอร์ปี 2008 โชคดีที่อยู่ที่นั่น แม้ว่าสิ่งนี้จะไม่สำคัญ แต่ก็สามารถเชื่อมต่อผ่านตัวแปลงอินเทอร์เฟซ (MOXA) ไปยังเซิร์ฟเวอร์ Windows เสมือนใดก็ได้ นอกจากนี้ การดำเนินการทั้งหมดจะดำเนินการบนเครื่องที่เชื่อมต่อกับ UPS - Windows Server 2008 เว้นแต่จะระบุไว้เป็นอย่างอื่นอย่างชัดเจน มีการติดตั้งเอเจนต์ PowerChute Business Edition ไว้ นี่คือจุดเล็กๆ น้อยๆ ประการแรก: บริการตัวแทนจะต้องเปิดตัวไม่ใช่จากระบบ แต่จากผู้ใช้ มิฉะนั้นตัวแทนจะไม่สามารถเรียกใช้งานไฟล์ cmd ได้
ต่อไปเราติดตั้ง .Net Framework 4.7 จำเป็นต้องรีบูตที่นี่แม้ว่าเฟรมเวิร์กจะไม่ถามอย่างชัดเจนหลังการติดตั้ง ไม่เช่นนั้นมันจะไม่ดำเนินต่อไปอีกต่อไป หลังจากนั้นอาจยังมีการอัปเดตซึ่งจำเป็นต้องติดตั้งด้วย
ต่อไปเราติดตั้ง PowerShell 5.1 ยังต้องรีบูตเครื่องอีกด้วยแม้ว่าเขาจะไม่ถามก็ตาม
ถัดไป ติดตั้ง PowerCLI 11.5 ค่อนข้างเป็นเวอร์ชันล่าสุด ดังนั้นข้อกำหนดก่อนหน้านี้ คุณสามารถทำได้ผ่านอินเทอร์เน็ตมีบทความมากมายเกี่ยวกับเรื่องนี้ แต่เราดาวน์โหลดไปแล้วดังนั้นเราจึงคัดลอกไฟล์ทั้งหมดไปยังโฟลเดอร์ Modules
ตรวจสอบแล้ว:
Get-Module -ListAvailable
ตกลง เราเห็นว่าเราได้ติดตั้งแล้ว:
Import-Module VMWare.PowerCLI
ใช่ แน่นอนว่าคอนโซล Powershell เปิดตัวในฐานะผู้ดูแลระบบ
การตั้งค่า PowerShell
- อนุญาตให้เรียกใช้สคริปต์ใด ๆ :
Set-ExecutionPolicy Unrestricted
- หรือคุณสามารถอนุญาตให้ละเว้นใบรับรองสคริปต์เท่านั้น:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
- อนุญาตให้ PowerCLI เชื่อมต่อกับเซิร์ฟเวอร์ที่มีใบรับรองที่ไม่ถูกต้อง (หมดอายุ):
Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false
- ระงับข้อความ PowerCLI เกี่ยวกับการเข้าร่วมโปรแกรมแลกเปลี่ยนประสบการณ์ ไม่เช่นนั้นจะมีข้อมูลที่ไม่จำเป็นจำนวนมากในบันทึก:
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false
- บันทึกข้อมูลประจำตัวผู้ใช้สำหรับการเข้าสู่โฮสต์ VMWare เพื่อไม่ให้แสดงอย่างชัดเจนในสคริปต์:
New-VICredentialStoreItem -Host address -User user -Password 'password'
การตรวจสอบจะแสดงว่าเราบันทึกใคร:
Get-VICredentialStoreItem
คุณยังสามารถตรวจสอบการเชื่อมต่อ: ที่อยู่ Connect-VIServer
ตัวอย่างเช่นสคริปต์: เชื่อมต่อ, ปิด, ตัดการเชื่อมต่อ ในกรณีที่มีตัวเลือกต่อไปนี้:
Connect-VIserver -Server $vmhost
Stop-VMHost $vmhost -force -Confirm:$false
Disconnect-VIserver $vmhost -Confirm:$false
4. Default.cmd
แบตช์ไฟล์เดียวกับที่เอเจนต์ APC เรียกใช้ ซึ่งอยู่ใน “C:Program Files[ (x86)]APCPowerChute Business Editionagentcmdfiles” และภายใน:
"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" - ไฟล์ "C:...shutdown_hosts.ps1"
ดูเหมือนว่าทุกอย่างได้รับการกำหนดค่าและตรวจสอบแล้ว เรายังเปิดตัว cmd อีกด้วย ซึ่งทำงานได้อย่างถูกต้อง ปิดการทำงาน
เรารันการทดสอบไฟล์คำสั่งจากคอนโซล APC (มีปุ่มทดสอบอยู่ที่นั่น) - มันไม่ทำงาน
นี่คือช่วงเวลาที่น่าอึดอัดใจเมื่องานที่ทำไปทั้งหมดไม่ได้ทำอะไรเลย
5. การระบาย
เราดูที่ตัวจัดการงาน เราเห็น cmd กะพริบ กะพริบ PowerShell มาดูกันดีกว่า - cmd *32 และตามด้วย powershell *32 เราเข้าใจสิ่งนั้น บริการตัวแทน APC เป็นแบบ 32 บิต ซึ่งหมายความว่าจะเรียกใช้คอนโซลที่เกี่ยวข้อง
เราเปิดตัว PowerShell x86 ในฐานะผู้ดูแลระบบ และติดตั้งและกำหนดค่า PowerCLI จากขั้นตอนที่ 3 อีกครั้ง
เรามาเปลี่ยนสายเรียก PowerShell กันดีกว่า:
"C:Windows<b>SysWOW64</b>WindowsPowerShellv1.0powershell.exe…
6. จบอย่างมีความสุข!
ที่มา: will.com