Bonjour
J’essaie de faire un script pour installer le rôle DHCP.
Dans un 1er temps cela a fonctionné mais j'ai voulu ajouter une gestion d'erreur au cas ou le role dhcp est installé.
Dans mon code ci-dessous j'importe des options à ajouter à mon DHCP.
Problème si l'option n'existe pas, une erreur ce déclenche mais c'est le code du bloc try qui est exécute au lieu du bloc catch.
Je n'arrive vraiment pas a comprendre pourquoi.
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #Trouver l'emplacement du script $RootFolder = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Definition) #Definition de l'emplacement des fichiers de parmetrage $InstallFolder = Get-Item $RootFolder\Install #Test de l'existance du dossier if (Test-Path $InstallFolder\Options.csv) { $Options = Import-Csv -Path $InstallFolder\Options.csv -Delimiter ";" } Else { Write-Warning "Fichier Options.csv manqant." Pause Exit } Foreach ($Option in $Options) { If ($Option.ScopeId -eq "" -or $Option.ScopeId -eq $null ) { Try { Write-Host "Option $((Get-DhcpServerv4OptionValue -OptionId $($Option.OptionId)).OptionId) déjà paramétré sur le serveur." } Catch { #Ajout d'option serveur Set-DhcpServerv4OptionValue -OptionId $Option.OptionId -Value $Option.Value -Force } } Else { Try { Write-Host "Option $((Get-DhcpServerv4OptionValue -OptionId $($Option.OptionId) -ScopeId $Option.ScopeId).OptionId) déjà paramétré sur étendu $($Option.ScopeId)." } Catch { #Ajout d'option à une étendu Write-Host "-OptionId $($Option.OptionId) -Value $($Option.Value) -ScopeId $($Option.ScopeId) -Force" Set-DhcpServerv4OptionValue -OptionId $Option.OptionId -Value $Option.Value -ScopeId $Option.ScopeId -Force } } }
Partager