1 (изменено: alexii, 2012-07-18 12:31:46)

Тема: VBS: Как скопировать в system32

Есть текстовый файл, в котором забито имя машины (22tt33), нужно считать из файла имя машины и скопировать в папку С:\WINNT\System32\файл.exe на другой комп, имя считал, все в норме, а вот как заставить скопировать файл не пойму.

2

Re: VBS: Как скопировать в system32

Starley25, я для кого писал в прошлой теме:

Укажите префикс языка в заголовке темы.

Я добавил потребный префикс в заголовок темы. Обратите внимание, как сие должно выглядеть.

Изучайте:
Правила форума

Супер-тема, заходите — не пожалеете

3

Re: VBS: Как скопировать в system32

Starley25, префикс пишется перед заголовком темы — посмотрите другие темы этого раздела форума. Я поправил Ваш пост.

и скопировать в папку С:\WINNT\System32\файл.exe

«С:\WINNT\System32\файл.exe» — не папка, а файл. Уточните, что Вы хотите.

4

Re: VBS: Как скопировать в system32

strSourceFile = "c:\файл.exe"
strDestFolder = "тут должно быть \\имя машины\WINNT\System32\файл.exe"

objFSO.CopyFile strSourceFile, strDestFolder & "\", True

5

Re: VBS: Как скопировать в system32

Ясно.

Примерно так:

Option Explicit

Dim objFSO
Dim strSourceFile
Dim strDestFolder

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

strSourceFile = "c:\файл.exe"
strDestFolder = "\\Server\ADMIN$\System32"

If objFSO.FileExists(strSourceFile) Then
    If objFSO.FolderExists(strDestFolder) Then
        objFSO.CopyFile strSourceFile, strDestFolder & "\", True
    Else
        WScript.Echo "Destination folder [" & strDestFolder& "] not found"
    End If
Else
    WScript.Echo "Source file [" & strSourceFile & "] not found"
End If

Set objFSO = Nothing

WScript.Quit 0

«ADMIN$» — скрытый административный ресурс на удалённой машине «Server».

6 (изменено: Starley25, 2012-07-24 08:55:26)

Re: VBS: Как скопировать в system32

Set objShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("Wscript.Network")
strFileName = "C:\TestFile.txt"
strFilesrvany = "C:\srvany.exe"

Set fOpenResults = oFSO.OpenTextFile(strFileName, 1) 
Do While fOpenResults.AtEndOfStream <> True
    sResult = fOpenResults.ReadLine
strDestFolder = "\\sResult\C$\WINNT\System32\srvany.exe"
strDestFolderW = "\\sResult\C$\Windows\System32\srvany.exe" - тут хотелось бы еще проверку устроить 
на предмет присутствия той или иной папки и в зависимости от наличия той или иной копировать в присутствующую

Wscript.Echo(sResult)
Set objScriptExec = objShell.Exec("%comspec% /c ping.exe -n 1 " & sResult)
    strPingResults = LCase(objScriptExec.StdOut.ReadAll)
If InStr(strPingResults, "ttl=") Then   
        WScript.Echo(sResult & "Комп в сети!!!")
    Else
     WScript.Echo(sResult & ": Не отвечает...")
    End If
Host = objNetwork.ComputerName 
set oWMISvc = GetObject("winmgmts:\\" & Host & "\root\cimv2")
oWMISvc.Security_.ImpersonationLevel = 4
set oFile = oWMISvc.Get("cim_datafile='" & strFilesrvany & "'")
set oProcess = oWMISvc.Get("Win32_Process")
lRet = oFile.Copy(strDestFolder)
if lRet <> 0 then
wscript.Echo "File Copy Failed Returned Code : " & lRet
end if

Loop
fOpenResults.Close

говорит, что путь не найден - почему?
Почему я понял, теперь вопрос как подставить sResult в strDestFolder?
Вопрос отпал - сам разобрался