Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование "удобняшек" на VBScript

Автор: Posochov
Дата сообщения: 22.03.2008 11:05
Хочу управлять сервисом "Kaspersky Internet Security 7.0"
Беру пример:

Цитата:
Set objShellApp = CreateObject("Shell.Application")
ServiceName = """Kaspersky Internet Security 7.0"""
If objShellApp.IsServiceRunning(ServiceName) Then
MsgBox "Сервис " & ServiceName & " запущен!", vbInformation
Else
MsgBox "Сервис " & ServiceName & " НЕ запущен!", vbInformation
End If


Выяснилось, что в данном случае метод не понимает имя сервиса с пробелами.
Это можно побороть?
Автор: The_gray_Cardinal
Дата сообщения: 22.03.2008 11:12
Posochov
В чём именно выражается "непонимание" имени сервиса с пробелами?
У меня нет Kaspersky. Можешь привести пример более популярного "сервиса с пробелами", чтобы я мог проверить "непонимание" у себя?

Добавлено:
loplop777
Есть консольная утилита, которую вполне можно вызвать из VBS:

Код: nircmd.exe monitor off|on|low
Автор: Posochov
Дата сообщения: 22.03.2008 11:31
The_gray_Cardinal
Цитата:
В чём именно выражается "непонимание" имени сервиса с пробелами?

Оно выражается в том, что все время выдает:

Цитата:
MsgBox "Сервис " & ServiceName & " НЕ запущен!", vbInformation

хотя сервис запущен.

А на примере сервиса "MySQL" - все работает.
Отсюда и вывод, что пробелы он не читает.
Если запускать сервис так:

Цитата:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("cmd.exe /c net start ""Kaspersky Internet Security 7.0""",0,True)

То здесь, заключение имени сервиса в кавычки помогает, но в таком способе мне нехватает некоторых функций, в частности нет аналога метода "CanStartStopService".

Цитата:
пример более популярного "сервиса с пробелами"

Уж не знаю о популярности - "Служба времени Windows", например.
А потом, посмотри сам в своих службах, какие у тебя там есть службы с пробелами.
Автор: The_gray_Cardinal
Дата сообщения: 22.03.2008 12:40
Posochov
Сейчас попробовал - имхо, дело не в пробелах. Надо брать не "Выводимое имя", а "Имя службы". Например, вместо "Служба времени Windows" надо указывать "W32Time" - тогда всё работает.
Автор: Posochov
Дата сообщения: 22.03.2008 13:03
The_gray_Cardinal
Цитата:
имхо, дело не в пробелах. Надо брать не "Выводимое имя", а "Имя службы".

Ты молоток.
Спасибо большое.

PS
А дело все таки в пробелах.
Просто в "Имя службы" их нет.
Автор: Tadpole
Дата сообщения: 24.03.2008 10:57
Обращаюсь за помощью, в топике подобных примеров не нашел и искания по инету ни к чему не привели.
Необходимо написать скрипт, который будет определять свободное место на диске, отправлять его значение на указанный почтовый адрес, а так же сравнивать с эталонным значением, и если размер меньше эталона выполнять команду. (отправка сообщения на сервер HP Openview)
Сделать надо быстро, а я изучал в свое время VBA и сделал на нем, а в VBS теперь переделать что-то никак.

кто что подскажет?
Автор: alroy
Дата сообщения: 27.03.2008 10:53
Tadpole
Вот лови а дальше сам делай

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str


Автор: pazdak
Дата сообщения: 31.03.2008 15:44
Помогите кто знает, как в VBScript ПРАВИЛЬНО реализовать в Excel "Проверку данных" с условием проверки "Список"
Если сделать запись макроса, то получаем такой код:

Код: With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=YESNO"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Автор: alexio
Дата сообщения: 31.03.2008 19:21
подскажите как скриптом візвать удаление приложение
в названии которого есть определенное слово
очень надобно
Автор: valerka78
Дата сообщения: 31.03.2008 21:00
Ребят подскажите скриптик на включение-отключение соединения из папки "Сетевые подключения", я нашел один подходящий но он на кнопку "Подключить", просто выводит диалоговое окно:

strNetConn = "Сетевые подключения" ' Network Connections для англ. версии ОС
strConn = "Relcom" ' имя или часть имени подключения
strEnable = "&Подключить" ' En&able для англ. версии ОС
strDisable = "&Отключить" ' Disa&ble для англ. версии ОС

Set objShell = CreateObject("Shell.Application")
Set objCP = objShell.Namespace(3) ' Панель управления
For Each elem in objCP.Items
If elem.Name = strNetConn Then
' получение папки "Сетевые подключения"
Set colNetwork = elem.GetFolder
Exit For
End If
Next

Set Conn = Nothing
For Each clsConn in colNetwork.Items
If Instr(LCase(clsConn.name), LCase(strConn)) Then
' получение указанного подключения
Set Conn = clsConn
Exit For
End If
Next
If Conn Is Nothing Then
WScript.Echo "Network Connection not found"
WScript.Quit
End If

bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb in Conn.verbs
' если доступен глагол "Enable", подключение отключено
If clsVerb.Name = strEnable Then
Set objEnable = clsVerb
bEnabled = False
End If
' если доступен глагол "Disable", подключение подключено
If clsVerb.name = strDisable Then
Set objDisable = clsVerb
End If
Next

If bEnabled Then
objDisable.DoIt
strStatus = "disabled."
Else
objEnable.DoIt
strStatus = "enabled."
End If
WScript.Sleep 1000
Автор: Nagual
Дата сообщения: 31.03.2008 23:34
valerka78
почему бы не заюзать утилиту cnic
cnic home-local -d &&cnic home-local -c
где
home-local — название подключения (желательно на инглише, ибо возможны глюки, если оно на русском)
Автор: loplop777
Дата сообщения: 01.04.2008 08:51
Люди это сос!вот что надо написать-При установке ПО, запись в файл на общем ресурсе: имя компьютера, пользователь, дата, время, название ПО!все через vbs надо!
Автор: valerka78
Дата сообщения: 01.04.2008 15:06
Nagual
мммм... благодарность
Автор: alexio
Дата сообщения: 02.04.2008 10:16
вопрос есть структура
произвольный диск----
|
папка "А"-----
|
папка "В"

Скрипт находится в папке "В" а запускать *.exe нужно с папки "А"

Как єто реализовать не пойму ....
Автор: Nagual
Дата сообщения: 02.04.2008 23:25
alexio
vbs
..\*.exe
js
..\\*.exe
букву э как то в другую сторону написал)
Автор: alexio
Дата сообщения: 03.04.2008 08:21
а как же путь определится ?
..\

Добавлено:
..\
насколько понимаю это текущая папка
а *.exe лежит на уровень вверх
Автор: Rush
Дата сообщения: 03.04.2008 09:01
alexio

Цитата:
..\
насколько понимаю это текущая папка
а *.exe лежит на уровень вверх

Нет, это папка на уровень вверх. Текущей она равна только когда оба файла лежат в корне диска...
Автор: alexio
Дата сообщения: 03.04.2008 13:42
а так тогда можно написать ?
..\progs\setup.exe
тоесть подняться наверх зайти в папку
и запустить файл?
Автор: Rush
Дата сообщения: 03.04.2008 14:24
alexio

Цитата:
а так тогда можно написать ?
..\progs\setup.exe

Так чего спрашивать? Ты пробуй, да и все дела... Это значит - папки находятся на одном уровне иерархии.
..\ - выход на 1 уровень вверх.
..\..\ - на 2 уровня
и т.д. и т.п.

Добавлено:

Цитата:
тоесть подняться наверх зайти в папку
и запустить файл?

Именно так...
Автор: alexio
Дата сообщения: 03.04.2008 14:54
фух победил всем спасибо
"начинающий "
Автор: elimS
Дата сообщения: 05.04.2008 12:34
как получить доменное имя по IP, аналог на php gethostbyname .
И наоборот IP по доменному имени
Автор: loplop777
Дата сообщения: 07.04.2008 08:34
Запуск программы и ее использование во время загрузки системы(конкретная реализация: с помощью программы Everest сделать отчет об установленном ПО, разметки жеского диска и железе для каждого компьютера)то знает как это делать подскажите!
Автор: ViSiToR
Дата сообщения: 07.04.2008 09:27

Цитата:
с помощью программы Everest сделать отчет об установленном ПО, разметки жеского диска и железе для каждого компьютера


С FAQ'а в справке Everest:


Цитата:
3. Is it possible to create reports automatically using command-line options?

Only EVEREST Corporate Edition supports command-line options. List of them can be reviewed in main menu / Help / Command-line Options. Full list of command-line options with explanation is available in the EVEREST Manual. Using command-line options it is possible to create reports with custom layout in any of the supported report formats. Created reports can be saved to file, inserted to SQL database, sent in e-mail or uploaded to a FTP server.


Т.е корпоративный Everest поддерживает параметры ком. строки, И тогда из VBS-скрипта можно будет сделать отчёт...
Автор: meskalin13
Дата сообщения: 07.04.2008 09:37
Народ подскажите как запустить скрипт через ГП с правами SYSTEM оч надо заранее спасибо.
Автор: Nervniy2000
Дата сообщения: 07.04.2008 12:11
meskalin13
1. не та ветка
2. политики \ кофигурация компьютера \ конфигурация Windows \ сценарии: запуск завершение
Автор: meskalin13
Дата сообщения: 07.04.2008 13:48
Сорри что не в ту ветку.
Скрипт там и лежит кстати.
Проблема в следущем: есть скрипт который просматривает диски, папки и подпапки, и ищет заданный по имени фаил, а потом его удаляет. И есть папки на которые есть только права SYSTEM и локальные админы, эти папки остались еще со времен когда у нас не было домена, т.е. они были созданы когда комп еще в рабочей группе был. В паре таких папок есть файлы под удаление. И когда скрипт доходит то этои папки то пишет что нет прав доступа к обьекту (файлу).
Автор: Liderdomofon
Дата сообщения: 07.04.2008 22:37
Спецы, я борюсь за то, чтоб нам в офисе разрешили пользоваться аькой. Начальство против, но мы забились что если я сделаю ЭТО то будет разрешено. Так вот, я хочу , чтобы лог аськи печатался на сетевом принтере, самом собой автоматически, например, раз в неделю, и при этом, отпечатанное бы бэкапилось скажем в зип архив в имени период, а журнал очищался. Если шеф увидит, что я реально ему могу предоставлять отчёты по аське с каждого компутера в сетке, то все будет нормально, и народ наш весь за - все заняты сугубо работой. Помогите, пожалуйста, тк сам не догоняю как вообще это можно сделать.
Автор: loplop777
Дата сообщения: 08.04.2008 08:57
Спасибо за помощь ViSiToR!Есть еще одна задача-сделать запрет на прогу любую!выгрузить я сделал а вот запрет не могу поставить!Помоги!
Автор: ViSiToR
Дата сообщения: 08.04.2008 09:21
loplop777

Цитата:
сделать запрет на прогу любую

Запрет на что? на запуск? это нужно копать системную безопасность, админские права тут в любом(?) случае нужны.
Автор: loplop777
Дата сообщения: 08.04.2008 09:38
Например на запрет игры косынка!

Добавлено:
Например на запрет запуска игры косынка!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

Предыдущая тема: Работа в Delphi c CryptoApi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.