Mam konfigurację serwera Windows, w której chciałbym dynamicznie uzyskiwać adres IP serwera Wi-Fi.
Problem polega na tym, że ipconfig zwraca ogromny ciąg znaków, a skrypt, którego używam, potrzebuje adresu natychmiast. Czy jest jakieś polecenie, aby od razu to uzyskać? Jestem otwarty na pomysł zewnętrznego skryptu .bat lub oprogramowania mini CLI, które mogę zainstalować na serwerze, aby mój skrypt rozmawiał z tym skryptem w celu uzyskania adresu IP przez sieć Wi-Fi.
command-line
ip
vDog
źródło
źródło
Odpowiedzi:
W Powershell 2.0 i nowszych:
Zwróć uwagę, że da ci to wszystkie adresy IP na komputerze, istnieje możliwość filtrowania, aby odizolować tylko adres IPv4.
źródło
Trzeba uzyskać pewne informacje z systemu, aby uzyskać to działa idealnie. Wmic poda te informacje, jeśli poprosisz o to we właściwy sposób.
wmic nicconfig
poda informacje o wszystkich adapterach, niestety zakończone wierszem, którego notatnik nie może odczytać. Uruchomwmic nicconfig > file.txt
i otwórz plik.txt w notatniku ++ - Musisz znaleźć kolumnę o nazwie „Caption”. W moim przypadku jest to napisane[00000000] Qualcomm Atheros AR9485 Wireless Network Adapter
- możesz użyć tego do wyszukiwania informacji o tym konkretnym adapterze.Uruchomienie
wmic nicconfig where Caption="[00000000] Qualcomm Atheros AR9485 Wireless Network Adapter" get ipaddress
wyeksportuje wartości adresów IP lub tego konkretnego interfejsu w formacie{"192.168.1.137", "fe80::XXXX:XXXX:XXXX:XXXX"}
(uruchamiam podwójny stos). Możesz po prostu użyć czegoś takiego jak cięcie GNU lub innego narzędzia, aby usunąć niepotrzebne znaki z wydruku.Jak wskazano w komentarzach, PowerShell prawdopodobnie zrobi to wszystko, w tym pobieranie informacji z WMI i pobieranie informacji
źródło
Możesz zmodyfikować poniższe, aby dopasować do swoich potrzeb.
źródło