Question
Démarrage d'une VM ne se fait pas.
- Jérôme Joly
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 13 ans 10 mois #11647
par Jérôme Joly
Démarrage d'une VM ne se fait pas. a été créé par Jérôme Joly
Voilà, avec le code couleur!
J'effectue une procédure de sauvegarde nocturne qui se déroule sans erreurs sauf lorsqu'il s'agit de redémarrer la VM alors qu'elle est en état \"Enregistré\".
J'utilise PowerShell depuis peu et je me réjouis d'obtenir quelques feedback.
Je n'ai pas de message d'erreurs après le start-vm. Seulement si une fois mon script exécuté et terminé je relance la commande start-vm -vm jj-test -server xxx -wait -force le message d'erreur suivant apparaît: \"Failed to change state of VM JJ-TEST to: running: JJ-TEST n'a pas pu être initialisé. (...) Au niveau de C......modulesHYPERVVM.PS1.
Si je fais un stop-vm puis un start-vm une fois le script terminé, alors ça redémarre...
D'avance merci pour votre soutien.
Voici mon code:
[code:1]
function findHOST15
{
$VM = Get-Vm -name $vmSOURCE -server PNET-15
if ($VM -ne $null)
{
Write-Host \"`n`n`n`n`n$vmSOURCE est sur PNET-15\"
$HOTE = \"PNET-15\" ; $debut = Get-Date
Write-Host \"Déplacement de $vmSOURCE sur $local\" -ForegroundColor Cyan
Move-vm -vm $vmSOURCE -destination $local -server $HOTE -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
if ($?)
{
Write-Host \"`n`nEnregistrement de l'état pour $vmSOURCE\" -ForegroundColor Cyan
save-vm -vm $vmSOURCE -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nEffacement de la dernière sauvegarde ($vmDEST$vmSOURCE)\" -ForegroundColor Cyan
Remove-Item \"$vmDEST$vmSOURCE\" -Recurse -Force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nExportation de $vmSOURCE vers $vmDEST\" -ForegroundColor Cyan
Export-VM -vm $vmSOURCE -path $vmDEST -copystate -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nDémarrage de $vmSOURCE\" -ForegroundColor Cyan
Start-VM -vm $vmSOURCE -server $HOTE -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
#Write-Host \"`n`nRetour pour $vmSOURCE sur $HOTE\" -ForegroundColor Cyan
#Move-vm -vm $vmSOURCE -destination $HOTE -server $local -force
$fin = Get-Date
}
}
else
{
findHOST16
}
}
[/code:1]
J'effectue une procédure de sauvegarde nocturne qui se déroule sans erreurs sauf lorsqu'il s'agit de redémarrer la VM alors qu'elle est en état \"Enregistré\".
J'utilise PowerShell depuis peu et je me réjouis d'obtenir quelques feedback.
Je n'ai pas de message d'erreurs après le start-vm. Seulement si une fois mon script exécuté et terminé je relance la commande start-vm -vm jj-test -server xxx -wait -force le message d'erreur suivant apparaît: \"Failed to change state of VM JJ-TEST to: running: JJ-TEST n'a pas pu être initialisé. (...) Au niveau de C......modulesHYPERVVM.PS1.
Si je fais un stop-vm puis un start-vm une fois le script terminé, alors ça redémarre...
D'avance merci pour votre soutien.
Voici mon code:
[code:1]
function findHOST15
{
$VM = Get-Vm -name $vmSOURCE -server PNET-15
if ($VM -ne $null)
{
Write-Host \"`n`n`n`n`n$vmSOURCE est sur PNET-15\"
$HOTE = \"PNET-15\" ; $debut = Get-Date
Write-Host \"Déplacement de $vmSOURCE sur $local\" -ForegroundColor Cyan
Move-vm -vm $vmSOURCE -destination $local -server $HOTE -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
if ($?)
{
Write-Host \"`n`nEnregistrement de l'état pour $vmSOURCE\" -ForegroundColor Cyan
save-vm -vm $vmSOURCE -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nEffacement de la dernière sauvegarde ($vmDEST$vmSOURCE)\" -ForegroundColor Cyan
Remove-Item \"$vmDEST$vmSOURCE\" -Recurse -Force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nExportation de $vmSOURCE vers $vmDEST\" -ForegroundColor Cyan
Export-VM -vm $vmSOURCE -path $vmDEST -copystate -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
Write-Host \"`n`nDémarrage de $vmSOURCE\" -ForegroundColor Cyan
Start-VM -vm $vmSOURCE -server $HOTE -wait -force
if ($?) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
#Write-Host \"`n`nRetour pour $vmSOURCE sur $HOTE\" -ForegroundColor Cyan
#Move-vm -vm $vmSOURCE -destination $HOTE -server $local -force
$fin = Get-Date
}
}
else
{
findHOST16
}
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 10 mois #11673
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Démarrage d'une VM ne se fait pas.
Dans un premier temps je te dirai de voir du côté du module que tu utilises, mais ton usage de la variable automatique $? me fait douter de ton code.
Il faut peut être mémoriser son état.
Il faut peut être mémoriser son état.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Jérôme Joly
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 13 ans 10 mois #11694
par Jérôme Joly
Réponse de Jérôme Joly sur le sujet Re:Démarrage d'une VM ne se fait pas.
Ok merci.
Je vais vérifier le module.
Oui j'ai remplacé mon [code:1]if ($?)[/code:1] par [code:1] if ($LASTEXITCODE -eq \"0\"«»)[/code:1] je penses que c'est ce qu'il faut pour me permettre de vérifier que la tâche c'est correctement exécutée.
Je vais vérifier le module.
Oui j'ai remplacé mon [code:1]if ($?)[/code:1] par [code:1] if ($LASTEXITCODE -eq \"0\"«»)[/code:1] je penses que c'est ce qu'il faut pour me permettre de vérifier que la tâche c'est correctement exécutée.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 10 mois #11695
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Démarrage d'une VM ne se fait pas.
La variable automatique $LastExitCode est utilisée pour tester l'exécution d'un exécutable.
Je testerais plutot qq chose comme ceci :
[code:1]
Move-vm -vm $vmSOURCE -destination $local -server $HOTE -force
$MoveVMsuccess=$?
if ($MoveVMsuccess) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
if ($MoveVMsuccess)
{# la suite...
[/code:1]
Et pour le compte rendu, n'afficher que les erreurs.
Voir utiliser le cmdlet Write-Error.
Je testerais plutot qq chose comme ceci :
[code:1]
Move-vm -vm $vmSOURCE -destination $local -server $HOTE -force
$MoveVMsuccess=$?
if ($MoveVMsuccess) {Write-Host \"Réussi\" -ForegroundColor Green}
else {Write-Host \"Echec\" -ForegroundColor Red}
if ($MoveVMsuccess)
{# la suite...
[/code:1]
Et pour le compte rendu, n'afficher que les erreurs.
Voir utiliser le cmdlet Write-Error.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.037 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Démarrage d'une VM ne se fait pas.