Главная > WSH скрипты > Скрипт через psexec.exe монтирует на удаленном компьютере том TrueCrypt, копирует на него файлы из указанной папки, размонтирует том
Скрипт через psexec.exe монтирует на удаленном компьютере том TrueCrypt, копирует на него файлы из указанной папки, размонтирует том13 сентября 2012. Разместил: dimon |
Скрипт через psexec.exe монтирует на удаленном компьютере том TrueCrypt, копирует на него файлы из указанной папки с установленным архивным битом, размонтирует том.
Запуск скрипта планируется с помощью стороннего ПО. psexec.exe должен лежать в той же папке что и скрипт. '---------------------------------------------------------------------- ' ' Copyright (c) All rights reserved. ' ' ' AUTHOR: tudimon.com ' DATE: 13.09.2012 ' NAME: TrueCrypt_mount_copy_unmount_v1.vbs ' ' COMMENT: ' ' Скрипт через psexec.exe монтирует на удаленном компьютере том TrueCrypt, копирует на него файлы, размонтирует том. ' ' Запуск скрипта планируется с помощью стороннего ПО. ' ' psexec.exe должен лежать в той же папке что и скрипт. ' ' '---------------------------------------------------------------------- ' Задаваемые параметры для работы скипта SourceFolder = "D:\data" ' Папка с файлами для архиврования (без слэша на конце) DestinationFolder = "\\192.168.1.122\data" ' Папка для архивных копий (без слэша на конце) LogFilePath = "D:\logs\" ' папка для лог-файлов LogTXT = "" ' переменная для записи в лог ' Переменные для psexec.exe ipTarget = "192.168.1.122" ' ip целевого (удаленного) компьютера psUser = "domain\adm" ' учетка под которой подключаться psPass = "sec_password" ' пароль ' Переменные для TrueCrypt tcPath = "c:\Progra~1\TrueCrypt\TrueCrypt.exe" ' Путь до TrueCrypt.exe на удаленной машине tcTarget = "\Device\Harddisk2\Partition1" ' какой том монтируем tcLetter = "l" ' на какую букву монтировать tcPass = "tc_secret_password" ' пароль шифрованного тома '---------------------------------------------------------------------- LogTXT = LogTXT & vbNewLine & "******************** " & Now & " ********************" ' сформируем штамп со временем DateTimeStamp = Year(now) & Right("00" & CStr(Month(Now)), 2) & Right("00" & CStr(Day(Now)), 2) & "_" & Right("00" & CStr(Hour(Now)), 2) & "-" & Right("00" & CStr(Minute(Now)), 2) & "-" & Right("00" & CStr(Second(Now)), 2) ' сформируем путь лог-файла LogFilePath = LogFilePath & "TC_" & DateTimeStamp & ".txt" 'MsgBox LogFilePath ' Сформируем команду для psexec.exe cmdPS = "psexec.exe \\" & ipTarget & " -u " & psUser & " -p " & psPass & " " ' **** монтируем том ' Сформируем команду для TC mount cmdTC = tcPath & " /q /v " & tcTarget & " /l" & tcLetter & " /p """ & tcPass & """" ' выполним Set objShell = CreateObject("WScript.Shell") Set objScriptExec = objShell.Exec(cmdPS & cmdTC) LogTXT = LogTXT & vbNewLine & " mount " & tcLetter & ":\ disk" & vbNewLine ' **** копируем ' Уснем на 60 секунд, дожидаясь выполнение команды монтирования тома WScript.sleep 60000 ' если требуются папки для каждого бэкапа 'DestinationFolder = DestinationFolder & "\" & Year(now) & Right("00" & CStr(Month(Now)), 2) & Right("00" & CStr(Day(Now)), 2) LogTXT = LogTXT & vbNewLine & "******************** " & Now & " ********************" LogTXT = LogTXT & vbNewLine & "Destination Folder is " & DestinationFolder & vbNewLine ' **** бэкап Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(SourceFolder) Set colFiles = objFolder.Files For Each objFiles in colFiles If objFiles.Attributes and 32 Then ' архивный бит установлен, то копируем objFSO.CopyFile objFiles.Path, DestinationFolder & "\" & objFiles.Name ' 2log LogTXT = LogTXT & vbNewLine & objFiles.Path & " copy done" ' снимем архивный бит objFiles.Attributes = objFiles.attributes - 32 End If Next ' **** размонтируем том ' Уснем на 60 секунд WScript.sleep 60000 ' Сформируем команду для TC unmount cmdTC = tcPath & " /q /d" & tcLetter & " /f /s" ' выполним Set objShell = CreateObject("WScript.Shell") Set objScriptExec = objShell.Exec(cmdPS & cmdTC) LogTXT = LogTXT & vbNewLine & " unmount " & tcLetter & ":\ disk" & vbNewLine ' **** Пишем лог Set FSO = CreateObject("Scripting.FileSystemObject") Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True) LogTXT = LogTXT & vbNewLine & "*************************************************************" LogFile.WriteLine LogTXT LogFile.Close Set FSO = Nothing Set objFSO = Nothing WScript.Quit 0 Вернуться назад |