Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Помогите узнать текущий IP-адрес компьютера в локальной сети в скрипте

Ответить
Настройки темы
CMD/BAT - Помогите узнать текущий IP-адрес компьютера в локальной сети в скрипте

Пользователь


Сообщения: 68
Благодарности: 7

Профиль | Отправить PM | Цитировать


и загнать его в переменную

Столько всего перепробЫвал - не выходит каменный цветочек (((
А время поджимает

Нужно исключительно для BAT/CMD

Спасибо!

Отправлено: 15:22, 15-10-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата NoIZz:
Столько всего перепробЫвал »
Перечислите, что именно «перепробовали».

Сетей может быть несколько. IP-адресов — тоже.

Отправлено: 16:22, 15-10-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 68
Благодарности: 7

Профиль | Отправить PM | Цитировать


Отвечаю
поиск тут
нашел много разных - но в одних условиях работают - в других нет
а если например у машины 2 ифейса то скрипты выдают всякую шнягу
а если на 7ке используется 2 ip на интерфейсе?

мне нужен первый ip приоритетного интерфейса

и что бы работало на 7, vista и xp

http://forum.oszone.net/thread-187989.html

Вот это не везде и не у всех работает

Руками в 20 школах (бесплатно - тк благотворительно) настроить почти 1000 хостов - руками - - да еще удаленно - я и мои коллеги повесятся (((

Отправлено: 16:55, 15-10-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата NoIZz:
мне нужен первый ip приоритетного интерфейса »
Что есть «интерфейс», и по каким признакам Вы определяете, что он «приоритетный»?

Цитата NoIZz:
и что бы работало на 7, vista и xp »
Тогда Вам лучше использовать консольный скрипт WSH, наподобие:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx

Dim strIPAddress


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

For Each objSWbemObjectEx In objSWbemServicesEx.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration Where IPEnabled = 'True'")
	For Each strIPAddress In objSWbemObjectEx.IPAddress
		WScript.Echo strIPAddress
		
		Exit For
	Next

	Exit For
Next

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0

— первый встретившийся адрес на первом из включённых адаптеров, в виде:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (
	`2^>nul cscript.exe //nologo "0001.vbs"`
) do set sIPAddress=%%~i

if defined sIPAddress echo IP Address: [%sIPAddress%]

endlocal
exit /b 0

Хотя, на мог взгляд, проще всё целиком сделать на WSH.

Отправлено: 18:56, 15-10-2013 | #4


Ветеран


Contributor


Сообщения: 2726
Благодарности: 1696

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
cls

FOR /F "usebackq tokens=2 delims=[]" %%i IN (`Ping -4 -n 1 %computername%`) DO Set Ip=%%i & GoTo :Continue
:Continue
Echo %Ip%
Вроде бы работает (проверил на 7 и на xp)
Тестировал на компьютере не в домене.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 16-10-2013 в 10:34. Причина: Уточнил ответ после замечания NoIZz


Отправлено: 20:00, 15-10-2013 | #5


Пользователь


Сообщения: 68
Благодарности: 7

Профиль | Отправить PM | Цитировать


megaloman, Компы в домене - ip соотвественно ближайшего контроллера - их 3
если делать через %COMPUTERNAME%.%userdnsdomain% - то на 7ке - если включен ipv6 лезет v6й ipшник

Отправлено: 22:00, 15-10-2013 | #6


Пользователь


Сообщения: 68
Благодарности: 7

Профиль | Отправить PM | Цитировать


FOR /F "usebackq tokens=2 delims=[]" %%i IN (`Ping -4 -n 1 %computername%.%userdnsdomain%`) DO Set IP=%%i & GoTo :Continue
:Continue
так работает
но не под системной учеткой
хотя - это обойдем

Отправлено: 22:16, 15-10-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Помогите узнать текущий IP-адрес компьютера в локальной сети в скрипте

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] TMG2010. Wpad.dat. Неправильный ip адрес в скрипте. Diesel315 ISA Server / Microsoft Forefront TMG 1 09-11-2012 22:20
Прочее - Как узнать текущий IP адрес хоста? dmitryst Сетевые технологии 2 23-03-2012 23:44
Прочее - на ip адрес текущего компьютера зарегистрировано другое имя в сети sagepro Сетевые технологии 1 14-05-2010 20:00
Печать - [решено] ПОМОГИТЕ! Как узнать кто использует мой IP адрес в сети? Zibit Сетевые технологии 9 29-12-2009 12:59
Как узнать свой IP-адрес Asilak Хочу все знать 16 22-10-2004 09:34




 
Переход