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

» Автоматизация администрирования

Автор: Sk1f
Дата сообщения: 25.07.2006 10:50
FreemanRU, ему же скрипт был нужен.
Автор: FreemanRU
Дата сообщения: 25.07.2006 12:00
Sk1f
А запихать одну строчку в VBS это оооочень сложно
Автор: Sk1f
Дата сообщения: 25.07.2006 15:25
FreemanRU, тогда вот так


Цитата:

Dim WshShell

Set WshShell = Wscript.CreateObject("Wscript.Shell")
On Error Resume Next

Func = "shutdown " & "-argument"
Call WshShell.Run(Func)


"-argument" - смотреть, спомощью cmd -> shutdown /?
Автор: Sk1f
Дата сообщения: 26.07.2006 09:32
FreemanRU, если не затруднит. А то уже 3-й день не могу понять как работать с SQL через скрипт.
Есть слово A.
Нужно сделать скрипт, который это слово сравнит с записями из таблицы в SQL сервере и при положительном рез-те выдаст Echo - запись существует.
Автор: FreemanRU
Дата сообщения: 26.07.2006 10:35
Sk1f
НЕ очень понятно, что значит
Цитата:
сравнит с записями из таблицы в SQL сервере

По какому критерию?
Как пример:

Код:
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "Provider='sqloledb';Data Source=""myserver.domain.local"";Integrated Security='SSPI';Initial Catalog='my_database';"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "SELECT * FROM my_table WHERE my_column LIKE '%wordA'" , objConnection, adOpenStatic, adLockOptimistic
objRecordset.MoveFirst
While (Not objRecordset.EOF)
    WScript.Echo objRecordset("columnName")
    WScript.Echo objRecordset(1) 'номер столбца, начинается с 0

    objRecordset.MoveNext
WEnd
objRecordset.Close
objConnection.Close
Автор: Sk1f
Дата сообщения: 26.07.2006 11:36
FreemanRU, спасибо большое. А не знаешь где можно прочитать по ADO?
Чтобы было внятно написано. И желательно в виде темы именно работы с ADO. А то в в MSDN информации много, но один факт расстраивает - что сделано в виде отдельных статей. а не книги.
Автор: FreemanRU
Дата сообщения: 26.07.2006 11:44
Sk1f
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/dasdkadooverview.asp
И далее по ссылкам или дереву.
Автор: Sk1f
Дата сообщения: 26.07.2006 15:59
Для тех кто первый раз будет писать скрипты под SQL советую почитать кроме ссылки Freemana, вот эту ссылку -
http://www.codenet.ru/db/other/sql/
Автор: urel
Дата сообщения: 28.07.2006 11:13
я бы еще предложил sql.ru покопать, особенно форумы =)
Автор: unreal666
Дата сообщения: 30.07.2006 19:38
Киньте, плиз, кто-нибудь прямую ссылку на Microsoft Script Debugger или слейте куда-нибудь.
А то на сайте микрософта уже задолбали со своим валидатором, а как его обходить не знаю.
Автор: Sk1f
Дата сообщения: 31.07.2006 11:42
На SQL есть процедура, как к ней обратиться через скрипт?
Срочно на работе нужно сделать..
Автор: FreemanRU
Дата сообщения: 31.07.2006 11:51
Sk1f
Запрос вида:

Код:
EXEC owner.proc_name @param1=12, @param2='string'
Автор: Sk1f
Дата сообщения: 31.07.2006 12:35
FreemanRU. можешь по пунктам объяснить запрос? (для непонимающих)
Автор: FreemanRU
Дата сообщения: 31.07.2006 12:44
Sk1f
Выполни на работающем серере (жтрным выделено, что менять)

Код:
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "Provider='sqloledb';Data Source=""myserver.domain.local"";Integrated Security='SSPI';Initial Catalog='master';"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "EXEC dbo.sp_who" , objConnection, adOpenStatic, adLockOptimistic
objRecordset.MoveFirst
While (Not objRecordset.EOF)
WScript.Echo "SPID = " & objRecordset("spid")
WScript.Echo "login = " & objRecordset("loginname")
WScript.Echo "db = " & objRecordset("dbname")
objRecordset.MoveNext
WEnd
objRecordset.Close
objConnection.Close
Автор: Sk1f
Дата сообщения: 31.07.2006 12:44
@param - это параметры, к-е следует будут использоваться в запросах?
Автор: FreemanRU
Дата сообщения: 31.07.2006 13:14
Sk1f

Цитата:
@param - это параметры, к-е следует будут использоваться в запросах?

Да, имена параметров надо смотреть в процедуре...
Автор: Sk1f
Дата сообщения: 31.07.2006 15:05
FreemanRU, спасибо счас попробую.
В целом задача такая есть база данных с ключами реестра.
1. включается машина, запускается скрипт, считывается информация по определенному адресу.
2. Далее идет запрос на базу данных с ключами, в которой происходит поиск "считанного значения записи реестра" с записями в базе данных.
3. Если запись не найдена, то берется первая свободная (неиспользуемая другой машиной запись).
4. По адресу, прописывается ключ
5. Ставится указатель на ключ (на то что ключ занят).
6. Записывается в Log SQL servera - запись сделана на машине(name), ip, использована следующая запись базы данных.
7. Ситуация, когда запись существует, записывается в log, точно так же как в п. 6
Автор: ali1977
Дата сообщения: 02.08.2006 21:10
товарищи кто нить может помочь с проблемой подключения клиентов
на сервере стоит файрберд 1.5 управляеся через интербейз подключена база данных - при подключении клиентов часть рабочих мест открывается но почему то там не видно объектов и еще клиенты могут подключится к серверу только тогда когда на сервере вручную запускается интербейз и в нем подключается база - пока так не сделать клиенты вааще не подключается - выдает ошибку с сообщение о неверном пароле и т.д
Автор: Sk1f
Дата сообщения: 04.08.2006 11:05
Принципиальные отличия в SQL-DMO от SQL-SMO при работе с объектами sql через wmi есть какие-нибудь?

Добавлено:

Цитата:

objRecordSet.Open "SELECT * FROM Table_1 (Test)", objConnection, adOpenStatic, adLockOptimistic

Table_1 - таблица 1
Test - колонка.

Скрипт ругается на (Test) как сделать обращение именно к нужной колонке в запросе?


Автор: FreemanRU
Дата сообщения: 04.08.2006 13:38
Sk1f

Цитата:
"SELECT * FROM Table_1 (Test)",

Это ты где такой синтаксис взял?

Очень советую (просто таки настаиваю!) - скачай SQL 2000 books online. Там весь синтаксис описан.

Должно быть:

Код:
SELECT Test FROM Table_1
Автор: Sk1f
Дата сообщения: 04.08.2006 14:22
FreemanRU скачал, еще раньше скачал, только никак не обращался, обычно все в MSDN смотрел.
Автор: Molevole
Дата сообщения: 06.08.2006 01:25
Всем привет!
Помогите, пожалуйста.
Надо переделать bat файл в vbs скрипт.
Допустим запускается 2 программы:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run c:\program1_1.exe
WshShell.Run c:\program1_2.exe

1. Как сделать что бы вторая программа не выполнялась пока не законичит работу первая. В bat файле это решалось так:

start /w c:\program1_1.exe
c:\program1_2.exe

2. Как в скрипте узнать код завершения программы? В bat файле это делается с помощью if errorlevel 1 goto...
Автор: RoloTomasi
Дата сообщения: 06.08.2006 04:11
Надо курить команды Run и Exec.
WshShell.Run
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
WshShell.Exec


//oxc=WshShell.Run(szCmd,6,true);
//WScript.Echo(oxc);// 225 - break; 0 - success

//oxc = WshShell.Exec(szCmd);//while(oxc.Status==0){WScript.Sleep(100);}
//WScript.Echo(oxc.Status);
Автор: Molevole
Дата сообщения: 06.08.2006 21:24
Спасибо, большое.

Цитата:
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])


с [bWaitOnReturn] действительно ждет.
С остальным пока не разобрался. Это jscript?
Автор: unreal666
Дата сообщения: 07.08.2006 01:39

Цитата:
Это jscript?

Да.
Автор: Sk1f
Дата сообщения: 07.08.2006 16:35
Не могу понять как сделать следующую вещь - есть две колонки в одной таблице (sql).

В первую внесены значения, вторая пустая.

В первой начинаем вести поиск значения "A" и как только значение найдено. В соответствующей ячейки второй колонки делаем запись, например, "ip" компьютера. Т.е. фактически нужно ихвлечь номер строки, в которой было найдено значение и на этой строке, только в другой колонке внести соответствующее значение.
Автор: rosalin
Дата сообщения: 09.08.2006 10:53
Уважаемые All
Подскажите хочу удалять на удаленном компе установленную через Windows Installer программу

Получаю с помощью скрипта


Код:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\test\list.txt", True)

strComputer = "ws14"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product")

objTextFile.WriteLine "Caption" & vbtab & _
"Description" & vbtab & "Identifying Number" & vbtab & _
"Install Date" & vbtab & "Install Location" & vbtab & _
"Install State" & vbtab & "Name" & vbtab & _
"Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
& "Version"

For Each objSoftware in colSoftware
objTextFile.WriteLine objSoftware.Caption & vbtab & _
objSoftware.Description & vbtab & _
objSoftware.IdentifyingNumber & vbtab & _
objSoftware.InstallDate2 & vbtab & _
objSoftware.InstallLocation & vbtab & _
objSoftware.InstallState & vbtab & _
objSoftware.Name & vbtab & _
objSoftware.PackageCache & vbtab & _
objSoftware.SKUNumber & vbtab & _
objSoftware.Vendor & vbtab & _
objSoftware.Version
Next
objTextFile.Close

Автор: Sk1f
Дата сообщения: 09.08.2006 11:16
rosalin, а какая ошибка выскакивает?
Автор: rosalin
Дата сообщения: 09.08.2006 11:59
Sk1f

Line: 12
Char: 1
Error: Expected statement
Code: 800A0400
Source: Microsoft VBScript compilation error
Автор: FreemanRU
Дата сообщения: 09.08.2006 12:02
rosalin
У тебя просто ошибка в синтаксисе где-то... 12я строка у тебя - это какая?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Зеркалирование дисков Win2000


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