Модераторы: bartram, Akella

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полезные скрипты 
:(
    Опции темы
Akella
Дата 21.6.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 73
Всего: 329



Цитата

Существуют уже готовые скрипты:

    * prndrvr.vbs - Добавляет, удаляет и перечисляет драйверы принтера с локального или удаленных серверов печати. 
    * prnjobs.vbs - Приостанавливает, возобновляет, отменяет и перечисляет задания печати. 
    * prnmngr.vbs - Добавляет, удаляет и перечисляет принтеры или подключения принтеров, а также настраивает и отображает принтер, используемый по умолчанию.
    * prnport.vbs - Создает, удаляет и перечисляет стандартные порты TCP/IP для принтеров, а также отображает и изменяет конфигурацию порта.
    * prnqctl.vbs - Печатает пробную страницу, приостанавливает или возобновляет работу принтера и очищает очередь принтера.
    * pubprn.vbs - Настройка сетевых принтеров.
    * eventquery.vbs - Выводит список событий и их свойств из одного или нескольких журналов событий.
    * pagefileconfig.vbs - Производит отображение и настройку параметров использования виртуальной памяти файлом подкачки.
    * prncnfg.vbs - Производит настройку или отображение сведений о конфигурации принтера.


http://forum.vingrad.ru/forum/topic-160118...y1173360/0.html
PM MAIL   Вверх
mihanik
Дата 21.6.2007, 12:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Запуск скрипта/программы на удалённой машине в сети. 

Следующий сценарий демонстрирует запуск скрипта с именем 111.vbs, лежащего в корне диска с:
Тонкость в том, что машина находиться в сети, а мы знаем её имя и данные пользователя с правами админа.




Код

On Error Resume Next
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
CompName = "MyComp" 'имя компьютера
UserName = "Admin" 'имя пользователя
Pass = "bla-bla-bla" 'пароль пользователя

Set objServices = objSWbemLocator.ConnectServer(CompName, "root\CIMV2", UserName, Pass, Null, Null, 0)

If Err.Number <> 0 Then
    WScript.Echo Err.Number & ": " & Err.Description
    WScript.Quit
End If

Set objClass = objServices.Get("Win32_Process")

Res = objClass.Create("wscript.exe c:\111.vbs", Null, Null, PID)

If Res <> 0 Then
    WScript.Echo "Код ошибки: " & Res
End If



Следует заметить, что при запуске процесса вышеописанными способами (с помощью класса Win32_Process) на удалённом компьютере исключается возможность интерактивного взаимодействия пользователя с запущенной программой. Если программа открывает на удалённом компьютере визуальное окно, это окно никогда не будет доступно (окно будет всегда невидимым). Таким образом, на удалённом компьютере данный способ имеет смысл использовать лишь для пакетного запуска программ. 

Чтобы запустить на исполнение vb- или js-скрипт на удалённом компьютере, при вызове метода Create() используйте командную строку типа "wscript.exe c:\filename.vbs", при этом запускаемый файл сценария должен быть расположен на локальном диске удалённого компьютера. 





--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 21.6.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Почитайте ЗДЕСЬ.
Очень много разных вкусностей!!!


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
localhost
Дата 16.8.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород

Репутация: 37
Всего: 43



Еще один экспромт smile

Получение информации о сетевых адаптерах и отправка её по электронной почте

Код

'    Скрипт извлекает информацию о всех сетевых адаптерах, имеющихся в системе
'    и назначенным им IP адресам. Полученные сведения отправляются по e-mail
'    Для успешной отправки сообщения, редактируем секцию "Параметры конфигурации"
'    Скрипт проверенно работает на Windows XP (Home, Pro), Windows 2000 Pro (SP4)
'    Скрипт также поддерживает базовую и NTLM SMTP-аутентификацию, а также соединение
'    с SMTP сервером через SSL

'*******************************************************************
'    Основные параметры конфигурации:
     
strEmailFrom = ""    '    E-mail отправителя
strEmailTo = ""    '    E-mail получателя
strEmailSubject = ""    '    Тема сообщения
strSMTPServer = ""    '    SMTP-сервер
intSMTPPort = 25    '    Порт SMTP Сервера
strSMTPLogin = ""    '    Логин на SMTP Сервере
strSMTPPass = ""    '    Пароль на SMTP сервере

'    Дополнительные параметры конфигурации:

bSMTPUseSSL = False        '    При соединении с SMTP через SSL, необходимо изменить значение на True
intUseAuth = 1            '    Если SMTP-аутентификация не требуется, можно установить значение 0. Для NTLM аутентификации - значение  2

'********************************************************************

strComputer = "." 
Set objEmail = CreateObject("CDO.Message")

objEmail.From = strEmailFrom
objEmail.To = strEmailTo
objEmail.Subject = strEmailSubject

objEmail.Textbody = ""
 
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPServer
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = intUseAuth
objEMail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = bSMTPUseSSL
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = intSMTPPort
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusername") = strSMTPLogin
objEmail.Configuration.Fields.Item _ 
    ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strSMTPPass

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NetworkAdapterConfiguration",,48) 
For Each objItem in colItems 
    If isNull(objItem.IPAddress) Then
    Else
        strTextBody = strTextBody + vbCrLf + "Adapter: " & objItem.Caption & ", IPAddress: " & Join(objItem.IPAddress, ",")
    End If
Next

objEmail.Textbody = strTextBody
objEmail.Configuration.Fields.Update
objEmail.Send


Это сообщение отредактировал(а) Akella - 16.11.2007, 16:30
PM MAIL   Вверх
mihanik
Дата 16.8.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Получение информации о сетевых адаптерах и отправка её по электронной почте

Код

'    Скрипт извлекает информацию о всех сетевых адаптерах, имеющихся в системе
'    и назначенным им IP адресам. Полученные сведения отправляются по e-mail
'    Для успешной отправки сообщения необходим ЛЮБОЙ настроенный e-mail-клиент

' Получим данные об IP-адресах компьютера...

strMyString = ""
strMyString2 = ""
strEmail = "[email protected]"    ' ЗДЕСЬ УКАЗЫВАЕМ АДРЕС АДМИНИСТРАТОРА
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
 
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then 
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
            strMyString = strMyString & IPConfig.ServiceName (i) & ": " & IPConfig.IPAddress(i) & vbCrLf
        Next
    End If
Next

    Set IPConfigSet = Nothing
    Set objWMIService = Nothing
    
    strMyString2 = replace(strMyString, vbCrLf, "<br>")

' Запускаем  Internet Explorer 
Set IEObject = CreateObject("InternetExplorer.Application")

' Проверяем есть ли проблемы при запуске
If Err.Number <> 0 then
    MsgBox "Во время запуска Internet Explorer возникла проблема."
    WScript.Quit
End If

' Устанавливаем свойства Internet Explorer 
    IEObject.left = 75
    IEObject.top = 75
    IEObject.width = 400
    IEObject.Height = 300
    IEObject.Menubar = 0 
    IEObject.Toolbar = 0
    IEObject.Navigate "About:Blank"
    IEObject.Visible = 1

' Ждём пока появится
    Do While IEObject.Busy
    Loop
    
' Формируем документ...

    IEObject.Document.Write "<html>"
    IEObject.Document.Write "<head>"
    IEObject.Document.Write "</head>"
    IEObject.Document.Write "<body>"
    IEObject.Document.Write "<center> Найдены следующие IP-адреса: </Center><Br>"
    IEObject.Document.Write strMyString2 & "<Br>"
    strMyString2 = replace(strMyString, vbCrLf, "     |     ")
    IEObject.Document.Write "<Center><A href=""mailto:" & strEmail & "?subject=Отчёт об IP&body=" & strMyString2 & """>Отправить Администратору сети...</A></Center>"
    IEObject.Document.Write "<br>"
    IEObject.Document.Write "<P align = ""right"">(c) Mihanik</p>"
    IEObject.Document.Write "</body>"
    IEObject.Document.Write "</html>"
    
    Set IEObject = Nothing


Добавлено @ 19:45
А вот и сам файл со скриптом...


Это сообщение отредактировал(а) Akella - 16.11.2007, 16:32

Присоединённый файл ( Кол-во скачиваний: 35 )
Присоединённый файл  Ip______.vbs 2,01 Kb


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
localhost
Дата 10.9.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород

Репутация: 37
Всего: 43



Локальная версия Microsoft Script Center в виде chm-файла
http://rapidshare.com/files/54623037/script_center.rar.html (~1,5 Mb)

Это сообщение отредактировал(а) localhost - 10.9.2007, 10:18
PM MAIL   Вверх
Akella
Дата 12.9.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 73
Всего: 329



хороший файлик +1
только нету там скриптов для MS Outlook  smile 
PM MAIL   Вверх
Akina
Дата 12.9.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 453



Удалённое выключение/перезагрузка компьютера

Код

' Скрипт используется для удаленного выключения/перезагрузки/прочее. Есссно подключаться надо с соотв. правами.

Dim StationName
Dim OpSysSet
Dim Flags
Dim Reserved
StationName = InputBox("Insert the Name of the Station to be Shutdown.")
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(RemoteShutdown)}//" & StationName).ExecQuery("select * from Win32_OperatingSystem where Primary=true")

' Flags Action
'  0    Logoff 
'  1    Shutdown 
'  2    Reboot 
'  4    Force 
'  8    Power Off 
' 16    Force If Hung 
Flags = 16

Reserved = 0

For Each OpSys In OpSysSet
   OpSys.Win32Shutdown Flags,Reserved
Next


Это сообщение отредактировал(а) Akella - 16.11.2007, 16:32


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
localhost
Дата 16.11.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород

Репутация: 37
Всего: 43



Удалённая смена пароля

Код

' Скрипт для удаленной смены/задания пароля пользователям домена
' Запрашивает User Logon Name (Имя входа пользователя), на основе чего ищет
' сопоставленную ему учетную запись пользователя и запрашивает новый пароль
' Скрипт проверен на WinXP Pro SP2. 
' Для смены пароля требуются права доменного администратора.

' Устанавливаем сервер сценариев по умолчанию на csript

Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("cscript.exe /h:cscript")

' Инициализируем переменные

Const ADS_SCOPE_SUBTREE = 2

Set objRoot = GetObject("LDAP://RootDSE")
strDomainName = objRoot.Get("DefaultNamingContext")
Set objRoot = Nothing

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection

' Запрашиваем имя пользователя

WScript.StdOut.Write "Input User Logon Name: "
strUserName = WScript.StdIn.ReadLine ()

' Формируем запрос к службе каталога

objCommand.CommandText = _
    "SELECT distinguishedName FROM 'LDAP://" & strDomainName & "'" _
& "WHERE objectClass ='user' AND sAMAccountName='" & strUserName & "'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 

Set objRecordSet = objCommand.Execute

' Если кол-во возвращенных запросом записей = 0, значит такого пользвователя нет :)

If objRecordSet.RecordCount = 0 Then
    MsgBox ("User not found in domain!")

' Иначе - устанавливаем новый пароль    

Else
    strDistinguishedName = objRecordSet.Fields("distinguishedName").Value
    Set objPassword = CreateObject("ScriptPW.Password") 
    WScript.StdOut.Write "Please, enter your password for " & strUserName & ": "
    strPassword = objPassword.GetPassword()
    WScript.StdOut.WriteLine
    WScript.StdOut.Write "Please, re-type password: "
    strPasswordReType = objPassword.GetPassword()
    If strPassword = strPasswordReType Then
        Set objUser = GetObject("LDAP://" & strDistinguishedName)
        objUser.SetPassword strPassword
        MsgBox ("Password has been set")
    Else
        MsgBox ("Password mismatch")
    End If
End If



Это сообщение отредактировал(а) localhost - 16.11.2007, 16:53
PM MAIL   Вверх
Akella
Дата 16.11.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 73
Всего: 329



Проверил, работает. Спасибо. Можно из FAR`а запускать так:
1. Становимся курсором на файл.
2. Набираем: cscript
3. Нажимает Ctrl+enter
4. Нажимаем Enter.

Спасибо, дружище

Это сообщение отредактировал(а) Akella - 16.11.2007, 16:18
PM MAIL   Вверх
localhost
Дата 16.11.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород

Репутация: 37
Всего: 43



Akella, спасибо за испытания  smile , немного подправил скрипт. Теперь все должно работать smile
PM MAIL   Вверх
bartram
Дата 19.11.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 12
Всего: 29



Спасибо ребята, классные скрипты. В работе пригодятся. 


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
MS2007
Дата 13.12.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 24.9.2007

Репутация: нет
Всего: нет



Здравствуйте.
Помогите пожалуйста со скриптом.
Как можно подключить сетевой диск от имени другого юзера находящегося в другом домене?
MapDrv "w:", "\\192.168.12.2\User_data"
UserName = "domain\ruser"
Pass = "Password"
PM MAIL   Вверх
marykone
Дата 18.12.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2722
Регистрация: 2.5.2006
Где: Краснодар

Репутация: 10
Всего: 67



Цитата(Akina @  12.9.2007,  18:19 Найти цитируемый пост)
Удалённое выключение/перезагрузка компьютера


я в скриптах не силен но вот почему для этого нельзя использовать bat файл 
со строчками shutdown -r -m \\ipremotecomp

извиняюсь если не прав 


--------------------
получил ответ, пометь вопрос как решенный (правый верхний угол вашей темы).

PM   Вверх
localhost
Дата 20.12.2007, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хирург-длятехкт
**


Профиль
Группа: Участник
Сообщений: 712
Регистрация: 8.11.2005
Где: Н.Новгород

Репутация: 37
Всего: 43



bat-сценарий и вправду тут не пойдет (ну если runas только использовать)
MS2007, отпишись, если актуально до сих пор, что-нибудь придумаем.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.2416 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.