Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZolotnikOV
msgbox year(now)&"-"&Right("0" & CStr(Month(now)),2)&"-"&Right("0" & CStr(day(now)),2)

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 15:36 17-12-2009
KDSKDS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли с помощью VBS нажимать кнопки в MediaPlyer'e?

Всего записей: 47 | Зарегистр. 18-01-2005 | Отправлено: 15:14 18-12-2009
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
C помощью SendKeys можно эмулировать нажатие любых клавиш. Только этот способ не даёт 100% гарантии, поскольку управляемое окно может теоретически потерять фокус.

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 17:45 18-12-2009
KDSKDS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как же мультимедийные клавиатуры всегда нажимают кнопки (и вызывают соответствующее действие), даже если медиаплеер не является активным окном?

Всего записей: 47 | Зарегистр. 18-01-2005 | Отправлено: 01:07 20-12-2009
miksanfree



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDSKDS
Дело не в фокусе. Дело в том, что в стандартном MediaPlyer-е кнопки не имеют хендлов. Поэтому конкретно какой-то кнопке послать щелчок не получится.
 
Есть вариант просто приблизительно послать щелчок главному окну с определенными координатами, чтобы "попасть" по нужной кнопке. Но эти координаты меняются, если растягивать и менять размеры главного окна. Это все нужно учитывать.
 
Есть еще вариант с сообщением WM_COMMAND, но это уже не нажатие клавиш.

Всего записей: 745 | Зарегистр. 28-07-2006 | Отправлено: 02:00 20-12-2009
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDSKDS
Я имел в виду клавиши стандартной клавиатуры. При этом, как правильно заметил miksanfree , щёлкать по конкретным кнопкам в медиаплеере не получится.

Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 02:36 20-12-2009 | Исправлено: vlth, 12:43 30-12-2009
SerBUser

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть скрипт, который добавляет пользователей в AD из Excel:

Код:
 
Dim objRootLDAP, objContainer, objUser, objShell
Dim objExcel, objSpread, intRow,lngFlag
Dim strUser, strOU, strSheet
Dim strCN, strSam, strFirst, strLast, strPWD
' Revision. My attributes
Dim strPDO, strEmail, strPhone, strDesc, strDispName, strTitle, strDept, strCompany, strUPN  
 
strOU = "OU=Test, " ' Не забудьте конечную запятую
strSheet = "C:\Users.xls"  
 
' Соединяемся с Active Directory, c указаным OU.
Set objRootLDAP = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://" & strOU & "dc=test-domain,dc=ru")
 
' Открываем лист Excel. Если на компьютере не установлен Excell - ОБЪЕКТ НЕ СОЗДАСТСЯ!!!
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open(strSheet)
intRow = 2 'Строка 1 содержит заголовки.  
 
' Цикл 'DO...Loop' который читает ячейки
' Помните, что значения "x" в (intRow, x) должны соответствовать столбцам в strSheet
Do Until objExcel.Cells(intRow,1).Value = ""
   strSam = Trim(objExcel.Cells(intRow, 1).Value)
   strCN = Trim(objExcel.Cells(intRow, 2).Value)  
   strDispName = Trim(objExcel.Cells(intRow, 3).Value)
   ' Создаем пользователя по данным из strSheet.
   Set objUser = objContainer.Create("User", "cn=" & strCN)
   objUser.sAMAccountName = strSam
   objUser.displayName = strDispName
   objUser.SetInfo  
   ' Отдельная секция для включения аккаунта и установки пароля
   objUser.userAccountControl=66048
   objUser.pwdLastSet = 0
   objUser.SetInfo  
 
intRow = intRow + 1
Loop
objExcel.Quit  
WScript.Quit  
' Конец
 

Все замечательно экспортируется - есть одно НО - свойство objUser.userAccountControl=65536 выставляет в свойствах учетки "Срок действия пароля не ограничен". Никак не могу сделать, чтоб выставлялись две галочки - "Срок действия пароля не ограничен" и "Запретить смену пароля пользователем". В ADSI смотрел - этот параметр должен быть 66048, но почему-то не прокатывает - все равно галочка только одна - "Срок действия пароля не ограничен". Подскажите, как быть?

Всего записей: 124 | Зарегистр. 31-08-2009 | Отправлено: 11:38 21-12-2009
niichavo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerBUser

Цитата:
Никак не могу сделать, чтоб выставлялись две галочки - "Срок действия пароля не ограничен" и "Запретить смену пароля пользователем"

Управление свойствами UserAccountControl с использованием флагов контроля учетных записей

Цитата:
PASSWD_CANT_CHANGE
Примечание Данное разрешение невозможно назначить при помощи прямой правки атрибута UserAccountControl. Для получения сведений о назначении разрешения программным путем см. раздел «Описание флагов свойств».     0x0040    64

 
 
Добавлено:
Modifying User Cannot Change Password (WinNT Provider)

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 13:33 21-12-2009
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
У меня есть такой скрипт:
 
Set Processes = GetObject("winmgmts://localhost")  
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")  
For Each Proc In myProcEnum  
If Proc.Name = "Процесс.exe" Then  
Proc.Terminate  
End If  
Next
 
Вопрос: можно ли сие творение запихать в бесконечный цикл с таймаутом, что бы допустим проходит 2 минуты и если "Процесс.exe" опять появился, то скрип его убивал и так бесконечно?

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 12:57 23-12-2009
vlth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
quakerock

Код:
do
'Ваш код
'...
wsh.sleep 120000
loop  


Всего записей: 258 | Зарегистр. 22-01-2008 | Отправлено: 13:19 23-12-2009
quakerock



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlth
 
Большое спасибо.

Всего записей: 29 | Зарегистр. 08-07-2009 | Отправлено: 14:34 23-12-2009
Esserg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос: как сделать скрипт который бы, по порядку:
1) экспортировал ветки реестра пользователя под которым зашли  
(например (User1), Пароль 123) группа Administrator,
2) автоматически создавал второй профиль (User2) с таким же паролем но в группе Users
3) делал бы профиль User2 профилем по умолчанию (т.е. чтобы его имя было сразу написано всегда в окне логина)
4) запускал logoff из профиля user1
5) при входе в систему под user2 (пароль вводим сами) импортировал всё что было сохранено в п.1.
и копировал всё что получится (не задавая вопросов) из C:\Documents and Settings\User1\ в C:\Documents and Settings\User2\
 
Это нужно вот для чего: есть сеть (Novell client + win XP на компах), создаём на каждом компе новый профиль и преносим в него все настройки со старого.
 
Создать профиль из коммандной строки не проблема, это я могу. А вот реестр и всё остальное автоматизировать не получается.
 
нашел тему про копирование пользователей http://forum.ru-board.com/topic.cgi?forum=8&topic=35142  
 
И вообще возможно ли это сделать с помощью *.vbs и батников, если да подскажите пожалуйста как.

Всего записей: 1 | Зарегистр. 23-12-2009 | Отправлено: 16:46 23-12-2009 | Исправлено: Esserg, 16:56 23-12-2009
SerBUser

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как получить список всех organizationalUnit в домене, включая вложенные?

Всего записей: 124 | Зарегистр. 31-08-2009 | Отправлено: 09:41 24-12-2009
niichavo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerBUser

Цитата:
Подскажите, как получить список всех organizationalUnit в домене, включая вложенные?


Код:
Const ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
 
objCommand.CommandText = _
    "SELECT Name, ADsPath FROM 'LDAP://dc=твой,dc=домен'" & _
        " WHERE objectCategory='organizationalUnit' ORDER BY Name"  
Set objRecordSet = objCommand.Execute
 
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    WScript.StdOut.WriteLine objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 11:18 24-12-2009
Hugo121

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, чем заменить ExeScript для компиляции vbs2exe - но чтобы корректно определял путь к скрипту, а не так, как VbsEdit...
В ExeScript вирус в windows.pe сидит, или с новыми базами сканер клинит, но результат один - не работают скомпилированные скрипты...
Или как выкрутиться? Может этот пе есть нормальный?

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 22:28 26-12-2009
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 01:34 03-01-2010 | Исправлено: lorents, 01:36 03-01-2010
garri671



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!  
Подскажите как выгрузить в файл всех пользователей домена (логин и ФИО), работающих в данный момент. Админские полномочия есть, AD в наличии. Заранее благодарен.

Всего записей: 133 | Зарегистр. 18-07-2007 | Отправлено: 13:12 11-01-2010 | Исправлено: garri671, 13:13 11-01-2010
JekaRus

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть очень хороший способ получения даты в нужном формате на батнике
FOR /F "tokens=1,2,3 delims=./ " %%i IN ('date /t') DO Set mytime=%%k.%%j.%%i
Как это сделать на vbs?

Всего записей: 1046 | Зарегистр. 10-08-2005 | Отправлено: 12:32 12-01-2010
Hugo121

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я такой код пользовал:

Код:
 
vremja = Split((Replace((Date() & "." & Time()), ":", ".")), ".")
'msgbox vremja(0) 'date
'msgbox vremja(1) 'month
'msgbox vremja(2) 'year
'msgbox vremja(3) 'hour
'msgbox vremja(4) 'min
'msgbox vremja(5) 'sec
   
mytime = vremja(2) & "." & vremja(1) & "." & vremja(0) & "." & vremja(3) & vremja(4) & vremja(5)
 
msgbox mytime
 

 
Так про замену ExeScript никто ничего не знает?

Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 17:32 12-01-2010
niichavo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hugo121

Цитата:
Так про замену ExeScript никто ничего не знает?

VBS2EXE - утилита для компиляции vbs и js скриптов в exe выдранная из пакета PrimalScript

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 22:15 12-01-2010
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru