2011-02-01 6 views
0

У меня есть программа, которая работает в Windows и сканирует акции на Netapp filer над CIFS. Когда сканер работает на W2K3 и выходит из него, запуск сеансов cifs -c на фиде Netapp показывает, что сеанс исчез. Когда один и тот же сканер работает на W2K8 и выходит, вышеуказанная команда Netapp показывает, что сеанс все еще жив. Приложение сканера уже вышло, поэтому больше не должно быть трафика на сеансе.Как я могу повторно использовать существующий сеанс CIFS или явно оканчивать один программным способом (W2K8 на Netapp)?

Что я сделал до сих пор: 1) ждал (более) cifs.idle_timeout количество секунд, чтобы увидеть, уходит ли сеанс. Это не. 2) проанализированы трассировки пакетов для обмена данными между W2K3-> Netapp и W2K8-> Netapp. Трассировка W2K3 показывает TREE_CONNECT и TREE_DISCONNECT, но трассировка W2K8 показывает только запрос TREE_CONNECT. Я проверю это, но думаю, что TREE_DISCONNECT на W2K3 сопровождается запросом LOGOFF (что приводит к завершению сеанса, я бы поверила?). 3) Чтобы посмотреть, как все будет выглядеть, когда Netapp не находится на картинке - с машины W2K8-client я получил доступ через windows-explorer \\ C $. Это вызывает запрос TREE_CONNECT на провод. Теперь я закрыл окно проводника, и машина W2K3-сервера закрыла сеанс, хотя на проводнике, создаваемом клиентом W2K8, не было TREE_DISCONNECT.

Похоже, что Netapp ожидает чего-то, что W2K8 не отправляет.

Вопрос: Существует ли конкретный API, который я могу использовать в своем приложении для сканера для i) отправить явный запрос LOGOFF SMB, когда я закончил сканирование? ii) или повторить использование существующего сеанса с W2K8-клиентом и фильтром Netapp для нового сканирования? ii) Кто-нибудь сталкивается с этим или подобными сценариями?

Заранее спасибо.

ответ

0

Для API - посмотрите на NetUseEnum и NetUseDel.

Отключение, которое вы видите, связано с незанятым сеансом (сеанс без открытых ручек). Я не уверен, что это сделано сервером (что указывает на разницу между Netapp и Windows) или клиентом (ваш сканер содержит открытый дескриптор, может быть, текущий каталог, в то время как Explorer закрывает дескриптор при закрытии окна).

0

Я не уверен, чего вы пытаетесь выполнить, но может быть проще использовать инструменты NetApp/API. Для многих задач администрирования Data ONTAP PowerShell Toolkit действительно может упростить вещи:

PS C:\> Connect-NaController fas2040rre1 
PS C:\> Get-NaCifsShare 
MountPoint         ShareName     Description 
----------         ---------     ----------- 
/etc           ETC$      Remote Administration 
/vol/vol0/home        HOME      Default Share 
        ... snip ... 
/vol/cifs/backups        backups 

И если PowerShell не ваша вещь, вы посмотрите на Manageability SDK для API веб-служб на C/C может ++, Java, Perl и .Net. В этом случае вам нужно взглянуть на API cifs-share-list (немного отличающийся от 7.x/8.x).

 Смежные вопросы

  • Нет связанных вопросов^_^