Имя сестра!! имя компа!!

работаю кодером и приходиться поддерживать пользователей в основном бухов. знаю что ходить полезно и звонят не часто (я можно сказать на последней линии) - но много не находишься - в организации народу около полсотни юзверов, все в локалке хоть и на двух смежных этажах, но не всех в лицо знаешь и кто в каком кабинете или закутке сидит тоже. просил админов поставить bginfo или что подобное чтобы когда юзер звонит - мог внятно назвать имя компа или ип-адрес чтоб к нему по удаленке подключиться. но нет же - он групповой политикой настроил корпоративные обои и bginfo не может их перебить. вобщем хотел на с# накодить программу которая будет в трее сидеть и при наведении показывать имя компа и ип-адрес. но было лень - накодил cmd

@Echo off

cls

echo *

echo *

echo *

echo * NAME - %COMPUTERNAME%

echo *

echo *

echo *

ping /4 %COMPUTERNAME%

pause


закинул его к общим ярлыкам. адресную книгу всех ип заводить лень, да и компы сейчас у нас на новые меняют и админы не ведут записей или нам не раздают, а обзор сети закрыли от хакеров и описание компов тоже - чтоб хакеры не знали кто за каким компом сидит.

мож кто знает как элегантнее вывести ip?

Лига Сисадминов

2.6K пост19K подписчика

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Вы смотрите срез комментариев. Показать все
2
DELETED
Автор поста оценил этот комментарий

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b

set ip=%ip:~1%

echo %ip%


ну вот так например. Думаю в большинстве случаев должно сработать.


По тому же принципу можно и из пинга его брать.


Черт, как же хорошо, что у нас все пользователи обучены узнавать имя своего компьютера...


Но вообще, если это проблема - почему бы админам бгинфо не впилить, с той же копроративной обоиной? Там текст можно сделать незаметным и маленьким совсем же.


Ну или если они все такие копроративные - пускай юзерам запилят скриптягу в логонскрипт, чтобы она писала в файлик на шару пару юзернейм - компьютернейм, это тоже решило бы большую часть проблем.

раскрыть ветку (19)
1
Автор поста оценил этот комментарий

Выведет хуйню, если есть другие интерфейсы. Лучше так -

for /f "tokens=2 delims= " %%i in ('netsh interface ip show addresses "Ethernet" ^| findstr "IP"') do echo IP - %%i

раскрыть ветку (16)
0
DELETED
Автор поста оценил этот комментарий

Выведет хуйню, если интерфейс переименован (например, локалью винды) =Р


Но вообще да, так правильней конечно.

раскрыть ветку (14)
0
Автор поста оценил этот комментарий

Амм... А разве Ethernet от локали зависит? У меня вот русская.

Ручное переименование - да, все сломает. Но как с этим бороться я хз.

раскрыть ветку (13)
1
DELETED
Автор поста оценил этот комментарий

На десятке - нет, на семерке - да, влияет.


powershell.exe -noprofile "{[System.Net.DNS]::GetHostAddresses("$env:computername")).ipaddresstostring|?{(($_ -notlike '169.254.*')-and ($_ -notlike '*::*'))}"


Читерство конечно, но из консоли на ХП и выше должно сработать нормально. Мой уставший мозг смог выдать только такой ванлайнер %). Обычно люди знают в каких скопах находятся адреса юзеров, и можно написать where исходя из этого.

раскрыть ветку (12)
0
Автор поста оценил этот комментарий

Не-а.

Иллюстрация к комментарию
раскрыть ветку (11)
0
DELETED
Автор поста оценил этот комментарий

А, ну да, у кого-то не заглушка на ipv6... Ну уберите одно двоеточие в последнем условии %)

раскрыть ветку (10)
0
Автор поста оценил этот комментарий

А с двумя лишними ipv4 что делать? (:

раскрыть ветку (9)
0
DELETED
Автор поста оценил этот комментарий

А, собственно, по какой причине они лишние? Они у вас на интерфейсах висят, все-таки. Если известно, в каких сетях "правильные" айпишники - можно это указать в условиях, но блин, экстрасенсов нет. Мало ли чего юзер в свой комп понавставлял, в конце концов.


Для доменной сети можно распарсить ответ nslookup $env:computername, но без нее - прямо даже хз как эту задачу решить. Да и туда в принципе комп может заявить свои вторичные адреса на интерфейсах.

раскрыть ветку (8)
0
Автор поста оценил этот комментарий

А, собственно, по какой причине они лишние? Они у вас на интерфейсах висят, все-таки.

Ну, в моем случае это VMware.

Мало ли чего юзер в свой комп понавставлял, в конце концов.

Дык в этом и проблема.


Вот, придумал вариант с ps -


for /f "tokens=2 delims=: " %%i in ('powershell.exe -noprofile "Get-NetAdapter -Name "*" -Physical | Format-List -Property "Name""') do set interfaceName=%%i

for /f "tokens=2 delims= " %%i in ('netsh interface ip show addresses %interfaceName% ^| findstr "IP"') do echo IP - %%i


Вроде бы в случае одной физической сетевушки должно работать стабильно. Ну или все-таки костыль с пингом использовать (:

раскрыть ветку (7)
1
DELETED
Автор поста оценил этот комментарий

Get-NetAdapter не работает на 7ке, как ни странно. Даже с 5 версией павершелла. Уж не знаю, с хуя ли, но нету командлета и все тут.


Могу предложить WMI, как вариант, но там ведь черт ногу сломит, блин. Но зато где-то ведь это свойство physical должно быть там закопано? В выводе Get-CimInstance -Class Win32_NetworkAdapter есть булевое свойство isphysical например - но у меня оно и ВПНы считает физическими интерфейсами, к примеру.


Но так и это не защитит нас от добавленного айпишника а-ля netsh interface ip add address ..


Не, вообще это все хуйня. Надо спрашивать днс сервер, какой айпишник у него есть под хостнейм, а потом фильтровать вывод на предмет соответствия известным юзерским сетям. Все остальное может выдать произвольную дичь, вместе с тем, цель скрипта именно это и показать.

раскрыть ветку (6)
0
Автор поста оценил этот комментарий

консоль сила ))

0
Автор поста оценил этот комментарий

в одной организации выручал bginfo, в другой - кокой то ехе в трее. но чайники везде умудрялись тупить даже с этими вещами. а чтобы без них сообщить имя компа - это вообще миссио импосибл

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Научитесь общаться с людьми. Мы мак адреса компов по телефону узнаём. А узнать имя не сложнее.

Ну ещё можно сделать запрос сисадмина и если проигнорят решать через руководство
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества