In modernen IT-Umgebungen ist die korrekte Erkennung und Konfiguration des Windows-Netzwerkprofils ein unscheinbares, aber sicherheitsrelevantes Detail.
Ob ein System als „DomainAuthenticated“, „Private“ oder „Public“ eingestuft ist, entscheidet darüber, welche Firewall-Regeln greifen, wie Dienste erreichbar sind – und letztlich, ob Kommunikation innerhalb einer Unternehmensumgebung sicher funktioniert.
Bei der anyWARE AG setzen wir für diese Prüfung ein selbst entwickeltes PowerShell-Skript ein, das über Tactical RMM automatisiert ausgeführt wird.
Das Skript kontrolliert, ob Windows-Systeme die richtigen Netzwerkprofile nutzen, und liefert anhand standardisierter Exitcodes ein klares Ergebnis für das Monitoring.
Hintergrund: Warum Netzwerkprofile wichtig sind
Seit Windows Vista unterscheidet das Betriebssystem zwischen mehreren Netzwerkprofilen:
- DomainAuthenticated: Das System ist Mitglied einer Domäne und konnte sich erfolgreich gegenüber einem Domain Controller authentifizieren.
- Private: Lokale Netzwerke (z. B. in Büros oder Heimnetzwerken) mit vertrauenswürdigen Geräten.
- Public: Öffentliche Netzwerke mit restriktiver Firewall – gedacht für Hotels, Flughäfen, Hotspots.
In Unternehmensnetzwerken sollte:
- ein Domänenmitglied stets den Status DomainAuthenticated haben,
- ein Standalone-System hingegen im besten Fall das Profil Private verwenden.
Ein falsch gesetztes Netzwerkprofil kann unerwartete Probleme verursachen – etwa blockierte RDP-Verbindungen, nicht erreichbare Freigaben oder fehlgeschlagene Gruppenrichtlinien.
Ziel des Skripts
Das PowerShell-Skript prüft automatisiert, ob das aktive Netzwerkprofil zur Systemrolle passt.
Dabei unterscheidet es zwei Hauptszenarien:
- Domänenmitglied oder Domain Controller
- Erwartet wird ein aktives DomainAuthenticated-Profil.
- Wenn kein solches Profil gefunden wird, gilt das als Fehlerzustand (Exitcode 1).
- Standalone-System (kein Domänenmitglied)
- Prüft die aktuell aktiven Netzwerkverbindungen.
- Wenn ein aktives Profil den Typ Public hat, wird gewarnt (Exitcode 2).
- Bei Private oder keinem aktiven Profil gilt das System als unkritisch.
Diese Unterscheidung sorgt dafür, dass sowohl verwaltete als auch isolierte Systeme sicher und regelkonform betrieben werden.
Technische Umsetzung
Das Skript nutzt ausschließlich native Windows-Bordmittel, um maximale Kompatibilität sicherzustellen – ab Server 2012 R2 / PowerShell 4.0.
1. Versions- und Kompatibilitätsprüfung
Bevor die eigentliche Logik startet, wird überprüft, ob PowerShell 4.0 oder neuer installiert ist.
Damit werden ältere Umgebungen mit PowerShell 2 oder 3 sauber abgefangen, bevor es zu Funktionsfehlern kommt.
if ([version]$PSVersionTable.PSVersion -lt [version]'4.0') {
Write-Host "[INFO] PowerShell 4.0 oder neuer erforderlich."
exit 2
}
2. Domänenzugehörigkeit und Authentifizierung
Über WMI (Win32_ComputerSystem) prüft das Skript, ob das System Teil einer Active Directory-Domäne ist.
Wenn ja, wird zusätzlich kontrolliert, ob Windows ein „DomainAuthenticated“-Netzwerkprofil aktiv erkannt hat:
(Get-NetConnectionProfile | Where-Object { $_.NetworkCategory -eq 'DomainAuthenticated' })
Fehlt diese Zuordnung, bedeutet das meist, dass die Maschine sich nicht korrekt gegenüber dem Domain Controller authentifizieren konnte – etwa durch DNS-Probleme, fehlerhafte Netzwerkbindung oder einen schwebenden AD-Trust.
3. Ermittlung aktiver Netzwerkprofile
Für Standalone-Systeme werden sämtliche aktiven Verbindungen (IPv4 / IPv6) analysiert.
Dadurch erkennt das Skript zuverlässig, ob überhaupt ein aktives Netzwerk besteht und welches Profil genutzt wird.
Die Logik ist robust implementiert: getrennte oder inaktive Schnittstellen werden automatisch ignoriert, sodass keine Fehlalarme entstehen.
$profiles = Get-NetConnectionProfile
foreach ($p in $profiles) {
if ($p.IPv4Connectivity -ne 'Disconnected') {
$cats += $p.NetworkCategory
}
}
4. Bewertung und Exitcodes
Die Auswertung erfolgt über standardisierte Rückgabewerte:
| Exitcode | Bedeutung | Beschreibung |
|---|---|---|
| 0 | OK | Profil korrekt erkannt |
| 1 | Fehler (Domänenmitglied) | Kein DomainAuthenticated-Profil aktiv |
| 2 | Warnung (Standalone) | Öffentliches Netzwerk aktiv |
Diese Exitcodes werden von Tactical RMM direkt interpretiert und können zur Anzeige in Dashboards, Triggern oder Automatisierungen verwendet werden.
Integration in Tactical RMM
Das Skript ist als Custom Script Check in Tactical RMM eingebunden und läuft regelmäßig auf allen verwalteten Endpunkten.
Die Rückgabewerte fließen in den Monitoring-Agent ein und werden dort in den Check-Ergebnissen visualisiert.
Ein typisches Beispiel im RMM-Dashboard:
- OK – Netzwerkprofil korrekt erkannt (DomainAuthenticated)
- Warning – Standalone-System verwendet „Public“-Profil
- Error – Domänenmitglied nicht authentifiziert
So lassen sich fehlerhafte Netzwerkkonfigurationen frühzeitig erkennen, bevor sie Auswirkungen auf Gruppenrichtlinien, Domänen-Join-Prozesse oder Remote-Zugriffe haben.
Praxisnutzen und Erweiterbarkeit
Der größte Vorteil dieses Checks liegt in seiner Prävention:
Er erkennt Zustände, die in klassischen Monitoring-Tools oft übersehen werden – etwa, wenn ein Client zwar online ist, aber nicht mehr korrekt in der Domäne authentifiziert wurde.
Darüber hinaus ist das Skript bewusst modular gehalten:
- Die Profilprüfung lässt sich leicht erweitern (z. B. für VPN-Adapter oder WLAN-Interfaces).
- Optional kann die Ausgabe in JSON oder über Custom Fields zurück in Tactical RMM geschrieben werden.
- Künftig könnten auch Firewall-Zustände oder Netzwerkisolationen mit erfasst werden.
Fazit
Mit diesem selbst entwickelten Skript erweitert die anyWARE AG ihr Monitoring um eine feingranulare, aber äußerst relevante Sicherheitsprüfung.
Ob Domänenclient oder isolierter Server – das Netzwerkprofil ist ein zentraler Indikator für sichere Kommunikation und korrekte Systemintegration.
Durch die Einbindung in Tactical RMM wird die Kontrolle vollständig automatisiert, reproduzierbar und skalierbar. Damit bleibt keine Fehlkonfiguration unentdeckt – und jedes System kommuniziert dort, wo es soll: sicher, authentifiziert und im richtigen Netzwerk.

