IPB

Здравствуйте, гость ( Вход | Регистрация )

> команда для безопасного извлечения USB устройств, Чтобы было также легко вытащить, как и вставить
MKN
20.04.2007 - 14:46
Сообщение #1


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




Кто знает команду для безопасного извлечения USB устройств в среде Win XP ?

Надоело лишние клики делать - одним бы надо. Для Linuxa видел, для Винды никак не найду...
User is offlineProfile Card PM
Go to the top of the page
+
 
Reply to this topicStart new topic
Ответов(1 - 22)
AndyBitOff
20.04.2007 - 16:23
Сообщение #2



Gold Member
Group Icon
Группа: Супермодераторы
Сообщений: 783
Регистрация: 2.11.2004
Из: Saint-Petersburg (Russia)

Пользователь №: 67823




Хм. А Вы это делаете? Странно, я ниразу не использовал года за три.
Если, конечно, во время записи/чтения вынуть то, возможно, проблемы и будут, а так ИМХО - пофиг.


--------------------
Если ты сегодня кому-то помог, значит, день прожит не зря и завтра, возможно, помогут тебе. (кредо)
User is offlineProfile Card PM
Go to the top of the page
+
MKN
20.04.2007 - 16:48
Сообщение #3


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




AndyBitOff

Напрасно смеёшься. У меня уже коллекция загубленных таким образом флэшек... :)

Так как всё-таки насчёт извлечения одним кликом ?
User is offlineProfile Card PM
Go to the top of the page
+
SubWoofer
20.04.2007 - 17:29
Сообщение #4



EDITOR
****
Группа: Full member
Сообщений: 481
Регистрация: 5.05.2006

Пользователь №: 160989




MKN
Для администраторов локального компьютера система автоматически настроена на безопасное удаление флеш-диска.
Проверяем здесь: ”Мой компьютер”, USB-диск, Свойства, Оборудование, далее конкретное USB-устройство, кнопка Свойства, закладка Политика. По умолчанию включено "Оптимизировать для быстрого удаления". Так что администраторам доставать из компьютера USB-диск можно и без "Безопасного извлечения устройства", сразу после окончания работы с диском. Если конечно они сами не изменят дефолтную настройку ;) .
Однако простым пользователям локального компьютера, лучше использовать "Безопасное извлечение устройства", т. к. у них по умолчанию, и без права изменения, включено "Оптимизировать для выполнения", т. е. кэширование разрешено, и где это изменяется что-то не нашёл :( ...

А вообще, интересно было бы найти эту фичу. Лень - мать прогресса! :)


--------------------
Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php
User is offlineProfile Card PM
Go to the top of the page
+
MKN
20.04.2007 - 17:31
Сообщение #5


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




SubWoofer

Любопытно насчёт админов. Не знал. Спасибо. Но... Если скажем в процессе копирования флэшку выдернуть ?..

Сообщение было отредактировано MKN: 20.04.2007 - 17:33
User is offlineProfile Card PM
Go to the top of the page
+
SubWoofer
20.04.2007 - 17:40
Сообщение #6



EDITOR
****
Группа: Full member
Сообщений: 481
Регистрация: 5.05.2006

Пользователь №: 160989




MKN
Это будет флеш-моб.
Получишь вторую коллекцию загубленных флешей. Потом можно будет открыть музей мёртвых флешей.


--------------------
Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php
User is offlineProfile Card PM
Go to the top of the page
+
MKN
20.04.2007 - 17:45
Сообщение #7


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




SubWoofer

Ну, это я варварскую ситуацию привёл. Вот когда флэшка вставленна и ты с ней не работаешь, а затем вздумал извлечь, а система за каким то лядом к ней обратилась - такая же беда может быть, даже у админа. А всё потому, что лень кликать несколько раз. А вот один - пожалуй... :)
User is offlineProfile Card PM
Go to the top of the page
+
RealOnix
20.04.2007 - 20:03
Сообщение #8



Gold Member
Group Icon
Группа: Старейшины
Сообщений: 552
Регистрация: 19.11.2002
Из: Россия, Москва

Пользователь №: 2875




SubWoofer
Галка в настройках устройства отключает только кэширование записи.
При использовании функции Безопасного извлечения устройства также отключается питание на этом устройстве - светодиод на флэшке гаснет. То же самое с картридером - отключаются все светодиоды на нем.
То есть по идее Безопасное извлечение имхо действительно безопаснее чем просто отключение кэширования записи.

P.S. На моем переносном USB винте питание таким образом не отключается - он все равно работает.

Сообщение было отредактировано RealOnix: 20.04.2007 - 20:04


--------------------
На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным.
User is offlineProfile Card PM
Go to the top of the page
+
SubWoofer
20.04.2007 - 21:09
Сообщение #9



EDITOR
****
Группа: Full member
Сообщений: 481
Регистрация: 5.05.2006

Пользователь №: 160989




RealOnix
Там галка не просто кэширования записи, а "Кэширование записи и безопасное удаление", в функции которого входит отключение флеша без использования Безопасного удаления.
В остальном всё верно.


--------------------
Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php
User is offlineProfile Card PM
Go to the top of the page
+
RealOnix
21.04.2007 - 00:03
Сообщение #10



Gold Member
Group Icon
Группа: Старейшины
Сообщений: 552
Регистрация: 19.11.2002
Из: Россия, Москва

Пользователь №: 2875




Потратив пару часов на изучение вопроса об отключении USB накопителей через командную строку выяснил следующее:
1. Библиотека выполняющая данные функции называется hotplug.dll - находится в папке System32.
2. Функция отвечающая за отключение устройства называется HotPlugEjectDevice. Ее параметры неизвестны, т.к. функции этой библиотеки недокументированы. На MSDN информации нет.
3. В интернете много людей озадачены подобным вопросом и практически нигде не удалось найти решения.
4. Где то упоминалось что можно отключить устройство при помощи скрипта device.vbs, но у меня так и не получилось это сделать, хотя долго я с ним и не разбирался. Но если есть желание - могу его выложить ;)

Вот такая инфа :)


--------------------
На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным.
User is offlineProfile Card PM
Go to the top of the page
+
MKN
21.04.2007 - 08:57
Сообщение #11


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




RealOnix

Осчастлив народ - сделай такой скрипт (device.vbs).
Я тогда кнопку извлечения USB так и назову - RealOnix :)
User is offlineProfile Card PM
Go to the top of the page
+
RealOnix
21.04.2007 - 09:42
Сообщение #12



Gold Member
Group Icon
Группа: Старейшины
Сообщений: 552
Регистрация: 19.11.2002
Из: Россия, Москва

Пользователь №: 2875




MKN
Зачем его делать, если он уже есть :) Он из комплекта какого то тулкита для 2000 винды.
Как вложить файл в соощение я не нашел, поэтому залил сюда - _ttp://slil.ru/24268858
Вывод справки:
Код
cscript device.vbs /?

Главная проблема - это определить какое устройство нужно отключать. Если получится - пиши :)


--------------------
На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным.
User is offlineProfile Card PM
Go to the top of the page
+
MKN
21.04.2007 - 10:49
Сообщение #13


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




RealOnix

Это же "универсальный" скрипт для любых девайсов и разнообразных операций с ними... Конкретно под USB его ещё "довести" надо как то... Такая горожа не стоит возни. (кнопка, если и будет у меня - назовётся по другому ! :) )
User is offlineProfile Card PM
Go to the top of the page
+
RealOnix
21.04.2007 - 15:45
Сообщение #14



Gold Member
Group Icon
Группа: Старейшины
Сообщений: 552
Регистрация: 19.11.2002
Из: Россия, Москва

Пользователь №: 2875




MKN
Для USB устройств хранения информации используется имя USBSTOR\GenDisk. Его и нужно отключать.
Есть еще утилита - devcon.exe - она позволяет работать с устройствами так же как и Диспетчер устройств, но только из командной строки. Найти ее можно на сайте M$.
Есть еще родная виндозная утилитка - rsm.exe предназначенная для работы со сменными устройствами. Но думаю, что она тут не поможет.
Либо попробуй расковырять библиотеку hotplug.dll - она в этом деле как раз самое то. Проблема только в том, что ее функции нигде не документированы (как я уже и писал выше). Так что из этой затеи тоже мало что получится.
В общем, я считаю, что у тебя еще очень долго не появится заветная кнопка :)

P.S. Мне хватило вчерашнего вечера, чтобы забить на эту затею. Может быть у тебя терпения будет больше ;)


--------------------
На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным.
User is offlineProfile Card PM
Go to the top of the page
+
SubWoofer
21.04.2007 - 15:50
Сообщение #15



EDITOR
****
Группа: Full member
Сообщений: 481
Регистрация: 5.05.2006

Пользователь №: 160989




RealOnix
Цитата
Мне хватило вчерашнего вечера, чтобы забить на эту затею...

Аналогично :D


--------------------
Для ремонта мозгов электронных - www.bestfilez.net/forums/index.php
...и нейронных - www.avanturist.org/forum/index.php
User is offlineProfile Card PM
Go to the top of the page
+
Lesovik
21.05.2007 - 19:04
Сообщение #16


No Avatar
Full Member
***
Группа: Full member
Сообщений: 113
Регистрация: 1.11.2002
Из: Москва - Зеленоград

Пользователь №: 2134




Как-то должно работать это
Цитата
rundll32.exe hotplug.dll,HotPlugSafeRemovalNotification \\.\pipe\PNP_HotPlug_Pipe_0.{453A981F-62F9-4099-9C21-5D2DEBE4E353}
Где 16-ричный код - код устройства.

Где взять этот 16-ричный код я пока не догнал - моя флешка определяется как "USB\Vid_4146&Pid_ba01\00AD0000000366"

Еще можно так, хотя равносильно клику по иконке в трее:
rundll32.exe shell32.dll,Control_RunDLL hotplug.dll
Вызывает диалоговое окно отключения usb устройств, остается только нажать кнопку "Stop".

Три маленькие утилитки для этого самого:
_http://ifolder.ru/2083518
DevEject
RemoveDrive
EjectMedia

И еще одна
_http://www.nirsoft.net/utils/usb_devices_view.html

Можно попробовать это
_http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true
или это
_http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/mountvol.mspx?mfr=true

Сообщение было отредактировано Lesovik: 21.05.2007 - 19:33


--------------------
Делайте хорошо! ...плохо само получается...
User is offlineProfile Card PM
Go to the top of the page
+
RealOnix
21.05.2007 - 23:18
Сообщение #17



Gold Member
Group Icon
Группа: Старейшины
Сообщений: 552
Регистрация: 19.11.2002
Из: Россия, Москва

Пользователь №: 2875




Lesovik
Vid и Pid - это коды вендора и продукта устройства. В данном случае они не нужны.
Утилита fsutil (по первой ссылке на M$) работает только с NTFS томами и, боюсь, с флешками мало поможет.
Утилита mountvol (по второй ссылке на M$) позволяет монтировать какой либо том (volume) как NTFS папку - то есть для данной проблемы совершенно непригодна.
А вот утилитка USBDeview все же делает то о чем так мечтал MKN :) - достаточно только выполнить такую команду:
Код
usbdeview /stop_by_drive [disk]
где [disk] - имя диска с флэшкой, например - F:

Остальные утилиты я уже не проверял ;)

MKN
Возрадуйся же наконец :) Теперь ты можешь назвать завтетную кнопку именем Lesovik :)


--------------------
На будущее влияет не настоящее... это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным.
User is offlineProfile Card PM
Go to the top of the page
+
Lesovik
22.05.2007 - 00:02
Сообщение #18


No Avatar
Full Member
***
Группа: Full member
Сообщений: 113
Регистрация: 1.11.2002
Из: Москва - Зеленоград

Пользователь №: 2134




DevEject тоже работает.
достаточно скомандовать
deveject.exe -EjectDrive:[диск]:
где [disk] - имя диска с флэшкой, например - F :)
Остальное я тоже не проверял )
Цитата
Возрадуйся же наконец Теперь ты можешь назвать завтетную кнопку именем Lesovik

И чтоб каждый раз по мне щелкали?! Увольте! :D

Сообщение было отредактировано Lesovik: 22.05.2007 - 00:06


--------------------
Делайте хорошо! ...плохо само получается...
User is offlineProfile Card PM
Go to the top of the page
+
MKN
22.05.2007 - 09:26
Сообщение #19


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




Спасибо, ребята, хотя "мечтал"я не совсем о том... Не сторонними утилитами, а средствами команды Винды флэшки останавливать на скаку.
Впрочем это же результат - какая вроде бы разница, как гланды удалять... :)

Сообщение было отредактировано MKN: 22.05.2007 - 09:26
User is offlineProfile Card PM
Go to the top of the page
+
SergKir
10.08.2007 - 19:26
Сообщение #20


No Avatar
Novice
*
Группа: Новичок
Сообщений: 2
Регистрация: 20.06.2007

Пользователь №: 189739




в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ
User is offlineProfile Card PM
Go to the top of the page
+
MKN
11.08.2007 - 09:13
Сообщение #21


No Avatar
Баламут
******
Группа: BANNED
Сообщений: 1236
Регистрация: 3.12.2004

Пользователь №: 74697




SergKir

Цитата
в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ


Именно с этим безобразием и боролись. Как - см. выше.
User is offlineProfile Card PM
Go to the top of the page
+
Webber
14.05.2008 - 21:10
Сообщение #22



Гость










Цитата(MKN @ 11.08.2007 - 10:13) *

SergKir

Цитата
в моем компьютере на иконке флешки жмем правую кнопку мышки и в меню выбираем - ИЗВЛЕЧЬ


Именно с этим безобразием и боролись. Как - см. выше.


У меня немного другая задача - безопасно(!) и максимально быстро извлечь флэшку, даже если она находится в работе.
Стандартными и нестандартными утилитами (указанными выше) это не получается!

Причём вариантов подобного извлечения два:
1) устройство просто открыто (например, в проводнике, far-е или любой другой программе), но считывание и запиcь на него не производится.
2) на устройство в данный момент производится запись (или происходит чтение).

Ни первый, ни тем более второй вариант НЕ позволяют программно извлечь флэшку.
Хотя, казалось бы, почему бы не сделать подобное безопасное извлечение хотя бы для первого варианта...

А это очень нужно! Цель: сохранность инфы при максимально быстром извлечении устройства (для чего это нужно, наверное, догадываетесь).

Сообщение было отредактировано Webber: 14.05.2008 - 21:11
Go to the top of the page
+
vittro
19.11.2009 - 18:50
Сообщение #23



Гость










Функции hotplug.dll можно посмотреть в экспортах только от них толку:
CPlApplet
CreateLocalServerW
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
HotPlugDeviceTree
HotPlugDriverBlockedW
HotPlugEjectDevice
HotPlugEjectVetoedW
HotPlugHibernateVetoedW
HotPlugRemovalVetoedW
HotPlugSafeRemovalNotificationW
HotPlugStandbyVetoedW
HotPlugWarmEjectVetoedW
Go to the top of the page
+
Реклама

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



- Текстовая версия Сейчас: 28.03.2024 - 17:04
]]> ]]>
]]> Яндекс.Метрика ]]>