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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

   

cetael

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

Цитата:
 

 
Например можно так, но предупреждения не отобразится на мониторе пользователя, а наоборот отобразится на мониторе сервера. А требуется что именно пользователь был предупрежден. Ест варианты?. Заранее спасибо всем.  
----------------------------------------------------
 
Dim strComputer, OperationMode, strUsername, strPassword
 
'Remote computername or IP
strComputer="172.5.5.155"
 
'Specify the OperationMode (0 = Restart, 1 = Logoff, 2 = Shutdown)
OperationMode = 2
 
'Credentials
strUsername = "Administrator"
strPassword = "password"
 
'put computername into uppercase
strComputer = UCase(strComputer)
 
'Perform the operation on remote PC
Call OperationAction
 
Sub OperationAction
    On Error GoTo 0
    Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
 Set objSWbemServices = objSWbemLocator.ConnectServer _
      (strComputer, "root\cimv2", strUsername, strPassword)
 objSWbemServices.Security_.ImpersonationLevel = 3
 
'Call WMI query to collect parameters for reboot action
    'Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//"_
     '& strComputer & "/root/cimv2").ExecQuery("select * from Win32_OperatingSystem"_
     '& " where Primary=true")
 
Set OpSysSet = objSWbemServices.ExecQuery("select * from Win32_OperatingSystem"_
    & " where Primary=true")
 
Dim OpSysSet, OpSys
 
'Set PC to reboot
If OperationMode = 0 Then
        For each OpSys in OpSysSet
            opSys.Reboot()
        Next
 
'Set PC to logoff
ElseIf OperationMode = 1 Then
 
        Const EWX_LOGOFF = 0
        For each OpSys in OpSysSet
            opSys.win32shutdown EWX_LOGOFF
        Next
 
'Set PC to shutdown
ElseIf OperationMode = 2 Then
        For each OpSys in OpSysSet
        WScript.Echo("Power failure. The computer will be automatically shutting down after 3 min. Please save your work.")
        WScript.Sleep(180000)
            opSys.Shutdown()
        Next
 
    End If
End Sub
     

Всего записей: 4 | Зарегистр. 01-03-2008 | Отправлено: 15:37 15-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cetael
Попробуй вместо WScript.Echo использовать MsgBox.

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 15:41 15-09-2010
cetael

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

Цитата:
ComradG

 

Цитата:
cetael  
Попробуй вместо WScript.Echo использовать MsgBox.

 
Тоже самое. Уже попробовал. Не получается. Предупреждения только на сервере  отобразится.  

Всего записей: 4 | Зарегистр. 01-03-2008 | Отправлено: 15:47 15-09-2010
rusik_gluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите с парсингом тесктового файла. Имеется скрипт, который читает текстовый файл с тремя столбцами (разделитель ";") и что-то делает. Нужно переделать на четыре столбца. Помогите, плс, понять принцип. Часть скрипта чтения файла в листинге:
 

Код:
 
str = filetxt.ReadLine()
ipphone = (   mid ( str , 1 , InStr(str,";")-1)   )
department = (   mid ( str , InStr(str,";") + 1 , InStr(InStr(str,";")+1,str,";")      -    InStr(str,";") -1 ) )  
title = (   mid ( str , InStr(InStr(str,";")+1,str,";") +1    , len(str) - InStr(InStr(str,";"),str,";"   ) -1  )             )
 


Всего записей: 91 | Зарегистр. 25-04-2006 | Отправлено: 15:54 16-09-2010 | Исправлено: rusik_gluk, 15:55 16-09-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rusik_gluk
Dim subStr, i, vLast
subStr = Split(str, ";")
vLast = UBound(subStr)
For i = 0 To vLast
    WScript.Echo(subStr(i))
Next

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 03:17 17-09-2010
rusik_gluk



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо, AndVGri
Как я понял, указанный код читает файл по разделителю. А это не совсем то что мне нужно. У меня четыре переменные (было три: ipphone, department и title), которым присваиваются значения прочитанного.  
 
Добавлено:
Решил задачу таким вот образом:

Код:
 
Dim separator  
separator = ";"
Dim separator_1
Dim separator_2
Dim separator_3
 
str = filetxt.ReadLine()  
separator_1 = InStr(str,separator)
separator_2 = InStr(separator_1 + 1, str, separator)
separator_3 = InStr(separator_2 + 1, str, separator)
 
ipphone                        = mid(str, 1             ,separator_1-1)
department                   = mid(str, separator_1+1 , separator_2 - separator_1 - 1)
title                              = mid(str, separator_2+1 , separator_3 - separator_2 - 1)
other                            = mid(str, separator_3+1 , len(str) - separator_3 - 1   )
 

Всего записей: 91 | Зарегистр. 25-04-2006 | Отправлено: 11:11 17-09-2010
krasoff



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
господа, подскажите пожалуйста.
имеется код

Код:
 
 
Call Crt_Xcl
xlSheet2.Name = date1
 
Public Sub Crt_Xcl
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook1 = xlApp.Workbooks.Open(source)
Set xlSheet1 = xlBook1.Worksheets("Sheet1")
xlSheet1.Copy, xlSheet1
Set xlSheet2 = xlBook1.Worksheets("Sheet1 (2)")
End Sub

 
каким образом объекты, созданные в Sub использовать дальше в коде?
Спасибо

Всего записей: 36 | Зарегистр. 20-08-2008 | Отправлено: 12:51 18-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
отказаться от подпрограммы, которая в данном случае очевидно используется для лучшей читабельности кода в ущерб быстродействия. и в ключить эту часть кода в основную программу
 
Добавлено:
кстати кажется можно объявить переменные глобальными

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:00 18-09-2010
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rusik_gluk
Я привёл пример
 
subStr = Split(str, ";")  
vLast = UBound(subStr)
If vLast > 2 Then
    pphone = subStr(0)
    department = subStr(1)
    title = subStr(2)
    other = subStr(3)
End If
 

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 13:22 18-09-2010
krasoff



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

Цитата:
Добавлено:  
кстати кажется можно объявить переменные глобальными

о! точно. объявил через Dim в начале кода и все поехало!
Спасибо bomzzz

Всего записей: 36 | Зарегистр. 20-08-2008 | Отправлено: 17:23 19-09-2010
BumerangII



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день,
 
есть необходимость, написать скрипт, который запускаясь из под пользователя с ограниченными правами производил правку в реестре.
 
вот
Код:
Option Explicit
Dim userVar, compVar, WshShell, WshSysEnv, Value
set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("process")
userVar=WshShell.ExpandEnvironmentStrings("%USERNAME%")  
compVar=WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
 
 
if userVar="test" then
 
dim oShell
set oShell= Wscript.CreateObject("WScript.Shell")
oShell.Run "runas /noprofile /user:%COMPUTERNAME%\administrator ""reg.exe"" add ""HKLM\SOFTWARE\KN3"" \/v DefaultUserName \/t REG_SZ \/d admin \/f"""""
WScript.Sleep 100
oShell.Sendkeys "localadmin~"
 
Else
MsgBox compVar
 
End If
 
Wscript.Quit
который мне удалось соорудить.
Сам я не силен в программировании, так, что приходиться гуглить, чтобы что-то написать. Искать так сказать готовые решения.
 
Спасибо за помощь

Всего записей: 88 | Зарегистр. 14-12-2005 | Отправлено: 14:11 22-09-2010 | Исправлено: BumerangII, 14:20 22-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BumerangII
Дядь, а с чего ты взял, что из под гостя HKLM можно править?

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 17:06 22-09-2010
BumerangII



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
так я и хочу запустить с правами администратора и поправить

Всего записей: 88 | Зарегистр. 14-12-2005 | Отправлено: 17:28 22-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BumerangII
А пароль админа-то вводишь?

Код:
WSHShell.Run "runas.exe /user:%COMPUTERNAME%\USER /p:PASSWORD...

И вообще, по поводу запуска от админа я уже писал здесь. Вместо psexec подставляешь runas и вуаля.

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 17:42 22-09-2010 | Исправлено: ComradG, 17:47 22-09-2010
BumerangII



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
runas не работает с ключем /p

Всего записей: 88 | Зарегистр. 14-12-2005 | Отправлено: 18:34 22-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BumerangII
Правильно, я runas уж лет пять как не использую, а потому и не помню какие там у него ключи.

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 11:32 23-09-2010
skimitar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
Нужен скрипт.
Который Будет Вытаскивать ИЗ Нужного OU Всех Пользователей с Атрибутами (Телефонный Номер, Офис должность Адресс ИТД) в Excel файл.
Потом Я вручную буду модифицировать атрибуты в Excel файле и обратно Загнать Все в AD.
C первым этапом я разобрался Из  AD вытаскиваю в Excel юзеров нормально.  
Информацию для юзеров модифицирую (name,mail,telephoneNumber,otherTelephone,displayName,title,department,mail,telephoneNumber,otherTelephone,mobile,homePhone")
А написать скрип для обратного загона инфы в AD не получается. Помогите пожалуйста.

Всего записей: 24 | Зарегистр. 29-11-2005 | Отправлено: 16:01 23-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skimitar
Вот тебе простой пример того, как можно вносить изменения в текстовый файл.

Код:
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile(WScript.Arguments(1), True)
Path = fso.GetAbsolutePathName(WScript.Arguments(1))
GetName = fso.GetFileName(Path)
file.WriteLine(WScript.Arguments(0))
file.Close
If fso.FileExists(Path) Then
   WScript.Echo "Создан файл с именем " & GetName
End If  

По аналогии пишется скрипт для Ecxele'к.

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 16:40 23-09-2010 | Исправлено: ComradG, 16:42 23-09-2010
skimitar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблем нету с импортом из AD в Excel, Скрипт я написал работает он нормально, Но не получается сделать скрипт Который Будет Работать обратно Импортируя Измененные данные из Excel в AD

Всего записей: 24 | Зарегистр. 29-11-2005 | Отправлено: 18:24 23-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skimitar
Дык в чем дело: парсишь данные Excel'я и перезаписываешь в AD, - тут все по приниципу на 180 градусов. А уж если ты смог
Цитата:
из AD в Excel, Скрипт я написал работает он нормально
, то и трудностей возникнуть не должно сделать скрипт-"перевертыш".

Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 19:27 23-09-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