Показать полную графическую версию : [решено] Как узнать, какие сетевые диски подключены у пользователей
brudershaft
01-10-2010, 08:13
Задача: узнать, какие сетевые диски (буквы и ресурсы, спрятанные за буквами) подключены у пользователей.
Данные:
1. Клиентские машины на WinXP SP3 и парочка Windows 7, все в домене.
2. Имеется учётная запись с правами локального администратора на клиентах
3. В наличии PsExec (от Марка Русиновича)
Что было сделано: с помощью PsExec пробовалось использовать Net use, но ведь оно даёт сведения только о пользователе, его запускающем.
P.S.: только начал свой путь как системный администратор, посему прошу отнестись с пониманием некой бестолковости.
lohi1234567
01-10-2010, 08:32
в процесе работы пользователя новые сетевые диски появляются или же только при логоне пользователя?
пользователи подключают диски и ты хочешь узнать что именно они подключили.
я правильно понял?
brudershaft
01-10-2010, 09:02
в процесе работы пользователя новые сетевые диски появляются или же только при логоне пользователя?
пользователи подключают диски и ты хочешь узнать что именно они подключили.
я правильно понял? »
почти. одни и те же ресурсы у разных пользователей уже подключены под разными буквами сетевых дисков, хотелось бы узнать, под какими, а затем всё это систематизировать. сами они ничего не подключают.
brudershaft
01-10-2010, 09:43
было испробовано вот такое средство на PowerShell:
Get-WMIObject -Class Win32_mappedlogicaldisk -Computername 192.168.1.15 | Select-Object caption, providername
работает c компами на Win7, но не со всеми :(
на XP-шных ничего не выдает
lohi1234567
01-10-2010, 10:09
могу предложить:
1. если на 7ке работает то на ХП поставь PowerShell и пользуйся себе
2. разве в политике домена не настроено автоматом подключать на какойто сетевой диск (не обязательно у всех должна быть разная буква) (собственно бушш знать что именно такая буква ведет к определенному пути)
3. поставь скрипт при загрузке пользователей который будет сливать нежную тебе информацию на какуето розшаряную папку(при необходимосто можно сделать скрытую шару и выставить права на запись без возможности просмотра содержимого)
brudershaft, должно работать, наличие PowerShell на XP не требуется, читайте ошибки и разбирайтесь с безопасностью, на всякий случай CMD-аналог команды:
WMIC /NODE:"Computer01" Path Win32_MappedLogicalDisk GET NAME,ProviderName
Petya V4sechkin
01-10-2010, 10:44
amel27, имеется в виду, что диски мапятся в сеансе текущего пользователя, а удаленное подключение (будь то PsExec или WMI) происходит под админской учеткой.
El Sanchez
01-10-2010, 11:11
brudershaft, еще вариант с WMIC
Wmic Netuse Where (LocalName!="" And Persistent=TRUE) Get LocalName,RemoteName,ConnectionState
Petya V4sechkin, в описании (http://msdn.microsoft.com/en-us/library/aa394194(VS.85).aspx) объекта сказано, что при настроенной политике ("Системные объекты: владелец по умолчанию...") он всегда должен возвращать диски текущей интерактивной сессии, но у меня работает только для сессий пользователей - членов группы локальных админов ((
El Sanchez, постоянные подключения можно просто выдернуть из реестра HKCU\Network, проблема как раз с временными
El Sanchez
01-10-2010, 12:11
почти. одни и те же ресурсы у разных пользователей уже подключены под разными буквами сетевых дисков, хотелось бы узнать, под какими, а затем всё это систематизировать. сами они ничего не подключают. »
amel27, ну вроде как только постоянные подключения и нужны, а за трикс с реестром спасибо (надо же, не знал :))
El Sanchez, может они "подключены" логон-скриптом?.. машинки то в домене... тут возможны варианты: NET USE (по умолчанию) делает подключения постоянными, а WSH - временными... да и просто интересно )))
brudershaft
02-10-2010, 01:10
Petya V4sechkin, в описании объекта сказано, что при настроенной политике ("Системные объекты: владелец по умолчанию...") он всегда должен возвращать диски текущей интерактивной сессии, но у меня работает только для сессий пользователей - членов группы локальных админов (( »
кстати, этот момент забыл отследить, действительно, на нескольких компах залогиненные пользователи - члены группы лок. админов
El Sanchez, может они "подключены" логон-скриптом?.. машинки то в домене... тут возможны варианты: NET USE (по умолчанию) делает подключения постоянными, а WSH - временными... да и просто интересно ))) »
частично. для всех пользователей логон-скриптом подключается общая папка для работы и занимает ту (Ту Самую!) буковку, за которой раньше располагалась жизненно важная папочка на далеком сервере. остальные сетевые диски подключались, как правило, мной вручную.
Плюс, хочется в этом деле уж разобраться до конца и попробовать через PSH и WMI создать всем отдельную папку - сетевой диск - для почты, которую они выуживают через кучу каталогов с терминального сервера. Но это уже, пожалуй, не совсем по теме.
Пока до понедельника, там буду пробовать:
1. На время дам права админов каждой учётке.
2. Запущу WMIC /NODE:"Computer01" Path Win32_MappedLogicalDisk GET NAME,ProviderName
3. Заберу права админов.
И вариант вот отсюда (http://forum.oszone.net/post-1508724-5.html) с запуском скрипта при логине с сбросом инфы в шареную папку -- тоже хорош. Только за неимением доступа к политикам и знаний соответствующих, запущу в виде батника из автозагрузки :)
brudershaft
08-10-2010, 16:30
Итак. Вариант с WMI + PowerShell не прокатывает, в чём причина, понять пока не могу. Большое спасибо lohi1234567 за отличный совет, я так и поступил: PSh-овским Foreach-Object каждому в автозагрузку закинул net use с выводом результата в шару, теперь у меня есть список их дисков. Конечно, неудобство в том, что работает только после перезагрузки и не показывает дисков, подключаемых логон-скриптом. Но в целом дело делается. Пробовал с помощью Назначенных заданий, но они что-то не очень хотят запускаться, видимо, я не до конца в них разобрался. Буду грызть PowerShell, отличная штука, кстати. Похожа на Perl очень сильно.
Вопрос решён, аудит проведён, думаю, тему можно закрыть.
Wmic Netuse Where (LocalName!="" And Persistent=TRUE) Get LocalName,RemoteName,ConnectionState »
У меня данный скрипт запускается, но всегда показывает диски только на том компьютере где его запускаешь.
Менял параметр LocalName!="" на LocalName!="192.168.0.5"
PS: Или он только это и должен показывать?!
а политикой прописать машинам logoff скрипт с командой
net use >>\\server\share\%computername%_%username%_share.txt уже советовали?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.