Überblick: In diesem Artikel verwenden wir ein PowerShell-Skript (.ps1), um ein Diagramm zu erstellen, das die öffentliche Adresse der Agenten abbildet. So behalten Sie den Überblick über die verschiedenen Netzwerke, denen die Agenten eines Kunden angehören, und können sie leichter verwalten.
Hinweise: Sie müssten die Module PSAtera und PSWriteHTML in Powershell installieren, bevor Sie dieses Skript verwenden.
Geschätzte Zeit zur Durchführung dieses Vorgangs: ~10 Minuten
Schritt 1. Kopieren Sie das untenstehende Skript:
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 }
Schritt 2. Speichern Sie das Skript als Map-Agents.ps1 und führen Sie dann Folgendes aus, indem Sie die Kunden-ID durch eine gewünschte ersetzen:
Schritt 3. Das folgende Diagramm wird generiert und in Ihrem Standardbrowser geöffnet.
Rote Punkte: Öffentliche Adressen
Grüne Punkte: Netzwerk-IDs
Blaue Punkte: 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 geprüft. Bitte prüfen und testen Sie es zunächst in Ihrer Arbeitsumgebung.
Dave Long, vielen Dank für die Erstellung dieses Skripts und für Ihren Beitrag zur Atera-Community!