Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как узнать, какие сетевые диски подключены у пользователей (http://forum.oszone.net/showthread.php?t=187045)

brudershaft 01-10-2010 08:13 1508653

Как узнать, какие сетевые диски подключены у пользователей
 
Задача: узнать, какие сетевые диски (буквы и ресурсы, спрятанные за буквами) подключены у пользователей.
Данные:
1. Клиентские машины на WinXP SP3 и парочка Windows 7, все в домене.
2. Имеется учётная запись с правами локального администратора на клиентах
3. В наличии PsExec (от Марка Русиновича)

Что было сделано: с помощью PsExec пробовалось использовать Net use, но ведь оно даёт сведения только о пользователе, его запускающем.

P.S.: только начал свой путь как системный администратор, посему прошу отнестись с пониманием некой бестолковости.

lohi1234567 01-10-2010 08:32 1508657

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

brudershaft 01-10-2010 09:02 1508669

Цитата:

Цитата lohi1234567
в процесе работы пользователя новые сетевые диски появляются или же только при логоне пользователя?
пользователи подключают диски и ты хочешь узнать что именно они подключили.
я правильно понял? »

почти. одни и те же ресурсы у разных пользователей уже подключены под разными буквами сетевых дисков, хотелось бы узнать, под какими, а затем всё это систематизировать. сами они ничего не подключают.

brudershaft 01-10-2010 09:43 1508708

было испробовано вот такое средство на PowerShell:
Код:

Get-WMIObject -Class Win32_mappedlogicaldisk -Computername 192.168.1.15 | Select-Object caption, providername
работает c компами на Win7, но не со всеми :(
на XP-шных ничего не выдает

lohi1234567 01-10-2010 10:09 1508724

могу предложить:
1. если на 7ке работает то на ХП поставь PowerShell и пользуйся себе
2. разве в политике домена не настроено автоматом подключать на какойто сетевой диск (не обязательно у всех должна быть разная буква) (собственно бушш знать что именно такая буква ведет к определенному пути)
3. поставь скрипт при загрузке пользователей который будет сливать нежную тебе информацию на какуето розшаряную папку(при необходимосто можно сделать скрытую шару и выставить права на запись без возможности просмотра содержимого)

amel27 01-10-2010 10:37 1508742

brudershaft, должно работать, наличие PowerShell на XP не требуется, читайте ошибки и разбирайтесь с безопасностью, на всякий случай CMD-аналог команды:
Код:

WMIC /NODE:"Computer01" Path Win32_MappedLogicalDisk GET NAME,ProviderName

Petya V4sechkin 01-10-2010 10:44 1508747

amel27, имеется в виду, что диски мапятся в сеансе текущего пользователя, а удаленное подключение (будь то PsExec или WMI) происходит под админской учеткой.

El Sanchez 01-10-2010 11:11 1508769

brudershaft, еще вариант с WMIC
Код:

Wmic Netuse Where (LocalName!="" And Persistent=TRUE) Get LocalName,RemoteName,ConnectionState

amel27 01-10-2010 11:48 1508799

Petya V4sechkin, в описании объекта сказано, что при настроенной политике ("Системные объекты: владелец по умолчанию...") он всегда должен возвращать диски текущей интерактивной сессии, но у меня работает только для сессий пользователей - членов группы локальных админов ((

El Sanchez, постоянные подключения можно просто выдернуть из реестра HKCU\Network, проблема как раз с временными

El Sanchez 01-10-2010 12:11 1508812


Цитата:

Цитата brudershaft
почти. одни и те же ресурсы у разных пользователей уже подключены под разными буквами сетевых дисков, хотелось бы узнать, под какими, а затем всё это систематизировать. сами они ничего не подключают. »

amel27, ну вроде как только постоянные подключения и нужны, а за трикс с реестром спасибо (надо же, не знал :))

amel27 01-10-2010 12:28 1508824

El Sanchez, может они "подключены" логон-скриптом?.. машинки то в домене... тут возможны варианты: NET USE (по умолчанию) делает подключения постоянными, а WSH - временными... да и просто интересно )))

brudershaft 02-10-2010 01:10 1509365

Цитата:

Цитата amel27
Petya V4sechkin, в описании объекта сказано, что при настроенной политике ("Системные объекты: владелец по умолчанию...") он всегда должен возвращать диски текущей интерактивной сессии, но у меня работает только для сессий пользователей - членов группы локальных админов (( »

кстати, этот момент забыл отследить, действительно, на нескольких компах залогиненные пользователи - члены группы лок. админов
Цитата:

Цитата amel27
El Sanchez, может они "подключены" логон-скриптом?.. машинки то в домене... тут возможны варианты: NET USE (по умолчанию) делает подключения постоянными, а WSH - временными... да и просто интересно ))) »

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

Плюс, хочется в этом деле уж разобраться до конца и попробовать через PSH и WMI создать всем отдельную папку - сетевой диск - для почты, которую они выуживают через кучу каталогов с терминального сервера. Но это уже, пожалуй, не совсем по теме.

Пока до понедельника, там буду пробовать:
1. На время дам права админов каждой учётке.
2. Запущу
Код:

WMIC /NODE:"Computer01" Path Win32_MappedLogicalDisk GET NAME,ProviderName
3. Заберу права админов.

И вариант вот отсюда с запуском скрипта при логине с сбросом инфы в шареную папку -- тоже хорош. Только за неимением доступа к политикам и знаний соответствующих, запущу в виде батника из автозагрузки :)

brudershaft 08-10-2010 16:30 1514412

Итак. Вариант с WMI + PowerShell не прокатывает, в чём причина, понять пока не могу. Большое спасибо lohi1234567 за отличный совет, я так и поступил: PSh-овским
Код:

Foreach-Object
каждому в автозагрузку закинул
Код:

net use
с выводом результата в шару, теперь у меня есть список их дисков. Конечно, неудобство в том, что работает только после перезагрузки и не показывает дисков, подключаемых логон-скриптом. Но в целом дело делается. Пробовал с помощью Назначенных заданий, но они что-то не очень хотят запускаться, видимо, я не до конца в них разобрался. Буду грызть PowerShell, отличная штука, кстати. Похожа на Perl очень сильно.
Вопрос решён, аудит проведён, думаю, тему можно закрыть.

zhuk09 27-04-2015 13:30 2501333

Цитата:

Цитата El Sanchez
Wmic Netuse Where (LocalName!="" And Persistent=TRUE) Get LocalName,RemoteName,ConnectionState »

У меня данный скрипт запускается, но всегда показывает диски только на том компьютере где его запускаешь.
Менял параметр LocalName!="" на LocalName!="192.168.0.5"
PS: Или он только это и должен показывать?!

Опиум 28-04-2015 16:01 2501839

а политикой прописать машинам logoff скрипт с командой
Код:

net use >>\\server\share\%computername%_%username%_share.txt
уже советовали?


Время: 17:00.

Время: 17:00.
© OSzone.net 2001-