Stellen Sie zukünftige Netzwerkverbindungen auf den privaten Standort ein, anstatt standardmäßig auf den öffentlichen.

Stellen Sie zukünftige Netzwerkverbindungen auf den privaten Standort ein, anstatt standardmäßig auf den öffentlichen.

Ist es in Windows Server 2012 und 2012R2 möglich, zukünftige Netzwerkverbindungen so einzustellen, dass das private Firewall-Profil verwendet wird, anstatt standardmäßig das öffentliche?

Ich habe versucht, alle Netzwerkelemente unter secpol.msc„> Sicherheitseinstellungen > Richtlinien des Netzwerklisten-Managers“ auf „Privat“ zu setzen, aber jedes Mal, wenn ich ein neues Netzwerk verbinde, ist es standardmäßig immer auf „Öffentlich“ eingestellt.

Gibt es alternativ eine Möglichkeit, das Dialogfeld „Netzwerkstandort festlegen“ wieder zu aktivieren, das in Nicht-Serverversionen von Windows angezeigt wird? Dies würde zumindest dazu beitragen, das Problem zu beheben.

Antwort1

Diese Sicherheitsfunktion ist beabsichtigt. Server in einem „neuen“ oder „unbekannten“ Netzwerk verwenden standardmäßig das öffentliche Profil. Da es sich nicht um ein Domänenprofil handelt, kein DC ist und DNS-Lookups (zur Identifizierung des Netzwerks) fehlschlagen, wird das Netzwerk, in dem Sie sich befinden, als „unbekanntes“ Netzwerk definiert und daher standardmäßig das „öffentliche“ Profil verwendet.

Sie können dieses Problem umgehen, indem Sie den Server einer Domäne hinzufügen. Dadurch wird der Netzwerkstandort auf „Domänennetzwerk“ festgelegt. Diese Lösung ist jedoch möglicherweise nicht ideal oder sogar unmöglich für Sie, wenn Sie sich ständig mit „neuen“ Netzwerken verbinden.

Wenn Sie sich in einem vertrauenswürdigen Netzwerk befinden und dies geschieht oder es sich bei diesem Server um einen DC handelt, wird das Problem durch das Einstellen des Dienstes „Network Location Awareness“ auf verzögerten Start behoben.

Wenn Ihr Server in verschiedenen Netzwerken unterwegs ist oder kein DC vorhanden ist, können Sie das folgende Powershell-Skript ausführen (Von derBlog des Windows PowerShell-Teams), um alle Netzwerkprofile auf „privat“ zu setzen:

# Skip network location setting for pre-Vista operating systems
if([environment]::OSVersion.version.Major -lt 6) { return }

# Skip network location setting if local machine is joined to a domain.
if(1,3,4,5 -contains (Get-WmiObject win32_computersystem).DomainRole) { return }

# Get network connections
$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))
$connections = $networkListManager.GetNetworkConnections()

# Set network location to Private for all networks
$connections | % {$_.GetNetwork().SetCategory(1)}

Wenn Sie eine geplante Aufgabe erstellen möchten, um dieses Skript beim Booten auszuführen, finden Sie hier ein hervorragendes Tutorial:„Verwenden Sie den Windows-Taskplaner, um ein Windows PowerShell-Skript auszuführen“.

verwandte Informationen