
145122
06.07.2022
Batch: Erkennung des IP-Bereiches
Hallo Zusammen, ich hoffe, ihr könnt mir weiterhelfen:
Ich habe 2 Standorte, die per VPN verbunden sind. Die IP-Bereiche sind:
Standort A: 192.168.178.x
Standort B: 192.168.179.x
An jedem Standort steht ein NAS:
Standort A: NAS178
Standort B: NAS179
Nun möchte ich meine Dateien mittels Batch-Datei und robocopy auf das NAS kopieren, an dessen Standort ich mich befinde.
Gibt es eine einfache Möglichkeit festzustellen, ob ich mich an Standort A oder B befinde und somit das richtige NAS angesprochen wird?
LG Stefan
Ich habe 2 Standorte, die per VPN verbunden sind. Die IP-Bereiche sind:
Standort A: 192.168.178.x
Standort B: 192.168.179.x
An jedem Standort steht ein NAS:
Standort A: NAS178
Standort B: NAS179
Nun möchte ich meine Dateien mittels Batch-Datei und robocopy auf das NAS kopieren, an dessen Standort ich mich befinde.
Gibt es eine einfache Möglichkeit festzustellen, ob ich mich an Standort A oder B befinde und somit das richtige NAS angesprochen wird?
LG Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3267086888
Url: https://administrator.de/forum/batch-erkennung-des-ip-bereiches-3267086888.html
Ausgedruckt am: 04.04.2025 um 17:04 Uhr
11 Kommentare
Neuester Kommentar
Moin Stefan,
einfach die NAS kurz anpingen und gucken, ob du eine Antwort erhälst.
Über die IP geht es noch ein bisschen schneller als über den Hostnamen, insbesondere wenn dieser nicht erreichbar ist.
Gruß Thomas
einfach die NAS kurz anpingen und gucken, ob du eine Antwort erhälst.
@echo off
ping -n 1 Nas178 | >nul findstr /r /c:"[0-9] *ms"
if %errorlevel% equ 0 echo NAS178 ist erreichbar
ping -n 1 Nas179 | >nul findstr /r /c:"[0-9] *ms"
if %errorlevel% equ 0 echo NAS179 ist erreichbar
Über die IP geht es noch ein bisschen schneller als über den Hostnamen, insbesondere wenn dieser nicht erreichbar ist.
Gruß Thomas
Zitat von @145122:
Ich müsste also irgendwie feststellen, welche IP der Laptop hat (es sind virtuelle Netzwerkadapter vorhanden) oder welche IP der Router / DHCP Server hat.
na dannIch müsste also irgendwie feststellen, welche IP der Laptop hat (es sind virtuelle Netzwerkadapter vorhanden) oder welche IP der Router / DHCP Server hat.
for /F "Tokens=2 Delims=" %%A in ('ping -4 -n 1 "%ComputerName%"') do for /F "Tokens=3 Delims=." %%B in ("%%A") do echo %%B
Gruß Thomas
Du erzeugst auf beiden Standorten für den jeweiligen NAS ein Alias „NAS“
Am Client pingst Du „NAS“ an und schaust von wem eine Antwort kommt.
Vom 178er oder vom 179er.
Oder anders: der Tunnel hat einen bestimmten DNS Server gepusht, den vom jeweiligen Standort. Ping diesen DNS Server nicht an sondern frag ab um welcher DNS Server aktuell zuständig ist (ipconfig). Der im 178er Netz oder der im 179er Netz. Einer davon wird fehlen.
Am Client pingst Du „NAS“ an und schaust von wem eine Antwort kommt.
Vom 178er oder vom 179er.
Oder anders: der Tunnel hat einen bestimmten DNS Server gepusht, den vom jeweiligen Standort. Ping diesen DNS Server nicht an sondern frag ab um welcher DNS Server aktuell zuständig ist (ipconfig). Der im 178er Netz oder der im 179er Netz. Einer davon wird fehlen.
Hallo,
du kannst den Standardgateway herausfinden und dann vergleichen.
Hier mal für den Anfang
for /f "tokens=*" %%i in ('ipconfig') do echo %%i
for /f "tokens=*" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i
for /f "tokens=*" %%i in ('ipconfig^|findstr "Standardgateway"') do set Adresse=%%i
pause
echo %Adresse%
pause
if Adresse = 192.168.178.x copy ...
if Adresse = 192.168.179.x copy ...
else -> geh Kaffee holen ...
PS: irgendwie sowas.
du kannst den Standardgateway herausfinden und dann vergleichen.
Hier mal für den Anfang
for /f "tokens=*" %%i in ('ipconfig') do echo %%i
for /f "tokens=*" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i
for /f "tokens=*" %%i in ('ipconfig^|findstr "Standardgateway"') do set Adresse=%%i
pause
echo %Adresse%
pause
if Adresse = 192.168.178.x copy ...
if Adresse = 192.168.179.x copy ...
else -> geh Kaffee holen ...
PS: irgendwie sowas.

Hallo,
was soll das denn werden wenn es fertig ist.
Du generierst auf beiden DNS einen gleichlautenden Eintrag, der auf die jeweils lokale IP zeigt.
Dann kopierst Du direkt auf den Hostnamen.
Ideen gibt's… Neijneijneij…
Gruß,
Jörg
was soll das denn werden wenn es fertig ist.
Du generierst auf beiden DNS einen gleichlautenden Eintrag, der auf die jeweils lokale IP zeigt.
Dann kopierst Du direkt auf den Hostnamen.
Ideen gibt's… Neijneijneij…
Gruß,
Jörg
$isTestKasse = $false
try {
$IP = Get-WmiObject win32_networkadapterconfiguration | Where-Object { $_.ipaddress -like "1*" } | Select-Object -ExpandProperty ipaddress | Select-Object -First 1
if ($IP -eq "192.168.200.80") {
$isTestKasse = $true
}
} catch {}
So z.B. ob es meine Testkasse ist.
Oder kurz $IP ist dann die IP .... Ginge auch mit WMI.
Powershell....
Laptop hat normal ja nur 2x stellen. Ethernet und WLAN. Du kannst auch die Beschreibung abfragen. Unten mal die ungefilterte Ausgabe an einen PC wo auch VMware Worskation drauf läuft!
Damit sollte man eig. klar immer die richtige IP raus bekommen.....
Unten der nativie PS Befehl. Da hast du nur den Namen der Schnittstelle mit drin. Über WMI und Hersteller sollte es eindeutig und immer richtig sein - so hoffe ich doch mal.
Empfehle hier mal WMI.
ServiceName : rt640x64
Description : Realtek PCIe GbE Family Controller
DHCPEnabled : True
IPAddress :
DefaultIPGateway :
DNSDomain :
ServiceName : kdnic
Description : Microsoft Kernel Debug Network Adapter
Index : 0
DHCPEnabled : True
IPAddress : {172.18.0.101, fe80::3deb:edeb:5980:4963}
DefaultIPGateway : {172.18.0.254}
DNSDomain : localdomain
ServiceName : rt640x64
Description : Realtek PCIe GbE Family Controller
Index : 1
DHCPEnabled : True
IPAddress :
DefaultIPGateway :
DNSDomain :
ServiceName : rtump64x64
Description : Realtek USB GbE Family Controller
Index : 2
DHCPEnabled : True
IPAddress : {192.168.9.1, fe80::cc7a:8559:c19c:1137}
DefaultIPGateway :
DNSDomain :
ServiceName : VMnetAdapter
Description : VMware Virtual Ethernet Adapter for VMnet1
Index : 3
DHCPEnabled : True
IPAddress : {192.168.67.1, fe80::684f:6a5:3874:de94}
DefaultIPGateway :
DNSDomain :
ServiceName : VMnetAdapter
Description : VMware Virtual Ethernet Adapter for VMnet8
Index : 4
Native mit PS:
Get-NetIPAddress -AddressFamily IPV4
IPAddress : 169.254.109.113
InterfaceIndex : 2
InterfaceAlias : Ethernet 4
AddressFamily : IPv4
Type : Unicast
PrefixLength : 16
PrefixOrigin : WellKnown
SuffixOrigin : Link
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 169.254.58.135
InterfaceIndex : 9
InterfaceAlias : Ethernet 3
AddressFamily : IPv4
Type : Unicast
PrefixLength : 16
PrefixOrigin : WellKnown
SuffixOrigin : Link
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 169.254.121.173
InterfaceIndex : 17
InterfaceAlias : LAN-Verbindung 4
AddressFamily : IPv4
Type : Unicast
PrefixLength : 16
PrefixOrigin : WellKnown
SuffixOrigin : Link
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 192.168.67.1
InterfaceIndex : 20
InterfaceAlias : VMware Network Adapter VMnet8
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
AddressState : Preferred
ValidLifetime : 00:17:17
PreferredLifetime : 00:17:17
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 192.168.9.1
InterfaceIndex : 6
InterfaceAlias : VMware Network Adapter VMnet1
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
AddressState : Preferred
ValidLifetime : 00:17:13
PreferredLifetime : 00:17:13
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 169.254.118.70
InterfaceIndex : 7
InterfaceAlias : LAN-Verbindung 3
AddressFamily : IPv4
Type : Unicast
PrefixLength : 16
PrefixOrigin : WellKnown
SuffixOrigin : Link
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 169.254.139.134
InterfaceIndex : 12
InterfaceAlias : Ethernet 2
AddressFamily : IPv4
Type : Unicast
PrefixLength : 16
PrefixOrigin : WellKnown
SuffixOrigin : Link
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 172.23.133.4
InterfaceIndex : 15
InterfaceAlias : LAN-Verbindung 2
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
AddressState : Preferred
ValidLifetime : 364.17:11:18
PreferredLifetime : 364.17:11:18
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 172.18.0.101
InterfaceIndex : 4
InterfaceAlias : Ethernet
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Dhcp
SuffixOrigin : Dhcp
AddressState : Preferred
ValidLifetime : 01:12:17
PreferredLifetime : 01:12:17
SkipAsSource : False
PolicyStore : ActiveStore
IPAddress : 127.0.0.1
InterfaceIndex : 1
InterfaceAlias : Loopback Pseudo-Interface 1
AddressFamily : IPv4
Type : Unicast
PrefixLength : 8
PrefixOrigin : WellKnown
SuffixOrigin : WellKnown
AddressState : Preferred
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : False
PS:
Du kannst den Adapter Namen ja ändern! Statt Ethernet 1 ,2, 3 was eindeutiges nehmen.
Ohne ka VMware, oder das du ständig NIC änderst bleibt das meist eh immer gleich. Achte auf DHCP und somit nur 1x IP für den Adapter.
Dann sollte auch dieser Einzeiler seinen Zweck vollkommen erfüllen!
Get-NetIPAddress -AddressFamily IPV4
Du kannst den Adapter Namen ja ändern! Statt Ethernet 1 ,2, 3 was eindeutiges nehmen.
Ohne ka VMware, oder das du ständig NIC änderst bleibt das meist eh immer gleich. Achte auf DHCP und somit nur 1x IP für den Adapter.
Dann sollte auch dieser Einzeiler seinen Zweck vollkommen erfüllen!
Zitat von @117471:
Hallo,
was soll das denn werden wenn es fertig ist.
Du generierst auf beiden DNS einen gleichlautenden Eintrag, der auf die jeweils lokale IP zeigt.
Dann kopierst Du direkt auf den Hostnamen.
Ideen gibt's… Neijneijneij…
Gruß,
Jörg
Hallo,
was soll das denn werden wenn es fertig ist.
Du generierst auf beiden DNS einen gleichlautenden Eintrag, der auf die jeweils lokale IP zeigt.
Dann kopierst Du direkt auf den Hostnamen.
Ideen gibt's… Neijneijneij…
Gruß,
Jörg
Hallo,
Sorry, das war nur ein Beispiel, was ich von einem anderen Thread kopiert habe, wollte nur zeigen, dass es über das Gatewa herauszufinden ist.
Der nachfolgende User hat es besser gemacht.