Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Мониторинг USB устройств bat-файлом

Новый участник


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

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


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

Отправлено: 11:42, 26-04-2020

 

Ветеран


Contributor


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

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


EvgenBrain, Всё прекрасно! Надо контролировать два типа устройств: флэшки и внешние диски. На картинке они присутствуют.
ConType = Array("Removable Media", "External hard disk media")
Зачем запускать wmic c выводом в файл - чтобы потом перенести серийные номера разрешенных флэшек и внешних дисков копипастом - руками можно накосячить. Единственное, там файл лучше открывать как UTF, чтобы не было лишних пробелов.
У меня было:
ConSerial = Array("03U0UDBRCJ6HLEYV", "WX61A93R0348")
Вы вбейте свои.
Кстати, поубивайте в диспетчере все лишние wscript

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 14:16, 29-04-2020 | #21



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

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


Новый участник


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

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


у меня вопрос, а можно связать интерфейс с этим скриптом? Так, чтобы массив мы вручную задавали??
а интерфейс написать на Vba
И как его скрыьт из диспетчера задач??

Последний раз редактировалось EvgenBrain, 29-04-2020 в 21:34.


Отправлено: 17:09, 29-04-2020 | #22


Ветеран


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

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


Цитата EvgenBrain:
а можно связать интерфейс с этим скриптом? Так, чтобы массив мы вручную задавали?? »
Не надо интерфейса. Задавайте параметрами скрипта.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:41, 30-04-2020 | #23


Ветеран


Contributor


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

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


EvgenBrain, в чем смысл интерфейса? Опишите порядок действий при работе с использованием этого интерфейса для защиты несанкционированного подключения флэшки. Кстати, до сих пор нигде не звучало, а сколько флэшек надо разрешить. И эти флэшки одинаковы для всех пользователей в организации или у каждого свои? В чем смысл этих плясок?
Имхо, есть текстовый редактор, какой еще интерфейс нужно создавать?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 10:45, 30-04-2020 | #24


Новый участник


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

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


Есть учреждение, где разрешено 10 флешек, но есть вероятность, что будут поступать новые.
Начальство сначала просило написать скрипт, хорошо, а потом моча в голову долбанула, мол а давайте еще интерфейс замутим, чтобы пользователь(владелец хоста) сам сносил нужный перечень разрешенных флешек... По мне так бред бредом, единственное, что приходит на ум, так сделать банальную winForm, чтобы та в свою очередь создавала 2 текстовых файла с данными, а скрипт их считывал, но тогда возникают другие "камни"

Есть учреждение, где разрешено 10 флешек, но есть вероятность, что будут поступать новые.
Начальство сначала просило написать скрипт, хорошо, а потом моча в голову долбанула, мол а давайте еще интерфейс замутим, чтобы пользователь(владелец хоста) сам сносил нужный перечень разрешенных флешек... По мне так бред бредом, единственное, что приходит на ум, так сделать банальную winForm, чтобы та в свою очередь создавала 2 текстовых файла с данными, а скрипт их считывал, но тогда возникают другие "камни"...
И вот как его скрыть из диспетчера задач

Отправлено: 11:53, 30-04-2020 | #25


Ветеран


Contributor


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

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


EvgenBrain,
Цитата EvgenBrain:
чтобы пользователь(владелец хоста) сам сносил нужный перечень разрешенных флешек... »
Изначально поставленная задача - это профанация системы безопасности. А пустить пользователя в нее - вообще без смысла.
Цитата EvgenBrain:
И вот как его скрыть из диспетчера задач »
- это уже за пределом моего понимания.
Вот вариант с "интерфейсом" - текстовым редактором
Код: Выделить весь код
Perm = "\\Server\Test11\permition.txt"     'Файл с разрешенными номерами флэшек

Quant = 5 * 1000    'милиСек опроса списка дисков
Frequency = 60      'Сколько опросов списка дисков для перепрочтения файла с номерами

FLog = "Z:\Soft_Out\Spy.txt"                    'Лог-файл, куда запишется инфа о нерегистрированной флэшке
Spause = 2                                    'Пауза Сек начала выключения
    
ConType = Array("Removable Media", "External hard disk media")

Set WMI = GetObject("winmgmts:")
Set FSO = CreateObject("Scripting.FileSystemObject")

iFreq = Frequency
Do
    If iFreq = Frequency Then
        On Error Resume Next
        Set fIn = FSO.OpenTextFile(Perm, 1, False)
        If Err.Number <> 0 Then
            MsgBox "File   " + Perm + vbCrLf + Err.Description + "(" + CStr(Err.Number) + ")"
            ConSerial = Array(" ")
'            WScript.Quit 2
	Else
        	ConSerial = Split(fIn.ReadAll, vbCrLf)
        	fIn.Close
        End If
        On Error GoTo 0

        iFreq = 0
    End If
    
'    For Each iSerial In ConSerial
'        If Len(Trim(iSerial)) <> 0 Then MsgBox iSerial
'    Next
    
    iFreq = iFreq + 1
    
    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 Len(Trim(iSerial)) <> 0 Then
'                        MsgBox iSerial + "^" + CStr(Drv.SerialNumber)
                        If LCase(CStr(Drv.SerialNumber)) = LCase(Trim(iSerial)) Then
                            Flag = True
                            Exit For
                        End If
                    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
            Set F = FSO.OpenTextFile(FLog, 8, True)
            F.WriteLine Msg
            F.Close
            R = CreateObject("WScript.Shell").Run("shutdown.exe /s /f /t " + CStr(Spause), 7, True)
            Exit For
        End If
    Next
    WScript.Sleep Quant
Loop
Предполагается, что где-то на сервере есть файл

Perm = "\\Server\Test1\permition.txt" 'Файл с разрешенными номерами флэшек

с доступом только для чтения, кстати, можно организовать, что он будет персональным для каждого пользователя.
Администратор сможет прописывать в этом файле с помощью "интерфейса" - текстового редактора, список разрешенных флэшек.
Управление безопасностью - это прежде всего система ограничений прав пользователя, и без администратора никак.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 30-04-2020 в 13:49.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:33, 30-04-2020 | #26


Ветеран


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

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


Цитата EvgenBrain:
И вот как его скрыть из диспетчера задач »
Никак.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:13, 30-04-2020 | #27


Новый участник


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

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


megaloman, conType остается статическим?? или так же можно вставить ссылку на файл с содержанием???

Отправлено: 19:34, 30-04-2020 | #28


Ветеран


Contributor


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

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


EvgenBrain,
Цитата:
conType остается статическим?? или так же можно вставить ссылку на файл с содержанием???
Зачем? Вам надо контролировать флэшки и внешние винты.
"Removable Media", "External hard disk media"
Продемонстрируйте, что еще возможно?
Смысл считывать эту инфу из файла?
Можно еще в файле к номерам прицепить модель устройства, но смысл? Усложнить администрирование?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:43, 30-04-2020 | #29


Новый участник


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

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


Я - то понимаю, что это усложняет задачу, но руководству не докажешь

Отправлено: 17:26, 01-05-2020 | #30



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход