In diesem Artikel verwenden wir ein PowerShell (.ps1) Skript, um ein Diagramm zu erstellen, das die öffentliche Adresse der Agenten abbildet. Dies hilft Ihnen, die verschiedenen Netzwerke, denen die Agenten eines Kunden angehören, einfacher zu verwalten.
Hinweise: Sie müssen die PSAtera und PSWriteHTML Module in PowerShell installieren, bevor Sie dieses Skript verwenden.
1. Kopieren Sie das untenstehende Skript.
Import-Module PSAtera Import-Module PSWriteHTML function Map-Agents($CustomerID) { # Alle Atera-Agenten für den Kunden abrufen $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 Netzwerke" { New-HTMLPanel { New-HTMLDiagram -Height 'calc(85vh)' { New-DiagramOptionsPhysics -RepulsionNodeDistance 150 -Solver repulsion # Ebene 1 generieren: Öffentliches Netzwerk $Agents | Select-Object ReportedFromIP -Unique | ForEach-Object { New-DiagramNode -Label $_.ReportedFromIP -Level 1 -ColorBackground Red } $PrivateNetworks = @() foreach($Agent in $Agents) { # Alle selbst zugewiesenen IP-Adressen ignorieren $Agent.IPAddresses | Where-Object { !($_.StartsWith("169.254.")) } | ForEach-Object { $Address = [IPAddress]$_ $AddressBytes = $Address.GetAddressBytes() $Network = "" # Netzwerk-ID basierend auf der Klasse der IP-Adresse ermitteln if ($AddressBytes[0] -eq 10) { # Klasse A $Network = "10.0.0.0/8" } elseif ($AddressBytes[0] -eq 172 -and $AddressBytes[1] -ge 16 -and $AddressBytes[1] -le 31) { # Klasse 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" } # Diagrammknoten für die Netzwerk-ID unter der öffentlichen IP-Adresse erstellen 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 } # Diagrammknoten für den Agenten unter seiner aktuellen Netzwerk-ID erstellen New-DiagramNode -Label "$($Agent.MachineName)`t$($Address.IPAddressToString)" -Level 3 -To "$Network,$($Agent.ReportedFromIP)" -ArrowsToEnabled } } } } } } } -ShowHTML }
2. Speichern Sie das Skript als Map-Agents.ps1 und führen Sie dann das Folgende aus, indem Sie die Kunden-ID durch die gewünschte ersetzen:
3. Das folgende Diagramm wird generiert und in Ihrem Standardbrowser geöffnet.
- Rote Knoten: Öffentliche Adressen
- Grüne Knoten: Netzwerk-IDs
- Blaue Knoten: Die Agenten
Sie können das Skript in Atera hinzufügen und es über ein IT-Automatisierungsprofil ausführen.
HINWEIS: Das Skript wurde nicht auf Funktionalität überprüft und wir bieten keinen Support für die Fehlersuche an. Bitte überprüfen und testen Sie es zuerst in Ihrer Laborumgebung.
Vielen Dank, Dave Long, für die Erstellung dieses Skripts und Ihren Beitrag zur Atera-Community!