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

28.03.11

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

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

Скачать файл

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

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

Этот скрипт, выложнный в общедоступный каталог, позволит сократить вам время на объяснение пользователю как узнать свой 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    17009    119    59    

120

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

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

15000 руб.

10.11.2023    12439    49    33    

70

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    11372    48    8    

78

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

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

14400 руб.

29.04.2020    34295    109    152    

75

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

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

3600 руб.

06.02.2017    32849    145    18    

51

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    74076    629    45    

88

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

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

3000 руб.

21.07.2022    10330    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4666 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 3970 02.04.11 01:02 Сейчас в теме
(11)
Звонит Мария Ивановна говорит что у нее 1С выдала непонятное окошко и она не знает как его описать - лезем в список

Звонит Мария Ивановна, бац правой кнопкой на на корпоративном чате на её имени, там, помимо прочего, открыть "Комп-блабла". Вот так у реальных пацанов ;)
"Вы еще кипятите? Тогда мы идем к Вам!" :D
Сервис М
23. maksa2005 556 23.11.15 11:45 Сейчас в теме
(8) cool.vlad4,
-----------------------------------
Win32_NetworkAdapterConfiguration
-----------------------------------
IPAddress: 192.168.1.200
IPAddress: fe80::7879:846:ab7:d429
Получает IPAddress сервера, а не клиента.
13. sound 536 31.03.11 10:02 Сейчас в теме
Для терминалки можете (не сочтите за рекламу) за идею взять вот эту хрень.
15. sound 536 02.04.11 09:14 Сейчас в теме
Можно пойти дальше: Звонит Мария Ивановна, и тут "оно само" бац и сразу весь расклад: распознало кто это звонит, с какого номера, ну а всякие там IP-шники это уж вообще становится ни к чему, и сразу список действий типа:
1) Ответить
2) Ответить c видео :D
3) Связать с главным бухгалтером
.....
Действие по умолчанию:
N) Послать В ... (и тут список 2-го уровня :D )
Гибкая система настроек, без внешних компонент, не гербалайф :D
16. sound 536 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 536 04.04.11 11:49 Сейчас в теме
(17) Согласен, но похоже проект мертвый, а жаль. А там разве нет примера?
19. --toxic-- 29.06.11 07:29 Сейчас в теме
А кто может подсказать, как средствами 1С проверить доступность ПК в сети?

If Unavailable(компутер) then чтото типа вот этого
20. sound 536 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 650 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 942 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С выполняются с миганием черного окна, без него возможно?
Оставьте свое сообщение