Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] подключение/отключение томов TrueCrypt

Ответить
Настройки темы
VBS/WSH/JS - [решено] подключение/отключение томов TrueCrypt

Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Прошу помощи в переводе данного скрипта BAT на VBS.
Код: Выделить весь код
@echo off
	set letr=w
	set "file=w.tc"
	set "TrCt=C:\Program Files\TrueCrypt\TrueCrypt.exe"
if exist "%letr%:" goto ds
	"%TrCt%" /l%letr% /v %file% /hn /cn /mrm /q
	exit
:ds
	"%TrCt%" /d%letr% /q /s /w
	if exist "%letr%:" goto :ds
	exit
Единственным отличием хочется видеть автоматическую подстановку буквы диска (берется из имени файла) при перетаскивании нужного файла на скрипт.
Слишком много файлов набралось и иметь для каждого собственный BAT уже не целесообразно, а один для всех случаев, как BAT не получится.

Отправлено: 23:33, 24-01-2015

 

Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


вдвойне странно.. у меня на двух разных машинах (обе с winXPx86ru)
Скрытый текст


Upd.
Проверил батник, который я тут привел... точно такое же поведение!
Хотя тот батник, что я пользуюсь постоянно, от приведенного отличается только этим:
Код: Выделить весь код
    set /p pass= 
    "%MYFILES%" /l%letr% /a devices /hn /cn /mts /mrm /q /w /s /p "%pass%
без ключа "/p" у меня на системе именно такое поведение.. почему-то принудительно подставляет скешированный пароль от другого тома.

Последний раз редактировалось pzh2393, 02-02-2015 в 12:42.


Отправлено: 12:12, 02-02-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Windows XP SP3. Какая версия TrueCrypt (полностью)?

Отправлено: 12:38, 02-02-2015 | #12


Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
Какая версия TrueCrypt (полностью)? »
7.1a

Тут наверное ещё наверное важно уточнить, что и системный раздел зашифрован TrueCrypt.

Отправлено: 14:30, 02-02-2015 | #13


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата pzh2393:
7.1a »
Аналогично.

Цитата pzh2393:
Тут наверное ещё наверное важно уточнить, что и системный раздел зашифрован TrueCrypt. »
Ага! Попробуем. Подключаемый раздел зашифрован? Скрыт? Но системный раздел я шифровать не стану, даже не просите .

Отправлено: 14:43, 02-02-2015 | #14


Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
Подключаемый раздел зашифрован?»
Да, весь раздел (диск, винчестер) зашифрован, но на другой машине зашифрованный раздел является лишь логическим разделом диска. Поведение в обоих случаях идентичное.

Цитата Iska:
Скрыт? »
Из системы скрыт (буква не присвоена), а для TrueCrypt является обычным (не скрытым).

Цитата Iska:
Но системный раздел я шифровать не стану, даже не просите »
Зачем такие жертвы, если выяснилось что это особенности поведения самого TrueCrypt, а вовсе не скрипта.

P.S. Если предварительно очистить пароли в кэше драйвера ключом "/wipe" - скрипт отрабатывает нормально.

Последний раз редактировалось pzh2393, 02-02-2015 в 15:39.


Отправлено: 15:17, 02-02-2015 | #15


Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Прошу глянуть, что я сделал не так?

Код: Выделить весь код
Dim strDriveLetter

Dim strPath2App

If WScript.Arguments.Count = 1 Then
	strContainerFile = WScript.Arguments.Item(0)
	
	With WScript.CreateObject("Scripting.FileSystemObject")
		If .FileExists(strContainerFile) Then
			strPath2TrueCrypt = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:ProgramFiles").self.Path, "TrueCrypt\TrueCrypt.exe")
			
			If .FileExists(strPath2TrueCrypt) Then
				strDriveLetter = Left(.GetBaseName(strContainerFile), 1) & ":"
				
				If Not .DriveExists(strDriveLetter) Then
					WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /letter " & strDriveLetter & " /volume """ & strContainerFile & """ /history n /cache y /mountoption removable /quit", 1, False

					strPath2App = .BuildPath(strDriveLetter, "autorun.bat")
					
					If .FileExists(strPath2App) Then
						WScript.CreateObject("WScript.Shell").Run """" & strPath2App & """", 1, False
					Else
						WScript.Quit 4
					End If

				Else
					WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /dismount " & strDriveLetter & " /quit", 1, False
				End If
			Else
				WScript.Echo "Can't find [" & strPath2TrueCrypt & "]."
				WScript.Quit 3
			End If
		Else
			WScript.Echo "Can't find TrueCrypt container file [" & strContainerFile & "]."
			WScript.Quit 2
		End If
	End With
Else
	WScript.Echo "Usage: " & WScript.ScriptName & " <TrueCrypt container file>"
	WScript.Quit 1
End If

WScript.Quit 0
Почему не запускается autorun.bat из корневого каталога смонтированного тома?

Отправлено: 16:53, 02-02-2015 | #16


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата pzh2393:
Почему не запускается autorun.bat из корневого каталога смонтированного тома? »
Например, потому, что этого тома ещё нет:
Цитата:
WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /letter " & strDriveLetter & " /volume """ & strContainerFile & """ /history n /cache y /mountoption removable /quit", 1, False
Замените «False» на «True».

Цитата pzh2393:
P.S. Если предварительно очистить пароли в кэше драйвера ключом "/wipe" - скрипт отрабатывает нормально. »
Ну, у меня работало и в исходном виде. А вот когда был одинаковый пароль для разных томов — в моём конкретном случае для одного обычного тома и одного скрытого — я наблюдал аналогичное поведение. «Ручками» сделав пароли разными — всё снова заработало.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:01, 02-02-2015 | #17


Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Прошу подсказать ещё раз!

Можно ли передать значение переменной strDriveLetter, указанного выше скрипта, в другой VBS, в частности для использования в autorun.vbs?

Например в таком autorun.vbs
Код: Выделить весь код
Option Explicit

WScript.CreateObject("WScript.Shell").Run """" & "sOft\TotalCommander\TOTALCMD.EXE" & """l=strDriveLetter", 3, False

WScript.Quit 0
т.е. запуск TotalCommander сразу с открытым смонтированным диском в панели.

Отправлено: 11:15, 14-05-2015 | #18


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата pzh2393:
Можно ли передать значение переменной strDriveLetter, указанного выше скрипта, в другой VBS, в частности для использования в autorun.vbs? »
Можно. Например, параметром этого второго скрипта при его вызове. Соответствующим образом модифицировав этот самый второй скрипт.

Отправлено: 15:47, 22-05-2015 | #19



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] подключение/отключение томов TrueCrypt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Отключение и подключение интернет соединения drmodjo Скриптовые языки администрирования Windows 23 08-06-2018 14:05
HDD - Горячее подключение/отключение жёстких дисков SATA (Hot plug) BombJack Накопители (SSD, HDD, USB Flash) 9 31-10-2012 06:38
Любой язык - [решено] Автоматическое подключение/отключение интернет permas Скриптовые языки администрирования Windows 15 28-10-2011 02:14
CMD/BAT - Автоматическое подключение/отключение сетевого подключения DaFTSPiRiT Скриптовые языки администрирования Windows 7 21-08-2010 20:02
Подключение/Отключение локальной сети из коммандной строки Blast Microsoft Windows NT/2000/2003 9 29-10-2004 09:41




 
Переход