Мониторинг использования общего ресурса для миграции файлового сервера

Опубликовано: 25 Марта, 2023

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


На нашем существующем файловом сервере много общих ресурсов, но большинство из них не используются, так как мы направляем большинство пользователей через DFS. Я не смог найти никакого способа сопоставить информацию о том, какие ОБЩИЕ ПОЛОЖЕНИЯ использовались для подключения к конкретному файлу, поскольку аудит сообщает только о том, к каким файлам фактически осуществляется доступ. С этой целью я написал простой vb-скрипт, который создает файл с разделителями-запятыми и записью максимального использования для каждой общей папки. Он не сообщает нам, кто получил доступ к каждому общему ресурсу, но дает нам отправную точку, чтобы выяснить, какие общие ресурсы необходимо сохранить, или каких пользователей нам нужно научить не использовать общие ресурсы при миграции.


Приведенный ниже скрипт выполняет эту задачу. Оставьте его работать на несколько дней, а затем просмотрите CSV-файл в Excel…


————————————————————————————————


' Имя: шаремон.VBS


' Цель: Мониторинг использования общего пути на файловом сервере


'


'По сценарию Леона Фаннелла


напишите мне на leon_funnell(At)hotmail(d0t)com


'22.03.2005


'




'проверить командную строку


GetArgs strComputername,strOutputFile,CorrectSyntax


Если правильный синтаксис затем


Установлен фсо = СоздатьОбъект ( "Scripting.FileSystemObject" )


wscript.echo «Мониторинг использования общего ресурса на « & strComputername & » В файл « & strOutputFile


wscript.echo «Нажмите CTRL-C, чтобы остановить…»


wscript.echo “”


установлен фс = ПолучитьОбъект ( "WinNT://" & strComputername & «/ЛанманСервер» )


Тусклый Общий список( 500 , 3 )


Общий номер = 1


' Заполнить ShareList именем, путем и CurrentUserCount каждой общей папки


За Каждая акция В фс


ShareList(общий номер, 1 ) знак равно доля.имя


ShareList(общий номер, 2 ) , доля.путь


ShareList(общий номер, 3 ) знак равно доля.CurrentUserCount


общий номер , общий номер , 1


Следующий



writeArray ПоделитьсяСписок, strOutputFile, общий номер


' Теперь следите за общими ресурсами на сервере, чтобы следить за движением вверх по CurrentUserCount для каждой общей папки.


Делать


общий номер , 1


За каждую акцию В фс


Если ShareList(общий номер, 3 ) < доля.CurrentUserCount затем


ShareList(sharenum, 3 ) = share.CurrentUserCount


Конец Если


Общий номер = Общий номер + 1


Следующий


writeArray ПоделитьсяСписок, strOutputFile, общий номер


wscript.echo “.”


Wscript.Сон 5000


Петля


Еще


ДисплейПомощь


wscript.выход


Конец Если



Саб GetArgs(strComputername,strOutputFile,CorrectSyntax)


Установлен Аргументы знак равно WScript.Аргументы


Если число аргументов знак равно 2 Тогда


Правильный синтаксис = Истинный


улКомпьютернаме = аргументы ( 0 )


strOutputFile = аргументы( 1 )


Еще


правильный синтаксис знак равно ЛОЖЬ


Конец Если


Конец Саб




Суб- дисплейПомощь


wscript.echo «Подсчитывает максимальное количество обращений к определенным общим ресурсам на файловом сервере»


wscript.echo «adn записывает это в файл»


wscript.echo «cscript sharemon.VBS /? или /Help ———————————— Отображает этот экран справки»


wscript.echo «cscript sharemon.VBS Servername»


wscript.echo “”


Конец Саб



Саб writeArray(arr,writeFile,iLines)


Установить файл знак равно fso.openTextFile(writeFile, 2 , Верно )


За я = 1 К iLines


файл.writeLine обр (я, 1 ) и “, & обр(i, 2 ) & "," & приб(я, 3 )


Следующий


файл.закрыть


Установлен файл = ничего


конец суб