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

» Автоматизация администрирования. Часть 2

Автор: Serg41
Дата сообщения: 22.05.2008 10:33

Цитата:
YNY

спасибо за ответ, но решил делать по старинке...
Автор: YNY
Дата сообщения: 22.05.2008 11:17

Цитата:
WaitMessage

The WaitMessage function yields control to other threads when a thread has no other messages in its message queue. The WaitMessage function suspends the thread and does not return until a new message is placed in the thread's message queue.

[more=лучше модифицируй вот это (от avoronov)]strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank "
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 700
objExplorer.Height = 300
objExplorer.Left = 0
objExplorer.Top = 0
Do While (objExplorer.Busy)
Wscript.Sleep 200
Loop
objExplorer.Visible = 1
objExplorer.Document.Write "Ваш IP адрес:<br>"

For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For Each IPAddress In IPConfig.IPAddress
objExplorer.Document.Write "<b style='color:red'>IP:"& IPAddress & "</b><br>"
WScript.Sleep 500


Next
End If
Next
[/more]
Автор: YURETS777
Дата сообщения: 22.05.2008 21:27
YNY

Это скорее всего не подойдёт, потому что скрипт выполняется в составе групповой политики на компьютер, т.е. выполняется до логона.

Я просто не знаю, будет ли IE работать до логона.

Короче ситуация такая - групповая политика на компы расставляет хотфиксы, но некоторые нетерпеливые пользователи считают что комп запис и ресетом перегружают, не давая хотфиксам доставиться.

Нужно во время установки хотфиксов выставить плакат на весь экран что комп нельзя перегружать и обязательно дождаться установки всех хотфиксов.

Я вот что думаю, а что если в цикле отслеживать появление лога установки хотфикса, и при появлении такового прятать сообщения.
А для вывода сообщения написать что-нибудь на Дельфи.
Автор: YNY
Дата сообщения: 23.05.2008 06:50

Цитата:
YURETS777

нуты блин ... ИСПОЛЬЗУЙ WSUS и все будет OK и никаких проблем с обновками!!!
ну а если так не имется самому все делать, то запускай с помощью:

const intWindowStyle=3 'Activates the window and displays it as a maximized window.
dim strCommand="c:\...\myscript.bat" '-*.bat; *.exe; ...

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

- раскрывай на всё окно и в нем пиши че хош,
- теоретически (т.к. сам не пробовал) ты могешь КВ*.msi запускать с ключами инсталлера )
- я например выдавал WshShell.Popup("") -- оно само закрывается мона не давить ОК, т.к. мне наоборот не нужно было чтоб пользователь заморачивался лишний раз


Добавлено:
вообще-то есть давно уже "Patcher.cmd" поищи его
Автор: Cyril Konst
Дата сообщения: 23.05.2008 09:42
Народ, такая задача для логон-скрипта терминального пользователя сервера терминалов:
1. Получить имя клиента.
2. В списке принтеров найти принтеры, в имени которых содержится имя клиента (это автоматически отображаемые принтеры, подключенные к тонким клиентам).
3. Для каждого такого принтера установить права доступа (типа расшарить) с помошью утилиты setprinter из Windows Resource Kit.

Проблемма в том, что устанавливать права для своих принтеров юзеры не могут.
Как быть?

Второй вариант - сажать скрипт на eventtrigger по событию создания принтера.
Автор: YURETS777
Дата сообщения: 23.05.2008 18:15
YNY

Таки получилось
IE прекрасно запустился до логона. правда в цикле перед созданием объекта IE пришлось поставить Sleep 200, в противном случае окошки запускались через одного( закрытие страницы требует время).
И если окошко принудительно закрыть (мышкой на крестик) то вываливается ошибка скрипта (objExplorer.Quit типа объекта уже не существует)
Но это всё мелочи.
Спасибо за идею с Html

Скрипт теперь выглядит так:

Код:
    for i=1 to 6
If NeedHf(i) then
'-------------------------------------------------------------
Wscript.Sleep 200
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank "
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 800
objExplorer.Height = 600
objExplorer.Left = 0
objExplorer.Top = 0
objExplorer.Visible = 1
objExplorer.Document.Write "<br> <b style='color:blue;font-size:40pt'> ВНИМАНИЕ!!! ИДЕТ УСТАНОВКА ОБНОВЛЕНИЙ ОФФИСА, ПОЖАЛУЙСТА НЕ ВЫКЛЮЧАЙТЕ КОМПЬЮТЕР !!! ДОЖДИТЕСЬ ЛОГИНА !!!" & i & " из 6" & "</b></br>"
'--------------------------------------------------------------------------
qwe=MyShell.Run(PatchPath & np(i) & Kluc,0,True)
objExplorer.Quit

        end if     
    next

Автор: YNY
Дата сообщения: 27.05.2008 05:08

Цитата:

WSUS-а пока нет,

на самом деле если компы слабые, то будут просто ох-е тормоза при накате обновок-это касяк микрософт
Автор: YURETS777
Дата сообщения: 27.05.2008 09:20
YNY

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


Компы нормальные, в среднем сел 2000 256 памяти винт 40 ОС - 2к

А обновки накатываются уже распакованные (типа
OE6.0sp1-KB941202\update\update.exe
kb905646\ohotfix.exe)

сетка 2 мегабита удаленные, 100 мегабит локальные.

Все обновки на один инстал ставятся не более 20 минут, это в принципе нормально, причем юзвери предупреждены.


Автор: Serg41
Дата сообщения: 28.05.2008 07:41

Цитата:
Allows you to create a shortcut programmatically.
<Creates a new shortcut, or opens an existing shortcut.>
<object.CreateShortcut(strPathname) >

Example
The following example demonstrates the creation of a shortcut to the script being run:

set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")

oShellLink.TargetPath = WScript.ScriptFullName

oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.IconLocation = "notepad.exe, 0"
oShellLink.Description = "Shortcut Script"

oShellLink.WorkingDirectory = strDesktop

oShellLink.Save


извеняюсь, не понял как работает:
результатом получаем ярлык на скрипт, но я не понял где здесь ссылка на него задается,
--------------------------------------
и еще вопрос: есть подключенные сетевые диски, у них меняется путь (через DFS не прокатывает)
надо проверить у юзера путь сетевых дисков и если в пути присутствует (напр. \\serv1\...) то поменять на (\\server2\share\...), а если не поподает под условие то его не трогать.
Автор: YNY
Дата сообщения: 28.05.2008 08:21

Цитата:
Serg41

Junior Member

звиняй, но если ранее уже было нечто подобное, то я не всегда эго в отв вкл, +
вот тут указывается
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk") -- где сам ярлык, а то что он запускает указывается в

" Объект"
oShellLink.TargetPath = WScript.ScriptFullName

" Рабочая папка"
oShellLink.WorkingDirectory = strDesktop
-------
РС: если ты ваще не рубишь в скриптинге или програмировании, то лучше ознакомься, тем более если у тя есть ворд то труда это не составит, т.к. в нем есть редактор HTML!!!

Добавлено:

Цитата:
YURETS777

я говорил про залив обновок через SUS и селероны будут тормозить в момент наката обновок от SUS - проверено на практике, по кр мере P4 /512МБ точно не тормозит

Добавлено:

Цитата:
Serg41


Цитата:
надо проверить у юзера путь сетевых дисков и

[more=вот]
Set WshNetwork = WScript.CreateObject("WScript.Network")

Set oDrives = WshNetwork.EnumNetworkDrives

Set oPrinters = WshNetwork.EnumPrinterConnections

WScript.Echo "Network drive mappings:"

For i = 0 to oDrives.Count - 1 Step 2

WScript.Echo "Drive " & oDrives.Item(i) & " = " & oDrives.Item(i+1)

Next
[/more] тебе пример мапинга - просмотра списка, сетевых дисков

Добавлено:
[more=ОТКЛючаем сетевой диск]
object.RemoveNetworkDrive(strName, [bForce], [bUpdateProfile])

'The following code removes the logical drive "E."
'[VBScript]
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.RemoveNetworkDrive "E:"

[/more]

[more=ПОДКЛючаем сетевой диск]
object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword])

The following code maps the logical drive "E" to a network share with the UNC name "\\Server\Public."
'[VBScript]
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "E:", "\\Server\Public"

[/more]

Добавлено:
естественно, то что хотим отк/подкл должно реально существовать
Автор: Ixxtiander
Дата сообщения: 28.05.2008 12:42
Есть расшаренная папка на MS 2003 server, у нее 20 вложенных папок, к папкам через вкладку Security сделан разный доступ разным пользователям Active Directory.

подскажите как собрать статистику такого рода:

FOLDER "FILES"
user domain\user1 read
group domain\group1 full control
user domain\user2 read&execute

FOLDER "DATA"
user domain\user4 read
group domain\Administrators full control
user domain\user3 read&execute

... и так все папки
Автор: Serg41
Дата сообщения: 28.05.2008 14:48
спасибо, буду изучать/пробовать
Автор: ze10301980
Дата сообщения: 29.05.2008 07:59
' Выгрузка списка компьютеров из Active Directory в Excel

' Windows Server 2003 : Yes
' Windows XP : Yes
' Windows 2000 : Yes
' Windows NT 4.0 : Yes
' Windows 98 : Yes

Const ADS_SCOPE_SUBTREE = 2

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True
objExcel.Workbooks.Add

objExcel.Cells(1, 1).Value = "Computer Name"
objExcel.Cells(1, 2).Value = "Location"

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

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
"Select Name, Location from 'LDAP://dc='Имя домена',dc=local' " _
& "Where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
x = 2

Do Until objRecordSet.EOF
objExcel.Cells(x, 1).Value = objRecordSet.Fields("Name").Value
objExcel.Cells(x, 2).Value = objRecordSet.Fields("Location").Value
    x = x + 1
objRecordSet.MoveNext
Loop
Set objRange = objExcel.Range("A1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("B1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
objExcel.Quit

Добавлено:
Выгрузка даных о пользователях из Active Directory в Excel
Const ADS_SCOPE_SUBTREE = 2

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True
objExcel.Workbooks.Add

objExcel.Cells(1, 1).Value = "Login"
objExcel.Cells(1, 2).Value = "Имя"
objExcel.Cells(1, 3).Value = "Отчество"
objExcel.Cells(1, 4).Value = "Фамилия"
objExcel.Cells(1, 5).Value = "Выводимое Имя"
objExcel.Cells(1, 6).Value = "Описание"
objExcel.Cells(1, 7).Value = "Комната"
objExcel.Cells(1, 8).Value = "Номер телефона"
objExcel.Cells(1, 9).Value = "Эл. почта"
objExcel.Cells(1, 10).Value = "Улица"
objExcel.Cells(1, 11).Value = "Город"
objExcel.Cells(1, 12).Value = "Область"
objExcel.Cells(1, 13).Value = "Индекс"
objExcel.Cells(1, 14).Value = "Страна"
objExcel.Cells(1, 15).Value = "Должность"
objExcel.Cells(1, 16).Value = "Отдел"
objExcel.Cells(1, 17).Value = "Организация"
objExcel.Cells(1, 18).Value = "distinguishedname"
objExcel.Cells(1, 19).Value = "cn"

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

Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 100
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT cn, canonicalname, distinguishedname,sAMAccountName,givenName, initials, SN, displayName, description, "_
    & "physicalDeliveryOfficeName, telephoneNumber,mail, streetAddress, l ,st, postalCode, " _
    & "c, title, department, company FROM " _
& "'LDAP://dc='Имя домена',dc=local' WHERE " _
& "objectCategory='user'"

Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
x = 2

Do Until objRecordSet.EOF
objExcel.Cells(x, 1).Value = objRecordSet.Fields("sAMAccountName").Value
objExcel.Cells(x, 2).Value = objRecordSet.Fields("givenName").Value
objExcel.Cells(x, 3).Value = objRecordSet.Fields("initials").Value
objExcel.Cells(x, 4).Value = objRecordSet.Fields("SN").Value
objExcel.Cells(x, 5).Value = objRecordSet.Fields("displayName").Value
objExcel.Cells(x, 6).Value = objRecordSet.Fields("description").Value
objExcel.Cells(x, 7).Value = objRecordSet.Fields("physicalDeliveryOfficeName").Value
objExcel.Cells(x, 8).Value = objRecordSet.Fields("telephoneNumber").Value
objExcel.Cells(x, 9).Value = objRecordSet.Fields("mail").Value
objExcel.Cells(x, 10).Value = objRecordSet.Fields("streetAddress").Value
objExcel.Cells(x, 11).Value = objRecordSet.Fields("l").Value
objExcel.Cells(x, 12).Value = objRecordSet.Fields("st").Value
objExcel.Cells(x, 13).Value = objRecordSet.Fields("postalCode").Value
objExcel.Cells(x, 14).Value = objRecordSet.Fields("c").Value
objExcel.Cells(x, 15).Value = objRecordSet.Fields("title").Value
objExcel.Cells(x, 16).Value = objRecordSet.Fields("department").Value
objExcel.Cells(x, 17).Value = objRecordSet.Fields("company").Value
objExcel.Cells(x, 18).Value = objRecordSet.Fields("distinguishedname").Value
objExcel.Cells(x, 19).Value = objRecordSet.Fields("cn").Value
x = x + 1
objRecordSet.MoveNext
Loop

Set objRange = objExcel.Range("A1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("B1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("C1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("D1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("E1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("F1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("G1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("H1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("I1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("J1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("K1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("L1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("M1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("N1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("O1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("P1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("Q1")
objRange.Activate

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()

Set objRange = objExcel.Range("A1").SpecialCells(11)
Set objRange2 = objExcel.Range("C1")
Set objRange3 = objExcel.Range("A1")
objExcel.Quit
Автор: rosalin
Дата сообщения: 29.05.2008 14:48
ребята
никто не встречал скрипт что бы при входе в систему очищались временные файлы Internet Explorer
Автор: YURETS777
Дата сообщения: 30.05.2008 22:01
Подскажите, как на VBS сделать сортировщик.
Имеется куча txt файлов, в которых нужно найти искомую строку и переместить (если строка найдена) в определенную папку.
все txt-файлы лежат в одном каталоге.

нужно что-то типа:
for %%i in *.txt do (только на VBS)

Далее открываем текстовик для чтения.
Set objTextFile = objFSO.OpenTextFile("%%i",ForReading)
while not eof

Line = objTextFile.ReadLine
if Line = target
objFSO.MoveFile (%%i, TargetDir)
endif

endwhile

Автор: YURETS777
Дата сообщения: 02.06.2008 16:45
Вроде разобрался, но почему-то не срабатывет EOF, скрипт входит в бесконечный цикл.


Код:

Set objFiles = objFolder.Files
For Each objFile In objFiles
'-------------------------
redim Fixez(89)
for j = 1 to 89
Fixez(j) = False
next
AllGood = True
'------------------------
objTextFile2.WriteLine objFile.Name
fulpt = strFilePath & objFile.Name
Set objTextFile = objFSO.OpenTextFile(fulpt, ForReading)
Do While Not objTextFile.EOF
stroka = objTextFile.ReadLine
for i = 1 to 85
if stroka = GoodLinez(i) then
Fixez(i) =True
end if
Next
Loop
objTextFile.Close

Автор: Cheerful_a_bear
Дата сообщения: 02.06.2008 21:07
YURETS777

Автор: Oldster
Дата сообщения: 02.06.2008 21:23
Ixxtiander
посмотри вот эту команду:
CACLS /?
ze10301980

Цитата:
Set objRange = objExcel.Range("C1")
objRange.Activate

это можно было обеденить в 1 кусок кода, посмотри как идет выделение в самом экселе (создай макрос и посмотри его код).
YURETS777
на яве можно запросто написать
Автор: Lystopad201171
Дата сообщения: 04.06.2008 17:37
Microsoft устанавливая обновления захламляет %systemroot% папками вида $NTdjghfj$
подскажите, пожайлуста, как скриптом удалять эти папки?
Автор: Real Root
Дата сообщения: 04.06.2008 23:51
Уважаемые, помогите помогите пожалуйста. Я в скриптах пока новичек, так что не пинайте сильно.
Вобщем вот. Есть скрипт:
set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "E:\Lineage II - Interlude\LineageII.exe", 1
При его запуске говорит, что файл не найден. Строка 2, символ 1.

Файл само собой существует. Путь к файлу получаю через Total Commander (F12 - копировать путь в буфер). Самое интересное, что, если папку Lineage II - Interlude переименовать в l2 к привему - то тогда он запускатся. Такое ощцщение, что не воспринимаются пробелы, или есть ограничения на длину строки.

Помогите пожалуйста.
Автор: YURETS777
Дата сообщения: 05.06.2008 07:37
VBS на запуск из шела работает с короткими именами.
Был такой прикол, правда запускал консольную прогу.
Попробуй

WSHShell.Run "E:\LINEAG~1\lineag~1 exe", 1
Автор: Refugee
Дата сообщения: 05.06.2008 14:32
Real Root
так работает:
WSHShell.Run """E:\Lineage II - Interlude\LineageII.exe"""", 1
Автор: aar
Дата сообщения: 05.06.2008 15:54
Подскажите, как сделать такую вещь.

gpedit.msc
Конфигурация компьютера\Кофигурация Windows\Сценарии (запуска\завершение)

Мне нужно, чтобы на событие завершения работы Windows выполнялся скрипт, который запускал бы нужные программы.

Как это сделать?
Автор: Vby
Дата сообщения: 05.06.2008 17:06
aar
Например, создать файлик run.vbs
Открыть его блокнотом и записать туда строчки из примера выше:

Цитата:

set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run """E:\Lineage II - Interlude\LineageII.exe"""", 1

Затем в
Цитата:
Конфигурация компьютера\Кофигурация Windows\Сценарии (запуска\завершение)

добавить скрипт run.vbs
Автор: aar
Дата сообщения: 05.06.2008 18:36
Vby
Спасибо.

А .bat-файл будет корректно запускать?

И еще вопрос: можно каким-либо образом учитывать статус выполнения предыдущей команды (успешное, ошибочное) перед запуском следующей?


Добавлено:
Даже скорее статус выполнения вызываемой программы.
Автор: Real Root
Дата сообщения: 05.06.2008 18:56
YURETS777
Спасибо за помощь. Вчера сам сообразил, что дело в коротких именах. Но так до конца не сообразил. Я уже давно юзаю указанную команду для запуска административных задач в скрытых окнах. Так вот в путях к тем прогам есть дирретории с именем в 9 символов, и кстати, вот такая конструкция тоже работает: WSHShell.Run "E:\LINEAG~1\lineageII.exe", 1
Так что, VBScript по всей видимости обрабатывает файло в формате 9.1

Refugee
А тебе товарищь, отдельное спасибо, и коллективная благодарность, за наиболее изящьное решение проблемы - очень благодарен.


Только теперь у меня другая проблема. Хотел бы скрыть тело скрипта от посторонних глаз, т.е. пошифровать скрипт Windows Script Encoder'ом. Но вот незадача. Если VBS файл с содержанием
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run """D:\Lineage II - Interlude\Launcher.EXE"""
зашифровать при помощи команды SCRENC la.vbs la2.vbs - то при запуске последнего получаю фигвам следующего содержания:

Код: Сценарий: E:\la2.vbs
Строка: 1
Символ: 1
Ошибка: Предполагается наличие инструкции
Код: 800А0400
Источник: Ошибка компиляции Microsoft VBScript
Автор: Refugee
Дата сообщения: 05.06.2008 23:00
Real Root
http://support.microsoft.com/kb/298790

всё нормально там с длинными именами, просто в одной строке передаются имя и аргументы программы
Автор: Real Root
Дата сообщения: 06.06.2008 00:46
Refugee
Спасибо за наводку. Только я так и не догнал что мне теперь делать - с английским не всегда хорошо (я его не очень знаю, а когда устал от большой работы в течении месяца - еле понимаю).
Вобщем, как написано, сохранял блокнотом в формате Unicode - заенкодил - один фиг та же ошибка. И как мне с ней теперь бороться? А пошифровать очень надо.

Чето там про локали было сказано - я не очень понял. Но азиатских языков у меня не установлено. Менял только локаль с 1251 на 1252 (или наоборот - стандартный твик).
Автор: Refugee
Дата сообщения: 06.06.2008 08:39
Real Root
script encoder заброшен майкрософт, и декодер для него давно уже доступен
поищи лучше в гугле VBScript obfuscator
Автор: aar
Дата сообщения: 06.06.2008 10:38
Нашел скрипт для удаления файлов из папки Temp:


Код: [no]Const DeleteReadOnly = TRUE

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\Temp\*.*"), DeleteReadOnly
[/no]

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


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