laborant
23-12-2012, 14:23
Доброго времени суток. Задача:
Имеем много отдельно стоящих ПК (не в сети) На большинстве установлена корпоративная ОС Windows 7 Pro 32
Есть столько же накопителей. Суть в том что бы на каждом можно было открывать только учтенный накопитель. При попытке подключения накопителя не из списка система блокировалась и блокировку мог снять только Администратор (для выявления кто использует) У всех пользователей права ограничены. Пробовал через групповые политики, не подходит по причине что каждый накопитель необходимо прописать в каждый комп. Нашёл решение частично, использовал VB.net
Public Class Form1
Dim obj, objs, PnPID, flash
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TCheck.Tick
'Me.Visible = False
objs = GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
For Each Me.obj In objs
If obj.InterfaceType = "USB" Then
PnPID = obj.PnPDeviceID
FileOpen(1, Application.StartupPath & "\Flash.dcm", OpenMode.Input) ' открываем файл откуда брать значения
Do Until EOF(1)
flash = LineInput(1) 'Получаем значение из файла
If flash = PnPID Then Exit Do
Loop
FileClose(1)
End If
Next
If PnPID <> flash Then Shell("net user " & Environment.UserName & " /active:no") : Shell("logoff") : End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TCheck.Start() 'Запускаем таймер, каждые пять секунд
End Sub
End Class
Проблема в том, что если подключить учтенный накопитель и оставить его в системе, то после подключения второго система не обнаруживает что накопитель "домашний".
Второй вопрос, какой командой кроме Net user можно заблокировать (отключить) учётную запись. то есть если пользователь совершает нарушение (будет выявлено программой) система блокировала комп и пользователь своими правами не мог снять блокировку.
Имеем много отдельно стоящих ПК (не в сети) На большинстве установлена корпоративная ОС Windows 7 Pro 32
Есть столько же накопителей. Суть в том что бы на каждом можно было открывать только учтенный накопитель. При попытке подключения накопителя не из списка система блокировалась и блокировку мог снять только Администратор (для выявления кто использует) У всех пользователей права ограничены. Пробовал через групповые политики, не подходит по причине что каждый накопитель необходимо прописать в каждый комп. Нашёл решение частично, использовал VB.net
Public Class Form1
Dim obj, objs, PnPID, flash
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TCheck.Tick
'Me.Visible = False
objs = GetObject("winmgmts:").InstancesOf("Win32_DiskDrive")
For Each Me.obj In objs
If obj.InterfaceType = "USB" Then
PnPID = obj.PnPDeviceID
FileOpen(1, Application.StartupPath & "\Flash.dcm", OpenMode.Input) ' открываем файл откуда брать значения
Do Until EOF(1)
flash = LineInput(1) 'Получаем значение из файла
If flash = PnPID Then Exit Do
Loop
FileClose(1)
End If
Next
If PnPID <> flash Then Shell("net user " & Environment.UserName & " /active:no") : Shell("logoff") : End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TCheck.Start() 'Запускаем таймер, каждые пять секунд
End Sub
End Class
Проблема в том, что если подключить учтенный накопитель и оставить его в системе, то после подключения второго система не обнаруживает что накопитель "домашний".
Второй вопрос, какой командой кроме Net user можно заблокировать (отключить) учётную запись. то есть если пользователь совершает нарушение (будет выявлено программой) система блокировала комп и пользователь своими правами не мог снять блокировку.