Powershell - Utiliser le Best Practice Analyzer de Windows Serveur

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!

Bonjour,

Le Best Practices Analyzer (BPA) est un outil intégré à Windows Serveur qui vérifie si certaines configurations (principalement des rôles) respectent les meilleures pratiques. Il peut être intéressant de vérifier, pour les meilleurs pratiques disponibles, si vous les respectez. Ces meilleures pratiques ne sont pas obligatoirement à respecter c’est à vous de juger, si dans votre contexte, elles vous semblent pertinentes. Je vous montre dans cet article comment utiliser le Best Practice Analyzer de Windows Serveur en PowerShell

# Lister les BPA disponibles
Get-BPAModel |
Select-Object -Property Name,Id, LastScanTime
# Mais un peu plus sont listées de la manière suivante
Get-WindowsFeature |
Where-Object {$_.BestPracticesModelId -ne ''} |
Select-Object -Property name,BestPracticesModelId
# Lancer une analyse en utilisant l'ID
# Si le rôle/fonctionnalité n'est pas installé sur le serveur, vous aurez une erreur
Invoke-BpaModel -ModelID 'Microsoft/Windows/DirectoryServices'
# Lancer une analyse de toutes les BPA dont le rôle est installé sur le poste
Get-WindowsFeature |
Where-Object {($_.BestPracticesModelId -ne '') -and ($_.'InstallState' -eq 'installed')} |
Invoke-BpaModel
# Afficher le résultat de l’analyse
Get-BpaResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object Resolution -ne $null |
Select-Object -Property severity, Problem, Resolution,help
# Afficher les résultats classifiés erreur ou avertissement
Get-BpaResult -ModelId 'Microsoft/Windows/DirectoryServices' |
Where-Object { $_.severity -match 'avertissement|erreur' }
# Afficher le résultat de l’analyse dans un tableau interactif
Get-BpaResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object Resolution -ne $null |
Out-GridView
# Exporter les résultats en CSV
Get-BpaResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object Resolution -ne $null |
Export-Csv -path c:\bpa_results.csv
# Exporter les résultats en html
Get-BpaResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object Resolution -ne $null |
ConvertTo-Html > c:\bpa_results.html
# Exclure des résultats
# L'exclusion rendra invisible les éléments uniquement en interface graphique (dans le gestionnaire de serveur)
# Vous devez filtrer les règles que vous souhaitez exclure
Get-BPAResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object { $_.RuleID -eq 44} |
Set-BPAResult -Exclude $true
# Autre exemple
Get-BPAResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object { $_.Severity -eq "Information"} |
Set-BPAResult -Exclude $true
# Supprimer l'exclusion
Get-BPAResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object { $_.RuleID -eq 44} |
Set-BPAResult -Exclude $false
# Autre exemple
Get-BPAResult -ModelID Microsoft/Windows/DirectoryServices |
Where-Object { $_.Severity -eq "Information"} |
Set-BPAResult -Exclude $false

Liens en relation