Dans cet article, nous utiliserons un script PowerShell (.ps1) pour créer un diagramme qui cartographie l'adresse publique des agents. Cela vous aidera à suivre les différents réseaux auxquels les agents d'un client appartiennent pour une gestion plus facile.
Remarques : Vous devrez installer les modules PSAtera et PSWriteHTML dans PowerShell avant d'utiliser ce script.
1. Copiez le script ci-dessous.
Import-Module PSAtera Import-Module PSWriteHTML function Map-Agents($CustomerID) { # Obtenez tous les agents Atera pour le client $Agents = Get-AteraAgents -CustomerID $CustomerID New-Html -TitleText "Carte des agents Atera" -Online -FilePath $PSScriptRoot\Atera-Agents.html { New-HTMLTabStyle -SlimTabs New-HTMLTab -Name "Agents Atera" { New-HTMLSection -HeaderText "Réseaux Atera" { New-HTMLPanel { New-HTMLDiagram -Height 'calc(85vh)' { New-DiagramOptionsPhysics -RepulsionNodeDistance 150 -Solver repulsion # Générer Niveau 1 : Réseau public $Agents | Select-Object ReportedFromIP -Unique | ForEach-Object { New-DiagramNode -Label $_.ReportedFromIP -Level 1 -ColorBackground Red } $PrivateNetworks = @() foreach($Agent in $Agents) { # Ignorer toute adresse IP auto-assignée $Agent.IPAddresses | Where-Object { !($_.StartsWith("169.254.")) } | ForEach-Object { $Address = [IPAddress]$_ $AddressBytes = $Address.GetAddressBytes() $Network = "" # Obtenir bêtement l'ID du réseau basé sur la classe de l'adresse IP if ($AddressBytes[0] -eq 10) { # Classe A $Network = "10.0.0.0/8" } elseif ($AddressBytes[0] -eq 172 -and $AddressBytes[1] -ge 16 -and $AddressBytes[1] -le 31) { # Classe B $Network = "172.16.$($AddressBytes[2]).0/16" } elseif ($AddressBytes[0] -eq 192 -and $AddressBytes[1] -eq 168) { $Network = "192.168.$($AddressBytes[2]).0/24" } # Créer le nœud de diagramme pour l'ID du réseau sous l'adresse IP publique if ($PrivateNetworks -notcontains "$Network,$($Agent.ReportedFromIP)") { $PrivateNetworks += "$Network,$($Agent.ReportedFromIP)" New-DiagramNode -Label $Network -Id "$Network,$($Agent.ReportedFromIP)" -To $Agent.ReportedFromIP -Level 2 -ArrowsToEnabled -ColorBackground Green } # Créer le nœud de diagramme pour l'agent sous son ID de réseau correspondant New-DiagramNode -Label "$($Agent.MachineName)`t$($Address.IPAddressToString)" -Level 3 -To "$Network,$($Agent.ReportedFromIP)" -ArrowsToEnabled } } } } } } } -ShowHTML }
2. Enregistrez le script sous Map-Agents.ps1 puis exécutez la commande suivante en remplaçant l'ID du client par celui que vous souhaitez utiliser :
3. Le diagramme suivant sera généré et s'ouvrira dans votre navigateur par défaut.
- Nœuds rouges : Adresses publiques
- Nœuds verts : Identifiants de réseau
- Nœuds bleus : Les agents
Vous pouvez ajouter le script dans Atera et l'exécuter via un profil d'automate informatique.
REMARQUE : Le script n'a pas été vérifié pour sa fonctionnalité et nous n'offrons pas de support de dépannage pour celui-ci. Veuillez le revoir et le tester d'abord dans votre environnement de laboratoire.
Merci, Dave Long, pour la création de ce script et pour votre contribution à la communauté Atera !