Question
Type d'erreur Try/Catch connexion VCENTER
- lakcil
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 23
- Remerciements reçus 0
il y a 14 ans 5 mois #10462
par lakcil
Type d'erreur Try/Catch connexion VCENTER a été créé par lakcil
Bonjour à tous et à toutes !!
Ma fonction ci-dessous se connecte à un VCENTER en utilisant les API vm ware. Je souhaite afficher un message en fonction du type d'erreur dans mes blocs catch.
Le problème est qu'aucun des types d'erreur dans mes catch ne marche et par conséquent je ne passe que dans le dernier catch.
Je précise que j'ai trouvé ces types d'erreur en provoquant les erreurs et en affichant l’exception.
Quelqu'un saurait l'exception exacte à catcher ?
Merci pour votre aide.
[code:1]
function Connect-VM(){
if (! (Get-PSSnapin | where {$_.Name -eq 'VMware.VimAutomation.Core'})){Add-PSSnapin VMware.VimAutomation.Core | Out-Null }else{ Remove-PSSnapin -Name VMware.VimAutomation.Core | Out-Null ;Add-PSSnapin VMware.VimAutomation.Core | Out-Null }
if($global:VmConnection.isConnected){
Write-Host \"deja connecté\"
}
else{
$cred = $host.ui.PromptForCredential(\"Connexion au VCENTER\", \"Entrez login et Mot de passe :\", \"\", \"\"«»)
try{
$global:VmConnection = Connect-VIserver -Server $VMHOST -credential $cred -errorAction Stop
}
catch [VMware.VimAutomation.ViCore.Types.V1.ErrorHandling.InvalidLogin]{
Write-Host \"erreur de login ou de mot de passe\"
}
catch [VMware.VimAutomation.Sdk.Types.V1.ErrorHandling.VimException.ViServerConnectionException]{
Write-Host \"erreur reseau\"
}
catch {
Write-Host \"catch general\"
}
}
}
[/code:1]
Ma fonction ci-dessous se connecte à un VCENTER en utilisant les API vm ware. Je souhaite afficher un message en fonction du type d'erreur dans mes blocs catch.
Le problème est qu'aucun des types d'erreur dans mes catch ne marche et par conséquent je ne passe que dans le dernier catch.
Je précise que j'ai trouvé ces types d'erreur en provoquant les erreurs et en affichant l’exception.
Quelqu'un saurait l'exception exacte à catcher ?
Merci pour votre aide.
[code:1]
function Connect-VM(){
if (! (Get-PSSnapin | where {$_.Name -eq 'VMware.VimAutomation.Core'})){Add-PSSnapin VMware.VimAutomation.Core | Out-Null }else{ Remove-PSSnapin -Name VMware.VimAutomation.Core | Out-Null ;Add-PSSnapin VMware.VimAutomation.Core | Out-Null }
if($global:VmConnection.isConnected){
Write-Host \"deja connecté\"
}
else{
$cred = $host.ui.PromptForCredential(\"Connexion au VCENTER\", \"Entrez login et Mot de passe :\", \"\", \"\"«»)
try{
$global:VmConnection = Connect-VIserver -Server $VMHOST -credential $cred -errorAction Stop
}
catch [VMware.VimAutomation.ViCore.Types.V1.ErrorHandling.InvalidLogin]{
Write-Host \"erreur de login ou de mot de passe\"
}
catch [VMware.VimAutomation.Sdk.Types.V1.ErrorHandling.VimException.ViServerConnectionException]{
Write-Host \"erreur reseau\"
}
catch {
Write-Host \"catch general\"
}
}
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 14 ans 5 mois #10463
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Type d'erreur Try/Catch connexion VCENTER
Bonjour,
Oublier : tu utilises pourtant le paramètre '-ErrorAction' à 'Stop'...
Dans le dernier catch, peux tu modifier le 'Write-Host' afin qu'il t'affiche l'exception :
[code:1]catch{
Write-Host $_.exception.gettype()
}[/code:1]
Pour contrôler que tu utilises le bon type d'exception dans les bloques catch précédents...
@ +
Matthew
Message édité par: Matthew BETTON, à: 20/10/11 10:32<br><br>Message édité par: Matthew BETTON, à: 20/10/11 10:55
Des réponses ici et là .
Donc, essaye en fixant au préalable la variable '$ErrorActionPreference' à la valeur \"Stop\".
Oublier : tu utilises pourtant le paramètre '-ErrorAction' à 'Stop'...
Dans le dernier catch, peux tu modifier le 'Write-Host' afin qu'il t'affiche l'exception :
[code:1]catch{
Write-Host $_.exception.gettype()
}[/code:1]
Pour contrôler que tu utilises le bon type d'exception dans les bloques catch précédents...
@ +
Matthew
Message édité par: Matthew BETTON, à: 20/10/11 10:32<br><br>Message édité par: Matthew BETTON, à: 20/10/11 10:55
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.065 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Type d'erreur Try/Catch connexion VCENTER