ื›ื™ื‘ื•ื™ ื—ื™ื ื ื™ ืฉืœ ื”ื™ืคืจื•ื•ื™ื–ืจ VMWare ESXi ื‘ืจืžืช ืกื•ืœืœื” ืงืจื™ื˜ื™ืช ืฉืœ APC UPS

ื™ืฉ ื”ืจื‘ื” ืžืืžืจื™ื ื‘ื—ื•ืฅ ืขืœ ืื™ืš ืœื”ื’ื“ื™ืจ ืืช PowerChute Business Edition ื•ืื™ืš ืœื”ืชื—ื‘ืจ ืœ-VMWare ืž-PowerShell, ืื‘ืœ ืื™ื›ืฉื”ื• ืœื ื”ืฆืœื—ืชื™ ืœืžืฆื•ื ืืช ื›ืœ ื–ื” ื‘ืžืงื•ื ืื—ื“, ืขื ืชื™ืื•ืจ ืฉืœ ื”ื ืงื•ื“ื•ืช ื”ืขื“ื™ื ื•ืช. ืื‘ืœ ื”ื ืงื™ื™ืžื™ื.

1. ื”ืงื“ืžื”

ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื™ืฉ ืœื ื• ืงืฉืจ ืžืกื•ื™ื ืขื ืื ืจื’ื™ื”, ืœืคืขืžื™ื ืžืชืขื•ืจืจื•ืช ื‘ืขื™ื•ืช ื‘ื—ืฉืžืœ. ื›ืืŸ ื ื›ื ืก ืœืชืžื•ื ื” ื”-UPS, ืื‘ืœ ื”ืกื•ืœืœื•ืช ืฉืœื•, ืื‘ื•ื™, ืœื ืžื—ื–ื™ืงื•ืช ืžืขืžื“ ืœืื•ืจืš ื–ืžืŸ. ืžื” ืœืขืฉื•ืช? ืœื›ื‘ื•ืช!

ื‘ืขื•ื“ ืฉื›ืœ ื”ืฉืจืชื™ื ื”ื™ื• ืคื™ื–ื™ื™ื, ื”ื“ื‘ืจื™ื ื”ืชื ื”ืœื• ื›ืฉื•ืจื”, PowerChute Business Edition ืขื–ืจื” ืœื ื•. ื—ื™ื ื, ืขื‘ื•ืจ 5 ืฉืจืชื™ื, ื•ื–ื” ื”ื™ื” ืžืกืคื™ืง. ืกื•ื›ืŸ, ืฉืจืช ื•ืžืกื•ืฃ ื”ื•ืชืงื ื• ื‘ืžื—ืฉื‘ ืื—ื“. ื›ืฉื”ืกื•ืฃ ื”ืชืงืจื‘, ื”ืกื•ื›ืŸ ืคืฉื•ื˜ ื‘ื™ืฆืข ืงื•ื‘ืฅ ืคืงื•ื“ื” ืฉืฉืœื— ืืช shutdown.exe /s /m ืœืฉืจืชื™ื ืฉื›ื ื™ื, ื•ืœืื—ืจ ืžื›ืŸ ื›ื™ื‘ื” ืืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉืœื•. ื›ื•ืœื ื—ื™ื™ื.
ื•ืื– ื”ื’ื™ืข ื”ื–ืžืŸ ืœืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช.

2. ืจืงืข ื•ื”ืฉืชืงืคื•ื™ื•ืช

ืื– ืžื” ื™ืฉ ืœื ื•? ืฉื•ื ื“ื‘ืจ ื‘ื›ืœืœ - ืฉืจืช ืคื™ื–ื™ ืื—ื“ ืขื Windows Server 2008 R2 ื•-Hypervisor ืื—ื“ ืขื ืžืกืคืจ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ื›ื•ืœืœ Windows Server 2019, Windows Server 2003 ื•- CentOS. ื•ืขื•ื“ UPS โ€“ APC Smart-UPS.

ืฉืžืขื ื• ืขืœ NUT, ืื‘ืœ ืขื“ื™ื™ืŸ ืœื ื”ืกืคืงื ื• ืœืœืžื•ื“ ืื•ืชื•; ื”ืฉืชืžืฉื ื• ืจืง ื‘ืžื” ืฉื”ื™ื” ื‘ื”ื™ืฉื’ ื™ื“, ื›ืœื•ืžืจ PowerChute Business Edition.

ื”-Hypervisor ื™ื›ื•ืœ ืœื›ื‘ื•ืช ืืช ื”ืžื›ื•ื ื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœื• ื‘ืขืฆืžื•; ื›ืœ ืžื” ืฉื ื•ืชืจ ื”ื•ื ืœื•ืžืจ ืœื• ืฉื”ื’ื™ืข ื”ื–ืžืŸ. ื™ืฉ ื“ื‘ืจ ื›ืœ ื›ืš ืฉื™ืžื•ืฉื™ VMWare.PowerCLI, ื–ื• ื”ืจื—ื‘ื” ืขื‘ื•ืจ Windows Powershell ืฉืžืืคืฉืจืช ืœืš ืœื”ืชื—ื‘ืจ ืœื”ื™ืคืจื•ื•ื™ื–ืจ ื•ืœืกืคืจ ืœื• ืืช ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš. ื™ืฉื ื ื’ื ืžืืžืจื™ื ืจื‘ื™ื ืขืœ ื”ื’ื“ืจื•ืช PowerCLI.

3. ืชื”ืœื™ืš

ื”-UPS ื”ื™ื” ืžื—ื•ื‘ืจ ืคื™ื–ื™ืช ืœื™ืฆื™ืืช ื”-com ืฉืœ ืฉืจืช 2008, ืœืžืจื‘ื” ื”ืžื–ืœ ื”ื•ื ื”ื™ื” ืฉื. ืœืžืจื•ืช ืฉื–ื” ืœื ื—ืฉื•ื‘ - ื ื™ืชืŸ ื”ื™ื” ืœื”ืชื—ื‘ืจ ื‘ืืžืฆืขื•ืช ืžืžื™ืจ ืžืžืฉืง (MOXA) ืœื›ืœ ืฉืจืช ื•ื•ื™ื ื“ื•ืก ื•ื™ืจื˜ื•ืืœื™. ื™ืชืจื” ืžื›ืš, ื›ืœ ื”ืคืขื•ืœื•ืช ืžื‘ื•ืฆืขื•ืช ื‘ืžื›ืฉื™ืจ ืฉืืœื™ื• ืžื—ื•ื‘ืจ ื”-UPS - Windows Server 2008, ืืœื ืื ืฆื•ื™ืŸ ืื—ืจืช ื‘ืžืคื•ืจืฉ. ืกื•ื›ืŸ PowerChute Business Edition ื”ื•ืชืงืŸ ืขืœื™ื•. ื”ื ื” ื”ื ืงื•ื“ื” ื”ืขื“ื™ื ื” ื”ืจืืฉื•ื ื”: ื™ืฉ ืœื”ืคืขื™ืœ ืืช ืฉื™ืจื•ืช ื”ืกื•ื›ืŸ ืœื ืžื”ืžืขืจื›ืช, ืืœื ืžื”ืžืฉืชืžืฉ, ืื—ืจืช ื”ืกื•ื›ืŸ ืœื ื™ื•ื›ืœ ืœื”ืคืขื™ืœ ืืช ืงื•ื‘ืฅ ื”-cmd.

ื‘ืฉืœื‘ ื”ื‘ื ื”ืชืงื ื• ืืช .Net Framework 4.7. ื›ืืŸ ื ื“ืจืฉ ืืชื—ื•ืœ ืžื—ื“ืฉ, ื’ื ืื ื”ืžืกื’ืจืช ืœื ืžื‘ืงืฉืช ื–ืืช ื‘ืžืคื•ืจืฉ ืœืื—ืจ ื”ื”ืชืงื ื”, ืื—ืจืช ื”ื™ื ืœื ืชืชืงื“ื ื™ื•ืชืจ. ืœืื—ืจ ืžื›ืŸ, ืขื“ื™ื™ืŸ ืขืฉื•ื™ื™ื ืœื”ื’ื™ืข ืขื“ื›ื•ื ื™ื, ืฉื’ื ืื•ืชื ืฆืจื™ืš ืœื”ืชืงื™ืŸ.

ื‘ืฉืœื‘ ื”ื‘ื ื”ืชืงื ื• ืืช PowerShell 5.1. ื“ื•ืจืฉ ื’ื ืืชื—ื•ืœ ืžื—ื“ืฉ, ื’ื ืื ื”ื•ื ืœื ืฉื•ืืœ.
ืœืื—ืจ ืžื›ืŸ, ื”ืชืงืŸ ืืช PowerCLI 11.5. ื’ืจืกื” ืขื“ื›ื ื™ืช ืœืžื“ื™, ื•ืžื›ืืŸ ื”ื“ืจื™ืฉื•ืช ื”ืงื•ื“ืžื•ืช. ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืืช ื–ื” ื“ืจืš ื”ืื™ื ื˜ืจื ื˜, ื™ืฉ ื”ืจื‘ื” ืžืืžืจื™ื ืขืœ ื–ื”, ืื‘ืœ ื›ื‘ืจ ื”ื•ืจื“ื ื• ืืช ื–ื”, ืื– ืคืฉื•ื˜ ื”ืขืชืงื ื• ืืช ื›ืœ ื”ืงื‘ืฆื™ื ืœืชื™ืงื™ื™ืช ื”ืžื•ื“ื•ืœื™ื.

ื‘ึผึธื“ื•ึผืง:

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. ืกื•ืฃ ื˜ื•ื‘!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”