En este artículo, utilizaremos un script de PowerShell (.ps1) para crear un diagrama que trace la dirección pública de los agentes. Esto le ayudará a realizar un seguimiento de las distintas redes de las que forman parte los agentes de un cliente para facilitar la gestión.
Notas: Necesitarías instalar los módulos PSAtera y PSWriteHTML en Powershell antes de usar este script.
1. Copie el siguiente script:
Importar módulo PSAtera Import-Module PSWriteHTML function Mapa-Agentes($CustomerID) { # Obtener todos los Agentes Atera para el cliente $Agents = Get-AteraAgents -CustomerID $CustomerID Novedad-Html -TitleText "Mapa de Agentes Atera" -Online -FilePath $PSScriptRoot\Atera-Agents.html { Novedad-HTMLTabStyle -SlimTabs Novedad-HTMLTab -Name "Atera Agents" { New-HTMLSection -HeaderText "Redes Atera" { Nuevo-HTMLPanel { New-HTMLDiagram -Height 'calc(85vh)' { NovedadDiagramOptionsPhysics -RepulsionNodeDistance 150 -Solver repulsion # Generar Nivel 1: Red pública $Agents | Select-Object ReportedFromIP -Unique | ForEach-Object { Novedad-DiagramaNodo -Etiqueta $_.ReportedFromIP -Nivel 1 -ColorBackground Rojo } $RedesPrivadas = @() foreach($Agente en $Agentes) { # Ignorar cualquier dirección IP autoasignada $Agente.DireccionesIP | Where-Object { !($_.StartsWith("169.254.")) } | ForEach-Object { $Dirección = [IPAdirección]$_ $AddressBytes = $Address.GetAddressBytes() $Red = "" # Obtiene estúpidamente el ID de Red basado en la Clase de dirección IP if ($AddressBytes[0] -eq 10) { # Clase A $Red = "10.0.0.0/8" } elseif ($AddressBytes[0] -eq 172 -y $AddressBytes[1] -ge 16 -y $AddressBytes[1] -le 31) { # Clase B $Red = "172.16.$($DirecciónBytes[2]).0/16" } elseif ($AddressBytes[0] -eq 192 -y $AddressBytes[1] -eq 168) { $Red = "192.168.$($DirecciónBytes[2]).0/24" } # Crear el nodo Diagrama para el ID de red bajo la dirección IP pública if ($RedesPrivadas -notcontains "$Red,$($Agente.ReportedFromIP)") { $RedesPrivadas += "$Red,$($Agente.InformedFromIP)" Novedad-DiagramaNodo -Etiqueta $Red -Id "$Red,$($Agente.InformedFromIP)" -A $Agente.InformedFromIP -Nivel 2 -FlechasHabilitadas -ColorFondoVerde } # Crear el nodo Diagram para el agente bajo su ID de red actual New-DiagramNode -Label "$($Agent.MachineName)`t$($Address.IPAddressToString)" -Level 3 -To "$Network,$($Agent.ReportedFromIP)" -ArrowsToEnabled } } } } } } } -ShowHTML }
2. Guarde la secuencia de comandos como Map-Agents.ps1 y a continuación, ejecute lo siguiente sustituyendo el ID de Cliente por el que desee utilizar:
3. Se generará el siguiente diagrama que se abrirá en tu navegador por defecto.
- Nodos rojos: Direcciones públicas
- Nodos verdes: ID de red
- Nodos azules: Los agentes
Puedes añadir el Script en Atera y ejecutarlo a través de un perfil de Autómata IT
NOTA: No se ha comprobado la funcionalidad del script y no ofrecemos asistencia para la resolución de problemas. Por favor, revíselo y pruébelo primero en su entorno de laboratorio.
Gracias, Dave Long, por crear este script y por tu contribución a la comunidad Atera!