![]() |
![]() |
![]() |
|
Как получить IP адрес в 1С компьютера? Ø |
☑ | ||
---|---|---|---|---|
0
РДС
19.10.06
✎
13:56
|
Или нужно использовать внешние модули?
|
|||
1
VZ
19.10.06
✎
13:58
|
Какой интересует?
|
|||
2
asady
19.10.06
✎
14:02
|
ipconfig >out.txt
командаСистемы анализ файла out.txt |
|||
3
Alias
19.10.06
✎
14:09
|
А через WScript.Network и ComputerName нельзя?
|
|||
4
Lexusss
19.10.06
✎
14:11
|
ВвестиСтроку(Адрес,"Какой у ВАс адрес?",100);
|
|||
5
Alias
19.10.06
✎
14:12
|
Да, действительно можно.
Вот ссылка. http://1c.realnet.ru/kuban/169210.html (с) DeiMos |
|||
6
Alias
19.10.06
✎
14:15
|
Или в .Network нет методов получения айпишника? Было бы странно. Честно говоря, не знаю всех возможностей. Поищу...
|
|||
7
user1C
19.10.06
✎
14:19
|
(6)
в нетворк нет |
|||
8
Alias
19.10.06
✎
14:43
|
Да, действительно нет...
поискал, всё какая-то ерунда. через (2) проще. :) |
|||
9
Мутабор
19.10.06
✎
14:44
|
WMI юзай.
|
|||
10
andrewalexk
20.10.06
✎
10:18
|
(9)
:) кстати насчет wmi не могу понять можно ли считать все папки компьютера в сети? |
|||
11
Fynjy
20.10.06
✎
10:59
|
Можно
|
|||
12
andrewalexk
20.10.06
✎
11:02
|
(11)
:) примерчик бы из книжки михайлова не понял как.. |
|||
13
2Green
20.10.06
✎
11:04
|
а чем имя компа хуже?
|
|||
14
Fynjy
20.10.06
✎
11:12
|
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colShares = objWMIService.ExecQuery("Select * from Win32_Share") For each objShare in colShares Wscript.Echo "AllowMaximum: " & vbTab & objShare.AllowMaximum Wscript.Echo "Caption: " & vbTab & objShare.Caption Wscript.Echo "MaximumAllowed: " & vbTab & objShare.MaximumAllowed Wscript.Echo "Name: " & vbTab & objShare.Name Wscript.Echo "Path: " & vbTab & objShare.Path Wscript.Echo "Type: " & vbTab & objShare.Type Next |
|||
15
andrewalexk
20.10.06
✎
11:17
|
(14)
:) класс! а strcomputer это \.\ или имя типа \\***? спс |
|||
16
andrewalexk
20.10.06
✎
11:34
|
(14)
:) пытаюсь привести выполнение к стандартному варианту: strComputer = "."; ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ScrptCtrl.AddCode(" |Function GetFolders() | strInfo=vbNullString | Set objWMIService = GetObject(""winmgmts: {impersonationLevel=impersonate}!\\"+strComputer+"\root\cimv2"") | Set colShares = objWMIService.ExecQuery(""Select * from Win32_Share"") | For each objShare in colShares | strInfo = strInfo & objShare.Name & vbCrLf | Next | GetFolders = strInfo |End Function |"); Текст=ScrptCtrl.Run("GetFolders"); .. не работает.. |
|||
17
andrewalexk
20.10.06
✎
11:56
|
(14)
:) урря спс заработало |
|||
18
smaharbA
20.10.06
✎
11:56
|
(16) может это и "стандартный" вариант, но уж больно некрасивый...
|
|||
19
smaharbA
20.10.06
✎
14:53
|
(16) а воопчето можно прям в 1С получать эти коллекции и их свойства
без этого строчного вида, причем незная заранее какие есть названия свойств, типа Name,Caption,Path и т.д. |
|||
20
andrey995
21.10.06
✎
22:11
|
ламерский вопрос - а почему не остановиться на варианте (2) ipconfig >out.txt ?
|
|||
21
Мутабор
22.10.06
✎
07:25
|
(20) Нет гарантии что есть диск C:, да и вообще зачем делать лишние файлы если есть другие варианты. Кроме того сетевуха может быть не одна, парсить дольше.
|
|||
22
andrewalexk
23.10.06
✎
10:12
|
(19)
:)) ну я конечно далек до уровня гуру... но чем же он не красив?! хочу управление сетью в сис.конфу влить и подбираю функционал а код запроса похожий.. все выносится в системную функцию в функцию 1с и вся информация по шаблону: ИначеЕсли Номер=3 Тогда WMIАнализ("диски",,"Win32_LogicalDisk"," objItem.Name & vbTab & objItem.Description & vbTab & objItem.FileSystem & vbTab & objItem.FreeSpace & vbTab & objItem.VolumeName "); WMIАнализ("процессор",,"win32_Processor",); WMIАнализ("материнская плата",,"win32_BaseBoard",); WMIАнализ("память",,"win32_physicalMemory",); WMIАнализ("звуковая карта",,"win32_SoundDevice",); WMIАнализ("сетевая карта",,"win32_NetworkAdapter",); WMIАнализ("дисковод",,"win32_CDROMDrive",); WMIАнализ("флопповод",,"win32_FloppyDrive",); WMIАнализ("монитор",,"win32_DesktopMonitor",); WMIАнализ("видео плата",,"win32_videocontroller",); WMIАнализ("принтер",,"win32_printer",); WMIАнализ("клавиатура",,"win32_Keyboard",); WMIАнализ("манипулятор",,"win32_PointingDevice",); WMIАнализ("биос",,"Win32_BIOS",); ИначеЕсли Номер=4 Тогда WMIАнализ("ОС",,"Win32_OperatingSystem"," objItem.Name & vbTab & objItem.Caption & vbTab & objItem.WindowsDirectory & vbTab & objItem.Version "); WMIАнализ("программы",,"Win32_Product"," objItem.Name & vbTab & objItem.Vendor & vbTab & objItem.Version "); ИначеЕсли Номер=5 Тогда WMIАнализ("процессы",,"Win32_Service"," objItem.Name & vbTab & objItem.DisplayName & vbTab & objItem.PathName & vbTab & objItem.Processid & vbTab & objItem.started & vbTab & objItem.State "); WMIАнализ("автозагрузка",,"Win32_StartupCommand"," objItem.Name & vbTab & objItem.Command & vbTab & objItem.Description & vbTab & objItem.Location & vbTab & objItem.User "); ИначеЕсли Номер=6 Тогда wshNetwork = СоздатьОбъект( "WScript.Network"); wshShell = СоздатьОбъект("WScript.Shell"); Пока wshNetwork.username = "" Цикл КонецЦикла; User = wshNetwork.UserName; Domain = wshNetwork.UserDomain; Computer = wshNetwork.ComputerName; Сообщить("Компьютер: " + Computer); Сообщить("Домен: " + Domain); Сообщить("Пользователь: " + User); ИначеЕсли Номер=7 Тогда WMIАнализ("учетные записи сети",,"win32_Account",); ИначеЕсли Номер=8 Тогда WMIАнализ("анализ папок сетевого компьютера ",ВыбКомп,"Win32_Share"," objItem.Name & vbTab & objItem.AllowMaximum & vbTab & objItem.Caption & vbTab & objItem.MaximumAllowed & vbTab & objItem.Path & vbTab & objItem.Type "); .. |
|||
23
andrewalexk
23.10.06
✎
10:14
|
(19)
:) ну я не знаю все классы win32, их объекты и свойства..для 8.0 есть методика получения в Михайлове..а для 7.7 нет.. |
|||
24
smaharbA
23.10.06
✎
10:15
|
а и ненада знать...
... //******************************************* Функция Win32_X(Путь="Win32_process",Фильтр="name='1CV7S.EXE'",Компьютер=".") Если ПустоеЗначение(Фильтр)=1 Тогда Ф=""; Иначе Ф= "Where "+Фильтр; КонецЕсли; Сп=СоздатьОбъект("СписокЗначений"); Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.Language="javascript"; Локатор=СоздатьОбъект("wbemscripting.swbemlocator"); Сервис=Локатор.ConnectServer(Компьютер,"root\cimv2"); Коллекция=Сервис.ExecQuery("Select * from "+Путь+" "+Ф); Если Коллекция.count=0 Тогда Сп.ДобавитьЗначение("Ненайдены экземпляры","Select * from "+Путь+" "+Ф); Возврат Сп; КонецЕсли; Скрипт.AddObject("Коллекция",Коллекция); Перечисленные=Скрипт.Eval("new Enumerator(Коллекция)"); Свойства=Перечисленные.item(0).Properties_; Скрипт.AddObject("Свойства",Свойства); Пока Перечисленные.atEnd(0)=0 Цикл ПеречисленныеСвойства=Скрипт.Eval("new Enumerator(Свойства)"); Пока ПеречисленныеСвойства.atEnd(0)=0 Цикл Стр=ПеречисленныеСвойства.item(0).name; Сп.ДобавитьЗначение(Перечисленные.item(0).Properties_.Item(Стр).Value,Стр); ПеречисленныеСвойства.moveNext(0); КонецЦикла; Перечисленные.moveNext(0); КонецЦикла; Возврат Сп; КонецФункции Процедура Сформировать() Перем Стр; Сп=Win32_X("Win32_Share",""); ТекстВывода=""; Для к=1 По Сп.РазмерСписка() Цикл Сп.ПолучитьЗначение(к,Стр); ТекстВывода=ТекстВывода+Стр+": "+Сп.ПолучитьЗначение(к)+РазделительСтрок; КонецЦикла; Предупреждение(ТекстВывода); КонецПроцедуры // Сформировать |
|||
25
andrewalexk
23.10.06
✎
10:38
|
(24)
:) мучо грасиас... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |