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
Гнетет любопытство...
Задача:
скрипт который я смогу запустить на удаленном компьютере (с КД на клиента),
который копирует определенные файлы из 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