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
| Situation | Was der Test dir sagt |
|---|---|
| Agent wird in NinjaOne als offline angezeigt | Läuft der Dienst, hat das Gerät Internet, welcher Endpunkt ist blockiert? |
| Rollout von NinjaOne bei einem neuen Kunden | Lässt Firewall/Proxy alles durch – noch bevor der Agent installiert ist? |
| NinjaOne Remote verbindet nicht | Sind TCP 443/7075 und UDP 40000 offen, sind die statischen Remote-IPs erlaubt, ist SSL-Inspection aktiv? |
| Kunde nutzt einen Proxy | Lässt der Proxy jede URL durch oder blockiert er mit 403/407? Ist der Agent-Proxy korrekt konfiguriert? |
| Firewall erlaubt nur nach IP | Lö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
Skript herunterladen und auf das Gerät kopieren, z. B. nach C:\Temp.
- 2
PowerShell als Administrator öffnen.
- 3
Skript nur für diese Sitzung erlauben und ausführen:
PowerShellSet-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass C:\Temp\Ninja_Allowlist_Test_EU.ps1 - 4
Optional: Ergebnisse als CSV für den Kunden oder das Firewall-Team speichern:
PowerShellC:\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
Administration → Bibliothek → Automatisierung → Hinzufügen → Neues Skript.
- 2
Name: NinjaOne Allowlist Test (EU).
- 3
Sprache PowerShell, Betriebssystem Windows, Architektur Alle, ausführen als System.
- 4
Den Inhalt von Ninja_Allowlist_Test_EU.ps1 einfügen (von GitHub kopieren – Button unten).
- 5
Gerät öffnen → Ausführen → Skript wählen. Bei Bedarf Parameter im Feld „Parameter“ angeben, z. B.:
Feld „Parameter“-Mode Both -AllShards - 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 | Standard | Beschreibung |
|---|---|---|
-Mode | Auto | Auto = 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. |
-ProxyType | Http | Http, Https (TLS zum Proxy) oder Socks5. |
-ProxyUser / -ProxyPassword | – | Proxy-Zugangsdaten. Überschreiben die (maskierten) Zugangsdaten aus der Registry. |
-Timeout | 5000 | Timeout pro Verbindungsversuch in Millisekunden. |
-AllShards | off | Alle 40 WebSocket-Shards testen statt einer Stichprobe. |
-IncludeBackup | off | Zusätzlich die Device-Backup-Endpunkte testen. |
-IncludeCloudRdp | off | Zusätzlich die Cloud-RDP-Endpunkte testen. |
-IncludeIPv6 | off | Zusätzlich AAAA-Einträge (IPv6) testen. |
-SkipUdp | off | UDP-Checks überspringen. |
-ExportCsv | – | Pfad für einen CSV-Export aller Ergebnisse. |
-NoServiceRestart | off | Nur den Zustand des Agent-Dienstes melden, nicht starten/neu starten. |
Beispiele
Standard-Test, Proxy wird automatisch erkannt:
.\Ninja_Allowlist_Test_EU.ps1Direkten Weg und Proxy-Weg vergleichen:
.\Ninja_Allowlist_Test_EU.ps1 -Mode BothEinen bestimmten Proxy mit Zugangsdaten testen:
.\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:
.\Ninja_Allowlist_Test_EU.ps1 -AllShards -IncludeBackup -NoServiceRestart -ExportCsv C:\Temp\ninja.csvAusgabe verstehen
Check bestanden.
Check fehlgeschlagen. Kritische Fehler führen zu Exit-Code 1.
Anschauen, aber nicht blockierend – z. B. Fallback-Port 7075, SSL-Inspection, Legacy-IP.
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
| Ergebnis | Ursache | Was tun |
|---|---|---|
Service 'NinjaRMMAgent' not found | Agent nicht installiert | Agent installieren. Die Allowlist-Ergebnisse zeigen trotzdem, ob das Netzwerk bereit ist. |
Service is started but stops again | Agent stürzt ab oder kann nicht starten | Windows-Ereignisprotokoll und C:\ProgramData\NinjaRMMAgent\logs prüfen, Agent ggf. neu installieren. |
Not running elevated | PowerShell nicht als Administrator gestartet | PowerShell als Administrator starten oder über NinjaOne als System ausführen. |
no internet | Uplink, Gateway, Firewall oder Captive Portal | Zuerst das Netzwerk reparieren – die Allowlist-Fehler sind eine Folge davon. |
DNS resolves (internal resolver), but the internet is not reachable | Internes DNS funktioniert, ausgehender Verkehr ist blockiert | Default-Route und Firewall prüfen – eventuell ist ein Proxy nötig. |
DNS resolution failed | DNS-Filter oder Split-DNS | *.ninjarmm.com und *.ninjarmm.net im DNS-Filter erlauben. |
TCP/443 blocked or unreachable | Firewall verwirft die Verbindung | Den Endpunkt zur Firewall-Allowlist hinzufügen. |
unexpected issuer -> SSL inspection likely | Firewall/Proxy fängt TLS ab | NinjaOne-URLs von der SSL-Inspection ausnehmen. |
resolves to a LEGACY IP | IP-basierte Allowlist mit alten Remote-IPs | Die dokumentierten statischen IPs hinzufügen – nicht nötig, wenn nach URL erlaubt wird. |
proxy replied: ... 407 | Proxy verlangt Authentifizierung | -ProxyUser / -ProxyPassword angeben (das Registry-Passwort ist maskiert). |
proxy replied: ... 403 | Proxy blockiert die URL | Die URL zur Proxy-Allowlist hinzufügen. |
proxy replied: ... 502/504 | Proxy erreicht das Ziel nicht | Die Upstream-Firewall hinter dem Proxy prüfen. |
CONNECT/7075 fails via HTTP proxy | HTTP-Proxys erlauben CONNECT meist nur auf 443 | Erwartet. Port 7075 direkt in der Firewall öffnen oder SOCKS5 nutzen. |
ProxyHost is set but ProxyPort is missing | Unvollständige Agent-Proxy-Registry | ProxyPort als DWORD (32-Bit) ergänzen. |
agent uses a proxy but NC_PROXY is not set | NinjaOne Remote ignoriert den Proxy | NC_PROXY als System-Umgebungsvariable setzen. |
Aborting: proxy tests are meaningless without a reachable proxy | Proxy-Host/Port falsch oder blockiert | Proxy-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