Aperçu: dans cet article, nous utiliserons un script PowerShell (.ps1) pour diagramme cartographiant l'adresse publique de vos agents. Cela vous aidera à garder une trace des différents réseaux desquels les agents de vos clients font partie et en facilitera la gestion.
Remarques: avant d'utiliser ce script, vous devrez installer les modules PSAtera et PSWriteHTML dans Powershell.
Temps estimé pour terminer cette procédure: ~10 minutes
Étape 1. Copiez le script ci-dessous:
Import-Module PSAtera Import-Module PSWriteHTML function Map-Agents($CustomerID) { # Get all Atera Agents for the customer $Agents = Get-AteraAgents -CustomerID $CustomerID New-Html -TitleText "Atera Agent Map" -Online -FilePath $PSScriptRoot\Atera-Agents.html { New-HTMLTabStyle -SlimTabs New-HTMLTab -Name "Atera Agents" { New-HTMLSection -HeaderText "Atera Networks" { New-HTMLPanel { New-HTMLDiagram -Height 'calc(85vh)' { New-DiagramOptionsPhysics -RepulsionNodeDistance 150 -Solver repulsion # Generate Level 1: Public network $Agents | Select-Object ReportedFromIP -Unique | ForEach-Object { New-DiagramNode -Label $_.ReportedFromIP -Level 1 -ColorBackground Red } $PrivateNetworks = @() foreach($Agent in $Agents) { # Ignore any self-assigned IP addresses $Agent.IPAddresses | Where-Object { !($_.StartsWith("169.254.")) } | ForEach-Object { $Address = [IPAddress]$_ $AddressBytes = $Address.GetAddressBytes() $Network = "" # Stupidly get the Network ID based on the Class of IP address if ($AddressBytes[0] -eq 10) { # Class A $Network = "10.0.0.0/8" } elseif ($AddressBytes[0] -eq 172 -and $AddressBytes[1] -ge 16 -and $AddressBytes[1] -le 31) { # Class 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" } # Create the Diagram node for the network ID under the public IP address 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 } # Create the Diagram node for the agent under it's corrent network ID New-DiagramNode -Label "$($Agent.MachineName)`t$($Address.IPAddressToString)" -Level 3 -To "$Network,$($Agent.ReportedFromIP)" -ArrowsToEnabled } } } } } } } -ShowHTML }
Étape 2. Enregistrez le script sous Map-Agents.ps1 , puis exécutez ce qui suit en remplaçant l'ID client par celui que vous souhaitez utiliser:
Étape 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: ID de réseau
Nœuds bleus: les agents
Vous pouvez ajouter le script dans Atera et l 'exécuter via un profil IT Automaton.
REMARQUE: l'efficacité de ce script n'a pas été contrôlée. Veuillez d'abord l'examiner et le tester dans votre environnement de test.
Merci à Dave Long pour la création de ce script et pour sa contribution à la communauté Atera!