PDA

Показать полную графическую версию : [решено] копирование файлов, папки


lox-ness
13-06-2017, 23:12
Добрый День!
Необходимо с сетевого ресурса скопировать папку на ПК пользователя. от имени другого доменного пользователя
в скрипте ошибка. где-то пароль не проходит. Подскажите где ошибка.set WshShell = WScript.CreateObject("WScript.Shell")
strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set objShare = objWMIService.Get("Win32_Service.Name='linemon'")
Set objShare = objWMIService.Get("Win32_Service.Name='avp'")
Set objOutParams = objWMIService.ExecMethod("Win32_Service.Name='Linemon'", "StopService")
Set objOutParams = objWMIService.ExecMethod("Win32_Service.Name='avp'", "StopService")

Const OverWriteFiles = True

sFolder = "\\192.168.1.1\klshare\stat"
dFolder = "C:\Documents and Settings\All Users\Application Data\Kaspersky Lab\AVP60MP4\Bases\stat"

Set objFSO = CreateObject ("scripting.fileSystemObject")

WshShell.run "runas /user:domen\user ""objFSO.CopyFolder sFolder, dFolder , OverWriteFiles"""
WScript.Sleep 1000
WshShell.SendKeys "pass" 'send password
WshShell.SendKeys "{ENTER}"

WScript.Sleep 60000*0.1

WshShell.SendKeys "exit" 'Close command prompt
WshShell.SendKeys "{ENTER}"

Set objOutParams = objWMIService.ExecMethod("Win32_Service.Name='avp'", "StartService")
WScript.Sleep 60000*0.1
Set objOutParams = objWMIService.ExecMethod("Win32_Service.Name='Linemon'", "StartService")

Iska
14-06-2017, 01:15
У Вас тут две ошибки — .SendKeys() и пароль в открытом виде. Ни того, ни другого быть не должно. Но это не проблемы скрипта, а общей организации.

Busla
14-06-2017, 11:11
lox-ness, и WshShell.run и runas работают со строками - путями к исполняемым файлам и их аргументам, а вы туда объект пытаетесь передать. Нельзя просто обернуть кусок скрипта в runas или WshShell.run - его надо переформулировать в команды внешней среды.

Бросьте вы этот мертворожденный vbs, пишите на jscript

Iska
14-06-2017, 11:31
Бросьте вы этот мертворожденный vbs, пишите на jscript »
Я бы поспорил :).

greg zakharov
14-06-2017, 12:29
Я бы поспорил :).Кто Вам мешает? А если серьезно, то у VBScript перед JScript только одно единственное преимущество - Variant, которое в JScript приходится обыгрывать танцами с бубном, но в том необходимость возникает редко. Крайне редко. Просто несказанно крайне редко. В остальном JScript на порядок (а может и несколько) превосходит VBScript по функциональности, - здесь даже и спорить не нужно.

Iska
14-06-2017, 13:13
А если серьезно, то у VBScript перед JScript только одно единственное преимущество - Variant, которое в JScript приходится обыгрывать танцами с бубном, но в том необходимость возникает редко. Крайне редко. »
Сюда включена невозможность передачи аргументов по ссылке в JScript (и соответствующие танцы с бубном)?

В остальном JScript на порядок (а может и несколько) превосходит VBScript по функциональности, - здесь даже и спорить не нужно. »
Ну да, ну да. Только вот на Script Center до появления PowerShell скриптов на VBScript было этак на пару порядков больше, нежели на JScript. Оно, в общем-то, и сейчас так. И ентих ваших ентернетах ровно та же тенденция наблюдается. Вот с чего бы это, а?

Busla
14-06-2017, 13:41
Только вот на Script Center до появления PowerShell скриптов на VBScript было этак на пару порядков больше, нежели на JScript. Оно, в общем-то, и сейчас так. И ентих ваших ентернетах ровно та же тенденция наблюдается. Вот с чего бы это, а? »
ответ, в общем-то, очевиден: для поддержания реномэ MS демонстрирует в первую очередь свою технологию, а не цельнотянутую со стороны.
В целом javascript более распространён, знать и помнить его синтаксис проще, доступнее и перспективнее, чем зубрить нишевый vbs.

Iska
14-06-2017, 13:54
ответ, в общем-то, очевиден: для поддержания реномэ MS демонстрирует в первую очередь свою технологию, а не цельнотянутую со стороны. »
Для меня — тоже очевиден. Но причину я вижу в другом: Скрипач — не нужен™. Большая часть функционала JScript никогда не потребуется для задач администрирования или автоматизации, а часть — только вредит.

В целом javascript более распространён »
Вообще-то, JavaScript и JScript — два разных языка.

megaloman
14-06-2017, 14:54
Iska, Busla, Если работать с продуктами MS, то VBS просто удобнее, так как хорошо (не без исключений) совместим с VBA, на котором приходится ваять макросы для офисных продуктов MS. Иметь же в системе из многих компьютеров хаос из инструментов - это головная боль для айтишника. А возможности для автоматизации администрирования у VBS и JS одинаковы. И, кстати, всякие копирования легче, надёжнее и эффективнее по времени выполнения делать на CMD. С PowerShell не сравнивал

greg zakharov
14-06-2017, 15:47
Вообще-то, JavaScript и JScript — два разных языка.Скорее JScript - это всего лишь один из диалектов JavaScript, а не концептуально отличная от последнего технология. В противном случае, если следовать Вашей логике выходит, что и Node не имеет ничего общего с JavaScript. Как бы там ни было все диалекты опираются на ECMAScript.
Большая часть функционала JScript никогда не потребуется для задач администрирования или автоматизации, а часть — только вредит.Какая именно?

Iska
14-06-2017, 15:58
Скорее JScript - это всего лишь один из диалектов JavaScript, а не концептуально отличная от последнего технология. »
Соглашусь.

Как бы там ни было все диалекты опираются на ECMAScript. »
И с этим — тоже.

Какая именно? »
Бо́́льшая ;).

Busla
16-06-2017, 11:46
Если работать с продуктами MS, то VBS просто удобнее, так как хорошо (не без исключений) совместим с VBA, на котором приходится ваять макросы для офисных продуктов MS. Иметь же в системе из многих компьютеров хаос из инструментов - это головная боль для айтишника. »
Почему-то у меня из аналогичных предпосылок получается противоположный вывод.
VBA и VBS - концептуально разные языки: в VBA используется явная типизация, в VBS - неявная. Поэтому совместимость там сомнительная. И задачи решаются разные - как правило копипастить фрагмент из VBS в VBA и наоборот не имеет смысла. Поэтому некоторая схожесть только в минус: пишешь вроде бы такой же код, как вчера, а он не работает.

greg zakharov
16-06-2017, 12:27
Busla, есть такая тотальная проблема человечества, коллективное [бес]сознательное, порабощающее порой даже светлые умы настолько, чтобы те не понимали что поросту зомбированы. Что Вы, как правило, слышите в пользу той или иной технологии: "большое комьюнити", "хорошая документация", "большое количество примеров"? - но разве это говорит о некой безальтернативности? Впрочем, суть даже не в альтернативе как таковой, а в простоте выражения решения поставленной задачи. Синтаксически JScript гибок настолько, что VBScript по сравнению с ним кажется (хотя это действительно так) просто активно прорихиваемой маркетологами технологией. То, что Iska называет излишествами, на поверку - преимущество; отладка VBScript в представлении системного администратора сродни ректальным пыткам паяльной лампой кошмару, в то время как try..catch.. в JScript упростит поиск ошибки; моделирование объектов (упорно именуемых некоторыми классами), возможность реализации функций обратного вызова и т.д., все это не просто свистоперделки, а очень удобные средства к созданию своего собственного набора библиотек. Короче, если спор продолжится, скорее всего он повернет в русло софистики. Так что делайте выводы.




© OSzone.net 2001-2012