PowerShell · v3.4-EU

Allowlist & Proxy Connectivity Test

Ein PowerShell-Skript, das in einem Durchlauf prüft, ob ein Windows-Gerät alle NinjaOne-Endpunkte der EU-Region erreicht – direkt oder über einen Proxy. Zusätzlich prüft es den Agent-Dienst und ob das Gerät überhaupt Internet hat.

Was das Skript prüft

Alle EU-Endpunkte

Testet jeden Endpunkt aus den NinjaOne-Dojo-Allowlist-Artikeln (Global + EU-Region): DNS, TCP-Verbindung zu jeder IP, TLS-1.2-Handshake und UDP 40000 für NinjaOne Remote.

Proxy-Erkennung pro URL

Erkennt den Proxy automatisch (Agent-Registry, NC_PROXY, WinINET, PAC, WinHTTP, Umgebungsvariablen) und zeigt pro URL, ob der Proxy sie durchlässt oder blockiert.

SSL-Inspection & Legacy-IPs

Erkennt SSL-Inspection durch Firewall oder Proxy, veraltete NinjaOne-Remote-IPs bei IP-basierten Allowlists und fehlerhafte Proxy-Registry-Werte.

Agent-Dienst & Internet

Prüft den Dienst NinjaRMMAgent (nicht installiert / gestoppt / läuft), startet ihn bei Bedarf neu und prüft Gateway, Ping, DNS und TCP/443 – ein verbundener Adapter heißt noch nicht, dass Internet da ist.

Wann du es einsetzt

Wann du es einsetzt
SituationWas der Test dir sagt
Agent wird in NinjaOne als offline angezeigtLäuft der Dienst, hat das Gerät Internet, welcher Endpunkt ist blockiert?
Rollout von NinjaOne bei einem neuen KundenLässt Firewall/Proxy alles durch – noch bevor der Agent installiert ist?
NinjaOne Remote verbindet nichtSind TCP 443/7075 und UDP 40000 offen, sind die statischen Remote-IPs erlaubt, ist SSL-Inspection aktiv?
Kunde nutzt einen ProxyLässt der Proxy jede URL durch oder blockiert er mit 403/407? Ist der Agent-Proxy korrekt konfiguriert?
Firewall erlaubt nur nach IPLösen die NinjaOne-Remote-Hosts noch auf alte IPs auf, die abgeschaltet werden?
„LAN/WLAN ist verbunden, aber nichts geht“Gateway, Ping, DNS und TCP/443 zeigen, ob das Gerät das Internet wirklich erreicht.

Voraussetzungen

  • Windows PowerShell 5.1 oder PowerShell 7+
  • Windows 10 / 11 oder Windows Server 2016+ (Dienst-Check und geplante Aufgabe benötigen Windows)
  • Administrator- oder SYSTEM-Rechte für Start/Neustart des Dienstes – alles andere funktioniert auch ohne
  • Keine Module, keine Downloads aus dem Internet, kein Zugriff auf die NinjaOne-API

Anleitung

Variante A: Manuell auf dem Gerät

Wenn der Agent offline oder noch nicht installiert ist – dann lässt sich das Skript nicht über NinjaOne ausführen.

  1. 1

    Skript herunterladen und auf das Gerät kopieren, z. B. nach C:\Temp.

  2. 2

    PowerShell als Administrator öffnen.

  3. 3

    Skript nur für diese Sitzung erlauben und ausführen:

    PowerShell
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    C:\Temp\Ninja_Allowlist_Test_EU.ps1
  4. 4

    Optional: Ergebnisse als CSV für den Kunden oder das Firewall-Team speichern:

    PowerShell
    C:\Temp\Ninja_Allowlist_Test_EU.ps1 -ExportCsv C:\Temp\ninja-allowlist.csv

Tipp: Bei manueller Ausführung in der Benutzersitzung wird der WinINET/PAC-Proxy des angemeldeten Benutzers erkannt – praktisch, wenn der Browser des Kunden einen Proxy nutzt.

Variante B: Über NinjaOne

Wenn der Agent online ist – das Skript läuft dann als SYSTEM direkt auf dem Gerät.

  1. 1

    Administration → Bibliothek → Automatisierung → Hinzufügen → Neues Skript.

  2. 2

    Name: NinjaOne Allowlist Test (EU).

  3. 3

    Sprache PowerShell, Betriebssystem Windows, Architektur Alle, ausführen als System.

  4. 4

    Den Inhalt von Ninja_Allowlist_Test_EU.ps1 einfügen (von GitHub kopieren – Button unten).

  5. 5

    Gerät öffnen → Ausführen → Skript wählen. Bei Bedarf Parameter im Feld „Parameter“ angeben, z. B.:

    Feld „Parameter“
    -Mode Both -AllShards
  6. 6

    Die Ausgabe im Aktivitätsprotokoll des Geräts prüfen.

  • Das Skript läuft als SYSTEM: HKCU-Einstellungen (WinINET, PAC) gehören dem SYSTEM-Konto, nicht dem angemeldeten Benutzer.
  • Der Agent-Neustart wird um 90 Sekunden verzögert – das Gerät ist kurz nach Skriptende kurz offline. Das ist erwartet.
  • Bei kritischen Fehlern endet das Skript mit Exit-Code 1 und NinjaOne markiert den Lauf als fehlgeschlagen.
  • Mit -NoServiceRestart gibt es nur den Bericht, ohne den Agent neu zu starten.

Parameter

Parameter
ParameterStandardBeschreibung
-ModeAutoAuto = Proxy nutzen, wenn einer erkannt wird, sonst direkt. Außerdem Direct, Proxy oder Both (beide Wege vergleichen).
-ProxyHost–Proxy manuell angeben statt ihn zu erkennen.
-ProxyPort–Port des manuell angegebenen Proxys.
-ProxyTypeHttpHttp, Https (TLS zum Proxy) oder Socks5.
-ProxyUser / -ProxyPassword–Proxy-Zugangsdaten. Überschreiben die (maskierten) Zugangsdaten aus der Registry.
-Timeout5000Timeout pro Verbindungsversuch in Millisekunden.
-AllShardsoffAlle 40 WebSocket-Shards testen statt einer Stichprobe.
-IncludeBackupoffZusätzlich die Device-Backup-Endpunkte testen.
-IncludeCloudRdpoffZusätzlich die Cloud-RDP-Endpunkte testen.
-IncludeIPv6offZusätzlich AAAA-Einträge (IPv6) testen.
-SkipUdpoffUDP-Checks überspringen.
-ExportCsv–Pfad für einen CSV-Export aller Ergebnisse.
-NoServiceRestartoffNur den Zustand des Agent-Dienstes melden, nicht starten/neu starten.

Beispiele

Standard-Test, Proxy wird automatisch erkannt:

PowerShell
.\Ninja_Allowlist_Test_EU.ps1

Direkten Weg und Proxy-Weg vergleichen:

PowerShell
.\Ninja_Allowlist_Test_EU.ps1 -Mode Both

Einen bestimmten Proxy mit Zugangsdaten testen:

PowerShell
.\Ninja_Allowlist_Test_EU.ps1 -Mode Proxy -ProxyHost 192.168.32.144 -ProxyPort 3128 -ProxyUser svc-ninja -ProxyPassword '********'

Vollständiger Test inkl. Backup, aller Shards und CSV – ohne den Agent anzufassen:

PowerShell
.\Ninja_Allowlist_Test_EU.ps1 -AllShards -IncludeBackup -NoServiceRestart -ExportCsv C:\Temp\ninja.csv

Ausgabe verstehen

[OK]

Check bestanden.

[FAIL]

Check fehlgeschlagen. Kritische Fehler führen zu Exit-Code 1.

[WARN]

Anschauen, aber nicht blockierend – z. B. Fallback-Port 7075, SSL-Inspection, Legacy-IP.

[INFO]

Nur zur Information – Konfiguration, UDP-Ergebnisse, Adapter.

Exit-Code 0 = keine kritischen Fehler, 1 = mindestens ein kritischer Fehler. Am Ende fasst eine Zusammenfassung bestandene Checks, Warnungen, kritische Fehler pro Endpunkt und Hinweise (Internet, Agent-Dienst, Legacy-IPs, SSL-Inspection, Proxy) zusammen.

Fehlerbehebung

Fehlerbehebung
ErgebnisUrsacheWas tun
Service 'NinjaRMMAgent' not foundAgent nicht installiertAgent installieren. Die Allowlist-Ergebnisse zeigen trotzdem, ob das Netzwerk bereit ist.
Service is started but stops againAgent stürzt ab oder kann nicht startenWindows-Ereignisprotokoll und C:\ProgramData\NinjaRMMAgent\logs prüfen, Agent ggf. neu installieren.
Not running elevatedPowerShell nicht als Administrator gestartetPowerShell als Administrator starten oder über NinjaOne als System ausführen.
no internetUplink, Gateway, Firewall oder Captive PortalZuerst das Netzwerk reparieren – die Allowlist-Fehler sind eine Folge davon.
DNS resolves (internal resolver), but the internet is not reachableInternes DNS funktioniert, ausgehender Verkehr ist blockiertDefault-Route und Firewall prüfen – eventuell ist ein Proxy nötig.
DNS resolution failedDNS-Filter oder Split-DNS*.ninjarmm.com und *.ninjarmm.net im DNS-Filter erlauben.
TCP/443 blocked or unreachableFirewall verwirft die VerbindungDen Endpunkt zur Firewall-Allowlist hinzufügen.
unexpected issuer -> SSL inspection likelyFirewall/Proxy fängt TLS abNinjaOne-URLs von der SSL-Inspection ausnehmen.
resolves to a LEGACY IPIP-basierte Allowlist mit alten Remote-IPsDie dokumentierten statischen IPs hinzufügen – nicht nötig, wenn nach URL erlaubt wird.
proxy replied: ... 407Proxy verlangt Authentifizierung-ProxyUser / -ProxyPassword angeben (das Registry-Passwort ist maskiert).
proxy replied: ... 403Proxy blockiert die URLDie URL zur Proxy-Allowlist hinzufügen.
proxy replied: ... 502/504Proxy erreicht das Ziel nichtDie Upstream-Firewall hinter dem Proxy prüfen.
CONNECT/7075 fails via HTTP proxyHTTP-Proxys erlauben CONNECT meist nur auf 443Erwartet. Port 7075 direkt in der Firewall öffnen oder SOCKS5 nutzen.
ProxyHost is set but ProxyPort is missingUnvollständige Agent-Proxy-RegistryProxyPort als DWORD (32-Bit) ergänzen.
agent uses a proxy but NC_PROXY is not setNinjaOne Remote ignoriert den ProxyNC_PROXY als System-Umgebungsvariable setzen.
Aborting: proxy tests are meaningless without a reachable proxyProxy-Host/Port falsch oder blockiertProxy-Adresse prüfen oder mit -Mode Both zusätzlich direkt testen.

Einschränkungen

  • UDP lässt sich ohne Gegenstelle nicht als offen beweisen – UDP-Ergebnisse sind nur INFO/WARN, nie OK.
  • Die Prüfung der statischen IPs läuft nur im Modus Direct/Both, weil im Proxy-Modus der Proxy das DNS auflöst.
  • IP-Gateways lassen sich nicht über einen HTTP-Proxy testen.
  • PAC-Dateien werden erkannt, aber nicht pro URL ausgewertet – ihre Regeln für ninjarmm.com / ninjarmm.net bitte manuell prüfen.
  • Wildcards (*.ninjarmm.com, *.ninjarmm.net, *.rmmservice.eu, *.ingest.sentry.io), CloudFront und OS-Patch-Quellen werden nicht getestet.
  • Der Internet-Check nutzt öffentliche Resolver (Cloudflare, Google, Quad9). Netze, die alle blockieren und keinen Proxy haben, gelten als ohne Internet.
  • Die Endpunktliste entspricht den Dojo-Artikeln mit Stand 2026-08-17. Bei abweichenden Ergebnissen die aktuellen Artikel prüfen.

Das Skript

Der vollständige Quellcode liegt auf GitHub – dort findest du auch die aktuelle Version.

Ninja_Allowlist_Test_EU.ps1

PowerShell · v3.4-EU