![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Мониторинг USB устройств bat-файлом |
|
CMD/BAT - [решено] Мониторинг USB устройств bat-файлом
|
Новый участник Сообщения: 14 |
Со скриптами bat не сталкивался, особо не нужны были, но сейчас поставили задачу(кровь из носу надо сделать еще вчера) написать скрипт, который бы мониторил подключенные USB устройства, список разрешенных будет в отдельном файле, если подключаемое USB - устройство совпадает, то все нормально, а если нет, то либо блокирует хост, либо порты(закрыть передачу данных)...
batники, для меня что-то новое, инет ничего дельного не дает, вторые сутки уже сижу, пытают все систематизировать, уже депрессия маячит и начальство наседает! HELP! |
|
Отправлено: 11:42, 26-04-2020 |
(*.*) Сообщения: 36574
|
Профиль | Сайт | Отправить PM | Цитировать Цитата EvgenBrain:
https://www.techrepublic.com/article...-event-viewer/ Это не для тех, кто Цитата EvgenBrain:
Цитата DJ Mogarych:
|
|||
------- Отправлено: 21:37, 26-04-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Vadikan, да, пришел теперь к power shell... Но так как с ним тоже не сталкивался, ищу как это все реализовать
|
Отправлено: 11:43, 27-04-2020 | #12 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать EvgenBrain, То, что можно написать скриптами, с точки зрения безопасности - детский лепет и легко обходится. Можно, например, ориентироваться на серийный номер устройства.
Откуда его взять: В командной строке запустить wmic
У меня в файле C:\zzzzzz.txt получилось
MediaType Model Name SerialNumber Fixed hard disk media TOSHIBA MK1637GSX ATA Device \\.\PHYSICALDRIVE0 2020202020202020202059204a36464d46425359 Removable Media JetFlash Transcend 32GB USB Device \\.\PHYSICALDRIVE3 AA00000000000489 Removable Media JetFlash Transcend 8GB USB Device \\.\PHYSICALDRIVE1 03U0UDBRCJ6HLEYV External hard disk media WD My Passport 0743 USB Device \\.\PHYSICALDRIVE2 WX61A93R0348 Флэшка- Removable Media Внешний винт- External hard disk media Допустим, разрешены 2 устройства с номерами 03U0UDBRCJ6HLEYV WX61A93R0348 А вот AA00000000000489 будем считать нелегальным и при его подключении выключим комп А далее на компьютере должен быть запущен vbs-скрипт (например, в автозагрузке)
ConType = Array("Removable Media", "External hard disk media") ConSerial = Array("03U0UDBRCJ6HLEYV", "WX61A93R0348") Quant = 5 * 1000 'милиСек опроса FLog = "Z:\Soft_Out\Spy.txt" 'Лог-файл, куда запишется инфа о незарегистрированной флэшке Spause = 1 'Пауза Сек начала выключения Set WMI = GetObject("winmgmts:") Do Set DAll = WMI.ExecQuery("Select * from Win32_DiskDrive") Msg = "" Flag = True For Each Drv In DAll For Each iType In ConType If LCase(iType) = LCase(Drv.MediaType) Then Flag = False For Each iSerial In ConSerial If LCase(CStr(Drv.SerialNumber)) = LCase(iSerial) Then Flag = True Exit For End If Next End If If Flag Then Exit For Next If Not Flag Then Msg = CStr(Now) + vbTab + Drv.MediaType + vbTab + Drv.Model + vbTab + CStr(Drv.SerialNumber) ' MsgBox Msg With CreateObject("Scripting.FileSystemObject") Set F = .OpenTextFile(FLog, 8, True) F.WriteLine Msg F.Close End With R = CreateObject("WScript.Shell").Run("shutdown.exe /s /f /t " + CStr(Spause), 7, True) Exit For End If Next WScript.Sleep Quant Loop Здесь прописаны 2 типа контролируемых устройств: "Removable Media", "External hard disk media" Здесь прописаны 2 серийных номера: "03U0UDBRCJ6HLEYV", "WX61A93R0348" После обнаружения незарегистрированной флэшки комп через 1 секунду начнет выключаться При этом в файл (напишите свой путь) будут записаны атрибуты нелегальной флэшки Но это хилый костыль с легкой возможностью его нейтрализации. Зато всё штатное и ничего доустанавливать не нужно. |
------- Последний раз редактировалось megaloman, 27-04-2020 в 16:35. Отправлено: 16:23, 27-04-2020 | #13 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать megaloman, решил протестить скрипт, вообще тишина
|
Отправлено: 10:29, 29-04-2020 | #14 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать # В первых двух строчках мы считываем наши файлы.
wmic diskdrive get model > received_name.txt $Trusted_Name = get-content -Path .\trusted_name.txt $Received_Name = get-content -Path .\received_name.txt $i = $true do { foreach ($objectTN in $Trusted_Name) { $objectTN = $objectTN.tostring().Trim() $objectTN = $objectTN.Replace(" ","") $objectTN = $objectTN.ToUpper() $found = $False foreach ($objectRN in $Received_Name) { $objectRN = $objectRN.Replace(" ", "") $objectRN = $objectRN.Trim() $objectRN = $objectRN.ToUpper() if ($objectTN -eq $objectRN) { $found = $True } # return $found } if ($found -eq $false) { Stop-Computer } } } until($i -eq $true) почему скрипт не работает, ума не приложу, что с vbs, что ps1 |
Отправлено: 13:18, 29-04-2020 | #15 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать megaloman, test.txt
|
Отправлено: 13:23, 29-04-2020 | #16 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать megaloman, Файл 161196
megaloman, да в диспечере ws есть, я подключаю левую флешку и ничего не происходит |
Отправлено: 13:29, 29-04-2020 | #17 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать EvgenBrain,
1. Просил результат wmic 2. Сохраняйте скрипт в 1251 кодировке. 3. Вы понаписывали не то в контролируемых устройствах, надо: ConType = Array("Removable Media", "External hard disk media"), а вот серийные номера возьмите из результата wmic |
------- Отправлено: 13:34, 29-04-2020 | #18 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать megaloman, да в диспечере ws есть, я подключаю левую флешку и ничего не происходит
megaloman, есть телеграмм?? Очень нужна помощь! megaloman, есть телеграмм?? Очень нужна помощь! |
Отправлено: 13:36, 29-04-2020 | #19 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать megaloman, Снимок.PNG
|
Отправлено: 13:43, 29-04-2020 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом | BuSHmaker | Скриптовые языки администрирования Windows | 34 | 01-04-2019 21:57 | |
CMD/BAT - bat с файлом параметров | blacktor | Скриптовые языки администрирования Windows | 1 | 01-12-2015 21:06 | |
Разное - помогите с bat файлом | vasmixser | Программирование и базы данных | 6 | 25-10-2013 12:05 | |
CMD/BAT - Перезапустить службу bat файлом | ruslanstep1 | Программирование и базы данных | 8 | 26-06-2013 13:03 | |
Разное - странности с bat-файлом | бУРов | Microsoft Windows 7 | 0 | 05-03-2012 16:44 |
|