Главная > 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


truecrypt_mount_copy_unmount_v1.rar [2,61 Kb] (cкачиваний: 77)

Вернуться назад