Bonjour,
J'essai d'éteindre un Serveur ESXi a distance via un script.
J'ai deux fichiers :
un script.bat qui fait appel à un script.ps1
Le script.ps1 lui, envoi l'ordre d'extinction à l'ESXi placé sur le même réseau.
Lorsque je lance le script.bat à la main (via double clic), tout fonctionne, l'ESXi s'éteint.
Le fait est que j'ai un onduleur avec un logiciel qui lance mon script lorsqu'il repère qu'il n'y a plus de courant.
Après des tests, je peux voir que sur coupure secteur, mon script.bat est lancé, celui-ci lance par la suite mon script.ps1 mais une ligne dans le script me bloque.
Voici mes deux scripts :
le script.bat
le script.ps1Code:
1
2
3 cd C:\Users\Administrateur\Desktop\ mkdir script_bat_lance powershell -executionpolicy bypass -file "c:\Users\Administrateur\Desktop\script.ps1"
la ligne qui me fait bloquer est :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 mkdir C:\Users\Administrateur\Desktop\script_powershell_lance Add-PSSnapin VMware.VimAutomation.Core mkdir C:\Users\Administrateur\Desktop\script_powershell_vmware $server = "ip.add.re.ss" $username = "rootname" $password = "rootpass" mkdir C:\Users\Administrateur\Desktop\script_powershell_connection_server connect-viserver -server $server -User $username -Password $password sleep 10 $ESXSRV = Get-VMHost $ESXSRV | Foreach {Get-View $_.ID} | Foreach {$_.ShutdownHost_Task($TRUE)} sleep 10 mkdir C:\Users\Administrateur\Desktop\script_powershell_termine
En effet, la création de dossier juste avant fonctionne, mais pas celle d'après.Code:Add-PSSnapin VMware.VimAutomation.Core
2 choix se proposent à moi :
Soit il faut trouver comment executer cette commande via mon script.ps1 (peut-être manque-t-il un argument, ou un droit...)
Soit au lieu de passer par le powershell, je passe par VMware vSphere PowerCLI (le script.bat ne lancera plus le powershell mais lancera PowerCLI, et mettra les commandes qui suivent dedans)
Le fait est que je ne sait pas comment appeler PowerCLI...
J'ai essayé un start C:\Windows\System32\WindowsPowerShell\v1.0
Mais il me lance le powershell... et Add-PSSnapin VMware.VimAutomation.Core n'est donc pas implémenté dedans...
Si vous avez une solution, je suis preneur...
Merci beaucoup !