FreemanRU, ему же скрипт был нужен.
» Автоматизация администрирования
Sk1f
А запихать одну строчку в VBS это оооочень сложно
А запихать одну строчку в VBS это оооочень сложно
FreemanRU, тогда вот так
Цитата:
"-argument" - смотреть, спомощью cmd -> shutdown /?
Цитата:
Dim WshShell
Set WshShell = Wscript.CreateObject("Wscript.Shell")
On Error Resume Next
Func = "shutdown " & "-argument"
Call WshShell.Run(Func)
"-argument" - смотреть, спомощью cmd -> shutdown /?
FreemanRU, если не затруднит. А то уже 3-й день не могу понять как работать с SQL через скрипт.
Есть слово A.
Нужно сделать скрипт, который это слово сравнит с записями из таблицы в SQL сервере и при положительном рез-те выдаст Echo - запись существует.
Есть слово A.
Нужно сделать скрипт, который это слово сравнит с записями из таблицы в SQL сервере и при положительном рез-те выдаст Echo - запись существует.
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='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
НЕ очень понятно, что значит
Цитата:
сравнит с записями из таблицы в 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
FreemanRU, спасибо большое. А не знаешь где можно прочитать по ADO?
Чтобы было внятно написано. И желательно в виде темы именно работы с ADO. А то в в MSDN информации много, но один факт расстраивает - что сделано в виде отдельных статей. а не книги.
Чтобы было внятно написано. И желательно в виде темы именно работы с ADO. А то в в MSDN информации много, но один факт расстраивает - что сделано в виде отдельных статей. а не книги.
Sk1f
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/dasdkadooverview.asp
И далее по ссылкам или дереву.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/dasdkadooverview.asp
И далее по ссылкам или дереву.
Для тех кто первый раз будет писать скрипты под SQL советую почитать кроме ссылки Freemana, вот эту ссылку -
http://www.codenet.ru/db/other/sql/
http://www.codenet.ru/db/other/sql/
я бы еще предложил sql.ru покопать, особенно форумы =)
Киньте, плиз, кто-нибудь прямую ссылку на Microsoft Script Debugger или слейте куда-нибудь.
А то на сайте микрософта уже задолбали со своим валидатором, а как его обходить не знаю.
А то на сайте микрософта уже задолбали со своим валидатором, а как его обходить не знаю.
На SQL есть процедура, как к ней обратиться через скрипт?
Срочно на работе нужно сделать..
Срочно на работе нужно сделать..
Sk1f
Запрос вида:
Код:
EXEC owner.proc_name @param1=12, @param2='string'
Запрос вида:
Код:
EXEC owner.proc_name @param1=12, @param2='string'
FreemanRU. можешь по пунктам объяснить запрос? (для непонимающих)
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
Выполни на работающем серере (жтрным выделено, что менять)
Код:
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
@param - это параметры, к-е следует будут использоваться в запросах?
Sk1f
Цитата:
Да, имена параметров надо смотреть в процедуре...
Цитата:
@param - это параметры, к-е следует будут использоваться в запросах?
Да, имена параметров надо смотреть в процедуре...
FreemanRU, спасибо счас попробую.
В целом задача такая есть база данных с ключами реестра.
1. включается машина, запускается скрипт, считывается информация по определенному адресу.
2. Далее идет запрос на базу данных с ключами, в которой происходит поиск "считанного значения записи реестра" с записями в базе данных.
3. Если запись не найдена, то берется первая свободная (неиспользуемая другой машиной запись).
4. По адресу, прописывается ключ
5. Ставится указатель на ключ (на то что ключ занят).
6. Записывается в Log SQL servera - запись сделана на машине(name), ip, использована следующая запись базы данных.
7. Ситуация, когда запись существует, записывается в log, точно так же как в п. 6
В целом задача такая есть база данных с ключами реестра.
1. включается машина, запускается скрипт, считывается информация по определенному адресу.
2. Далее идет запрос на базу данных с ключами, в которой происходит поиск "считанного значения записи реестра" с записями в базе данных.
3. Если запись не найдена, то берется первая свободная (неиспользуемая другой машиной запись).
4. По адресу, прописывается ключ
5. Ставится указатель на ключ (на то что ключ занят).
6. Записывается в Log SQL servera - запись сделана на машине(name), ip, использована следующая запись базы данных.
7. Ситуация, когда запись существует, записывается в log, точно так же как в п. 6
товарищи кто нить может помочь с проблемой подключения клиентов
на сервере стоит файрберд 1.5 управляеся через интербейз подключена база данных - при подключении клиентов часть рабочих мест открывается но почему то там не видно объектов и еще клиенты могут подключится к серверу только тогда когда на сервере вручную запускается интербейз и в нем подключается база - пока так не сделать клиенты вааще не подключается - выдает ошибку с сообщение о неверном пароле и т.д
на сервере стоит файрберд 1.5 управляеся через интербейз подключена база данных - при подключении клиентов часть рабочих мест открывается но почему то там не видно объектов и еще клиенты могут подключится к серверу только тогда когда на сервере вручную запускается интербейз и в нем подключается база - пока так не сделать клиенты вааще не подключается - выдает ошибку с сообщение о неверном пароле и т.д
Принципиальные отличия в SQL-DMO от SQL-SMO при работе с объектами sql через wmi есть какие-нибудь?
Добавлено:
Цитата:
Скрипт ругается на (Test) как сделать обращение именно к нужной колонке в запросе?
Добавлено:
Цитата:
objRecordSet.Open "SELECT * FROM Table_1 (Test)", objConnection, adOpenStatic, adLockOptimistic
Table_1 - таблица 1
Test - колонка.
Скрипт ругается на (Test) как сделать обращение именно к нужной колонке в запросе?
Sk1f
Цитата:
Это ты где такой синтаксис взял?
Очень советую (просто таки настаиваю!) - скачай SQL 2000 books online. Там весь синтаксис описан.
Должно быть:
Код:
SELECT Test FROM Table_1
Цитата:
"SELECT * FROM Table_1 (Test)",
Это ты где такой синтаксис взял?
Очень советую (просто таки настаиваю!) - скачай SQL 2000 books online. Там весь синтаксис описан.
Должно быть:
Код:
SELECT Test FROM Table_1
FreemanRU скачал, еще раньше скачал, только никак не обращался, обычно все в MSDN смотрел.
Всем привет!
Помогите, пожалуйста.
Надо переделать 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...
Помогите, пожалуйста.
Надо переделать 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...
Надо курить команды 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);
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);
Спасибо, большое.
Цитата:
с [bWaitOnReturn] действительно ждет.
С остальным пока не разобрался. Это jscript?
Цитата:
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
с [bWaitOnReturn] действительно ждет.
С остальным пока не разобрался. Это jscript?
Цитата:
Это jscript?
Да.
Не могу понять как сделать следующую вещь - есть две колонки в одной таблице (sql).
В первую внесены значения, вторая пустая.
В первой начинаем вести поиск значения "A" и как только значение найдено. В соответствующей ячейки второй колонки делаем запись, например, "ip" компьютера. Т.е. фактически нужно ихвлечь номер строки, в которой было найдено значение и на этой строке, только в другой колонке внести соответствующее значение.
В первую внесены значения, вторая пустая.
В первой начинаем вести поиск значения "A" и как только значение найдено. В соответствующей ячейки второй колонки делаем запись, например, "ip" компьютера. Т.е. фактически нужно ихвлечь номер строки, в которой было найдено значение и на этой строке, только в другой колонке внести соответствующее значение.
Уважаемые 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
Подскажите хочу удалять на удаленном компе установленную через 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
rosalin, а какая ошибка выскакивает?
Sk1f
Line: 12
Char: 1
Error: Expected statement
Code: 800A0400
Source: Microsoft VBScript compilation error
Line: 12
Char: 1
Error: Expected statement
Code: 800A0400
Source: Microsoft VBScript compilation error
rosalin
У тебя просто ошибка в синтаксисе где-то... 12я строка у тебя - это какая?
У тебя просто ошибка в синтаксисе где-то... 12я строка у тебя - это какая?
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Зеркалирование дисков Win2000
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.