VBS скрипт показывающий IP и Hostname компьютера

28.03.11

База данных - Инструменты администратора БД

Скрипт позволяющий админу узнать IP и Hostname не сильно разбирающегося в компах пользователя.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
showipv2.vbs
.vbs 1,94Kb
159 1 850 руб. Купить
showip.vbs
.vbs 1,07Kb
42 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

Если кому понравится можете поблагодарить Яндекс.Деньгами на счет 41001634129126.

UPD 25.03.2011:

1) Добавил вывод информации о IP и Hostname клиента в терминальной сессии (showipv2.vbs)

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    36222    209    104    

197

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16645    72    39    

89

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    15686    61    10    

95

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    38141    114    152    

82

Администрирование Инструменты администратора БД Удаленное управление Системный администратор 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Расширение разработано для автоматизации интеграции «1С:Зарплата и управление персоналом (редакция 3.1)» с сервисом Яндекс 360 через платформу «n8n». Расширение позволяет автоматически создавать учетные записи Яндекс для новых сотрудников, обновлять данные существующих сотрудников и блокировать учетные записи уволенных сотрудников. Обмен данными осуществляется через API Яндекс 360 с использованием промежуточного сервера платформы n8n, что обеспечивает гибкость, масштабируемость и упрощение интеграционных процессов.

3600 руб.

03.04.2025    1177    3    0    

4

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    64297    99    59    

82

Инструменты администратора БД Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    11391    14    4    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4594 17.03.11 20:33 Сейчас в теме
Только что самому потребовалось, собрался ваять, а тут готовое.
2. mozz 149 18.03.11 09:00 Сейчас в теме
Тоже давно собирался, наконец таки руки дошли.
3. bulpi 217 24.03.11 15:11 Сейчас в теме
Чем поможет пользователю мелькнувшее черное окно? Или ему надо объяснять : набери cmd, потом имя скрипта ... Неудобно. Но все равно плюс за просвещение меня в области бейсика :)
4. mozz 149 24.03.11 15:33 Сейчас в теме
Так двойной щелчек мышкой по файлу выведет то окошко, которое у меня в иллюстрациях выложено, так что cmd пользователю набирать не надо.
5. totalcommand 26.03.11 05:53 Сейчас в теме
строчку
Set Shell = CreateObject("WScript.Shell")
целесообразно вынести за пределы блока шалости
6. mozz 149 28.03.11 09:25 Сейчас в теме
(5) Упс :D не заметил... Спасибо за подсказку, исправил.
7. mctsimco 30.03.11 12:53 Сейчас в теме
Еще парочка аналогичных вещей для 7.7:

//*******************************************
Функция глИмяДомейнЮзера() Экспорт
ТекстСкрипта = "function GenUsername()
|Dim objNet
|On Error Resume Next
|Set objNet = CreateObject(""WScript.NetWork"")
|If Err.Number <> 0 Then
|GenUsername = 0
|return
|End if
|res = trim(objNet.UserDomain) & chr(92) & objNet.UserName
|on error goto 0
|Set objNet = Nothing
|GenUsername = res
|end function" + Симв(13)+ Симв(10);

Попытка
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode(ТекстСкрипта);
ДомейнЮзер = СокрЛП(ScrptCtrl.Run("GenUsername"));
Возврат ДомейнЮзер;
Исключение
Сообщить("Ошибка оскрипта");
Сообщить(ОписаниеОшибки());
Возврат "";
КонецПопытки;
КонецФункции

//*******************************************
Функция глПроксиСервер() Экспорт
ТекстСкрипта = "function get_proxy()
|Dim WshShell_reg
|Set WshShell_reg = CreateObject(""WScript.Shell"")
|get_proxy = trim(WshShell_reg.RegRead(""HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio­n\Internet Settings\ProxyServer""))
|set WshShell_reg = Nothing
|end function" + Симв(10) + Симв(13);

Попытка
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode(ТекстСкрипта);
Результат = СокрЛП(ScrptCtrl.Run("get_proxy"));
Возврат Результат;
Исключение
Сообщить("глПроксиСервер: Ошибка получения данных из реестра");
Сообщить(ОписаниеОшибки());
Возврат "";
КонецПопытки;
КонецФункции
8. cool.vlad4 2 30.03.11 13:15 Сейчас в теме
С помощью WMI Code Creator (и респект Душелову за WMI Code Creator 1С) ушло меньше минуты

strComputer = ".";
objWMIService = ПолучитьCOMОбъект("winmgmts:\\" + strComputer + "\root\CIMV2");
colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE",,48);
Для Каждого objItem Из colItems Цикл
Сообщить("----------------------------------- ");
Сообщить("Win32_NetworkAdapterConfiguration");
Сообщить("----------------------------------- ");
Для Каждого Стр Из objItem.IPAddress Цикл
Сообщить("IPAddress: " + Стр);
КонецЦикла;
КонецЦикла;
Так, что это так...ничего особенного...
skom; Allbors; +2 Ответить
9. mozz 149 30.03.11 16:09 Сейчас в теме
(8) Да собственно я и не говорю что это что-то особенное. Просто инструмент для админа, которому надоело каждый раз объяснять юзеру как через Пуск->выполнить->cmd и т.д. узнать свой ИП (чтобы подключиться к ниму radmin`ом или чем-нибудь из той же серии).
Согласитесь - проще объяснить что нужно зайти на подключенный logon скриптом сетевой диск (например U:\) и дважды щелкнуть на скрипте.
А то что это можно реализовать и в 1С почему бы и нет - только вот надо ли?
10. cool.vlad4 2 30.03.11 16:13 Сейчас в теме
(9) В принципе да...но только зачем юзверю знать ip...чем меньше знает, тем лучше спит...пусть лучше офис изучают...и 1с, конечно...
11. mozz 149 30.03.11 16:27 Сейчас в теме
(10) Тогда нужно чтобы у всех были статические IP (т.к. DHCP может выдать другой ИП) и список типа:
Мария Ивановна 192.168.8.231
Михаил Степанович 192.168.8.215
Николай Петрович 192.168.8.88
и т.д.
Звонит Мария Ивановна говорит что у нее 1С выдала непонятное окошко и она не знает как его описать - лезем в список, ищем Марию Ивановну, подрубаемся к ней и смотрим на окошко.
12. cool.vlad4 2 30.03.11 16:37 Сейчас в теме
(11) Теперь смысл понятен...только я бы сделал утилиту, которая отсылает отчет администратору, по действию пользователя, т.е. в принципе тоже самое...через чат например можно...например через, если не отрублен , net send ... через AD - все и так в принципе понятно ...
14. Abadonna 3973 02.04.11 01:02 Сейчас в теме
(11)
Звонит Мария Ивановна говорит что у нее 1С выдала непонятное окошко и она не знает как его описать - лезем в список

Звонит Мария Ивановна, бац правой кнопкой на на корпоративном чате на её имени, там, помимо прочего, открыть "Комп-блабла". Вот так у реальных пацанов ;)
"Вы еще кипятите? Тогда мы идем к Вам!" :D
Сервис М
23. maksa2005 374 23.11.15 11:45 Сейчас в теме
(8) cool.vlad4,
-----------------------------------
Win32_NetworkAdapterConfiguration
-----------------------------------
IPAddress: 192.168.1.200
IPAddress: fe80::7879:846:ab7:d429
Получает IPAddress сервера, а не клиента.
13. sound 538 31.03.11 10:02 Сейчас в теме
Для терминалки можете (не сочтите за рекламу) за идею взять вот эту хрень.
15. sound 538 02.04.11 09:14 Сейчас в теме
Можно пойти дальше: Звонит Мария Ивановна, и тут "оно само" бац и сразу весь расклад: распознало кто это звонит, с какого номера, ну а всякие там IP-шники это уж вообще становится ни к чему, и сразу список действий типа:
1) Ответить
2) Ответить c видео :D
3) Связать с главным бухгалтером
.....
Действие по умолчанию:
N) Послать В ... (и тут список 2-го уровня :D )
Гибкая система настроек, без внешних компонент, не гербалайф :D
16. sound 538 02.04.11 10:37 Сейчас в теме
Кстати, как-то приходилось скрещивать 1С с Asterisk (http://www.buligin.com/ejauja.html), здесь тоже об этом уже не раз упоминалось, в принципе можно мутить достаточно интересные вещи типа звонить из 1С, определять кто тебе позвонил, получать кое-какую статистику и т.д. Не сказать конечно, что оно очень круто все, но кое-что из этой ВК выжать все таки можно, была бы фантазия и время...
17. mozz 149 04.04.11 11:48 Сейчас в теме
(16) Еще бы готовый работающий пример к ней а лучше исходники к этой dll ;) ...
18. sound 538 04.04.11 11:49 Сейчас в теме
(17) Согласен, но похоже проект мертвый, а жаль. А там разве нет примера?
19. --toxic-- 29.06.11 07:29 Сейчас в теме
А кто может подсказать, как средствами 1С проверить доступность ПК в сети?

If Unavailable(компутер) then чтото типа вот этого
20. sound 538 29.06.11 08:31 Сейчас в теме
(19) Да лехко:

Вариант №1:

// Функция Avaible проверяет "пингуется" ли указанный IP
Function Avaible(IP) Export
	Try
		ServicesSet = GetCOMObject("winmgmts:{impersonationLevel=impersonate}");
		Items = ServicesSet.ExecQuery("SELECT StatusCode from Win32_PingStatus WHERE address = '" + IP + "' AND Timeout=3");
	Except
		Return Undefined;
	EndTry;
	For Each Item In Items Do
		If Item.StatusCode = 0 Then
			Return True;
		Else
			Return False;
		EndIf;
	EndDo;
EndFunction // Avaible()
Показать


Вариант №2:

Function Avaible_2(IP) Export
	scrptCtrl = New COMObject("MSScriptControl.ScriptControl");
	scrptCtrl.language = "vbscript";
	scrptCtrl.addcode("
	|Function Avaible()
	|Set objWMIService = GetObject(""winmgmts:{impersonationLevel=impersonate}"")
	|Set objPing = objWMIService.ExecQuery(""select * from Win32_PingStatus where address = '" + IP + "'"")
	|For Each objStatus in objPing
	|If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
	|   Avaible = 0
	|Else
	|   Avaible = 1
	|End If
	|Next
	|End function
	|");
	Return ScrptCtrl.Run("Avaible");
EndFunction // Avaible_2()

Показать


Пилили уже эту тему тут, кстати поиском тоже ищется:
http://infostart.ru/gsearch/?cx=013045212460068984860%3Azhih0apwy_a&cof=FORID%3A9&ie=wind­ows-1251&q=ping&sa=%CD%E0%E9%F2%E8
Somebody1; +1 Ответить
21. MrWonder 653 11.09.12 11:46 Сейчас в теме
Пипец, скоро echo %COMPUTERNAME% && pause как решение будут выкладывать
Вы бы тогда дополнили Ваше "решение c плюсиком автору" отображением информации только по активному интерфейсу,
зачем инфтерфейсы без линка отражать? Благодарности не надо

Set objService = GetObject("winmgmts:\\.\root\CIMV2")

Set Interfaces = objService.ExecQuery("SELECT * FROM Win32_NetworkAdapter where NetConnectionStatus=2")
For Each Interface In Interfaces
Set IPs = objService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where caption='"&Interface.caption&"'")
For Each ip In IPs
strIPAddress = Join(ip.IPAddress, ",")
MsgBox strIPAddress
Next
Next
iuridis; user713084; +2 Ответить
22. mozz 149 19.02.13 14:08 Сейчас в теме
(21) MrWonder, вспоминается анекдот:

- Что-то не нравится мне наш вождь...
- Не нравится - не ешь.
24. пользователь 04.12.16 14:14
Сообщение было скрыто модератором.
...
25. Serginio 944 04.12.16 16:06 Сейчас в теме
Используя Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент

Использование классов .Net в 1С для новичков

DNS=Врап.ПолучитьТипИзСборки("System.Net.Dns","System.dll");
// Получение имени компьютера.
host = Dns.GetHostName();
// Получение ip-адреса.
 ip =Dns.GetHostByName(host).AddressList.get_Item(0);

Сообщить(ip.ToString());
//или
 Адреса=Dns.GetHostByName(host).AddressList:

 Для каждого адрес из Адреса Цикл
Сообщить(адрес .ToString());
КонецЦикла
Показать
26. merlin1975 2 10.01.18 11:43 Сейчас в теме
Здравия!
Так для 7.7 что-нибудь для определения IP клиента терминального подключения есть?
Попробовал многое, но получается IP только самого сервера а не клиента.
Прошу помощи.
Благодарю.
27. mozz 149 11.01.18 08:05 Сейчас в теме
(26) смотрите (7) ответ, в качестве скрипта - передавайте мой скрипт и будет Вам счастье.
28. merlin1975 2 11.01.18 08:25 Сейчас в теме
И он покажет именно клиентский IP в терминале?
29. mozz 149 11.01.18 12:01 Сейчас в теме
30. merlin1975 2 11.01.18 14:14 Сейчас в теме
"Строка: 40, Символ: 2, Ошибка: Компьютер удаленного сервера не существует или недоступен 'GetObject'"..
Как-то так...
31. merlin1975 2 11.01.18 14:54 Сейчас в теме
Попробовал с другого компа - отработал!
Теперь буду разбираться с 1С 7.7
PS Так и не понял, как это вставить в 1С 7.7.
Если можно пришлите код для !c 7.7. Просто не понимаю, что из скрипта куда правильно вставить.
Благодарю.
32. mozz 149 11.01.18 15:48 Сейчас в теме
(31) что-то типа:

WshShell = СоздатьОбъект("WScript.Shell");
Запуск = "%comspec% /c "+ИмяФайлаНаДиске+".vbs";
WshShell.Exec(Запуск);
33. merlin1975 2 11.01.18 16:11 Сейчас в теме
(32)
Хм-м... Так это как запуск стороннего приложения. А надо получить переменную с IP клиента.
У меня все (пытаюсь по-аналогии с 7 постом) пишет ошибка скрипта... Хотя Имя пользователя и компа получает правильно...
34. merlin1975 2 12.01.18 22:01 Сейчас в теме
Ещё одно но: на сервере терминалов под учеткой с правами "Пользователи удаленного рабочего стола" скрипт не отрабатывает - "Разрешение отклонено GetObject 800А0046". Попробовал через SWbemLocator - "Отказано в доступе 80070005"...
35. M_Volkov 5 18.11.20 17:48 Сейчас в теме
Все скрипты в 1С выполняются с миганием черного окна, без него возможно?
Оставьте свое сообщение