Войти

Показать полную графическую версию : [решено] Целесобразно ли использование CIM_LogicalFile copy method... в моем случае


RUVATA
12-10-2010, 10:35
Всем доброго времени суток...

Гнетет любопытство...
Задача:
скрипт который я смогу запустить на удаленном компьютере (с КД на клиента),
который копирует определенные файлы из Shared (DFS)... в заранее известные директории на лок.диске клиента
По первой решил было использовать PsExec, но все упирается в то, что cmd не поддерживает UNC-пути... пришлось немного модифицировать
скрипт того, чтобы он сначала подключал рандомный сетевой диск... но с этип много проблем
Имея небольшой опыт работы с WMI, решил обратиться к нему вновь... root\CIMv2 CIM_LogicalFile имеет метод Copy, т.е. если CIM_DataFile имеет отношение только к системным файлам и директориям, то CIM_LogicalFile судя по описаню, имеет возможность работать с любым файлом...
WMI Code Creator 1.0 не предоставляет, к сожалению, возможность работать с этим классом, но раз один - наследуемый от другово решил попробовать по аналогии с CIM_DataFile

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set objShare = objWMIService.Get(" CIM_LogicalFile.Name='d:\test.txt'")

Set objInParam = objShare.Methods_("Copy"). _
inParameters.SpawnInstance_()

objInParam.Properties_.Item("FileName") = "C:\test.txt"

Set objOutParams = objWMIService.ExecMethod("CIM_ CIM_LogicalFile.Name='d:\test.txt'", "Copy", objInParam)

Wscript.Echo "Out Parameters: "
Wscript.echo "ReturnValue: " & objOutParams.ReturnValue


но в отличии от CIM_DataFile, так ничего не выходит получем следующую ошибку

Сервер сценариев Windows (Microsoft R) версия 5.6
c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.

C:\Documents and Settings\Администратор\Application Data\WMICodeCreator\MyWMIMet
hod_Script.vbs(3, 1) SWbemServicesEx: Недопустимый путь к объекту.


В чем моя ошибка, и вообще целесообразно ли использование CIM_LogicalFile copy method

NiOl
12-10-2010, 11:07
в WMI как хрюшка в апельсинах, но вопрос, а почему-бы не запускать копирование со своего компа под админской учеткой и копировать с удаленного компа на удаленный комп, либо, если файлов много - запускать батник как стартовый скрипт?

amel27
12-10-2010, 11:08
все упирается в то, что cmd не поддерживает UNC-пути »
AFAIK CMD не поддерживает только в качестве текущего (кста, это можно исправить через реестр),
просто нужно указывать везде абсолютные пути к файлам, а не относительно батника

решил было использовать PsExec »
уж если брать WMI, то и удаленный запуск можно делать через него без доп.утилит (ТЫНЦ (http://forum.oszone.net/post-1230007-4.html))

пришлось немного модифицировать
скрипт того, чтобы он сначала подключал рандомный сетевой диск... но с этип много проблем »
команда PUSHD делает это автоматически

RUVATA
12-10-2010, 12:36
уж если брать WMI »
ну так я и собираюсь... PsExec я раньше юзал, да ипока использую, для батников.

A вот в удаленном запуске через WMI пока еще не пробовал себя, я насколько понял,
там есть специальный класс "Win32_..."
но я пока даже с CIM_LogicalFile разобраться не могу...
можно хоть один приер рабочего кода ( vbs / js ) с его использованием?

amel27
12-10-2010, 14:00
можно хоть один приер рабочего кода ( vbs / js ) с его использованием? »в данном случае я предложил удаленный запуск батника через WMIС, у WSH есть свои механизмы удаленного запуска (ТЫНЦ (http://msdn.microsoft.com/en-us/library/h976cd1t(v=VS.85).aspx))




© OSzone.net 2001-2012