Powershell – Подсчет свободного места на дисках

Наиболее часто возникающая у многих проблема: «Закончилось свободное место на жестком диске.»
Каждый хотя бы раз с ней сталкивался и по разному решал эту проблему, но малый процент задумывался о предупреждении её.
Если в вашем подчинении находится десяток-другой компьютеров то пройтись по ним и посмотреть и посмотреть на состояние дисков не составит труда. а если компьютеров больше ста, например 500 или 600 или 1000 и больше?
Предлагаю рассмотреть скрипт который собирает данные о свободном месте на дисках.
Получить данные о свободном месте на нескольких компьютерах довольно легко, в WMI есть класс Win32_LogicalDisk и одним из его атрибутов является freespace.
Powershell – наше все…
Им то мы и воспользуемся. Нужно немного времени и терпения.
Итак.
1. готовим файл hostlist.txt вот такого содержания
host1 host2 host3
2. Создаем powershell-скрипт
На выходе получаем табличку в которой будет указано имя хоста, буква диска, размер и свободное место.
Если результат необходимо отправить в файл слегка меняем скрипт.
При необходимости готовый отчет можно отправить администратору на email.
Похожие статьи
Приглашаю присоединиться ко мне в следующих сервисах:
Вы можете оставить комментарий.

Спасибо за скрипт=)
Возникает вопрос, есть ли возможность инфу, которая была получена, отправить на почту или sms средствами PoSh?
kopЦитировать
Конечно методики есть.
В ближайшее время я постараюсь описать процедуру отправки почты (доступна как авторизованная отправка так и анонимная).
Для обмена данными с SMS-ом предусмотрен формат IDMIF и NOIDMIF, этот вопрос так же будет затронут, но чуть позже.
adminЦитировать
Ок, спасибо, буду ждать с нетерпением.
kopЦитировать
Сергей, добрый день!
Возможно вы что-то подскажите, каким образом можно вывести информацию о свободном месте на сетевоим диске на сайт в локальной сети. Чтобы пользователи понимали, что документ не сохраняется из-за отсутсвия свободно пространства. Заранее спасибо
ЕвгенийЦитировать
Евгений.
Предположу что ОС у вас Windows 2003.
Если у вас установлено расширение R2 то вы можете использовать функционал Storage Monitoring and Reporting.
http://www.windowsnetworking.com/articles_tutorials/Storage-Monitoring-Reporting.html
Если у вас 2008 то там этот функционал зашит.
Вариант использования – генерировать отчеты и выкладывать их на IIS или при истечении квот отправлять письмо
Сергей МариничевЦитировать
Доброго времени суток.
Спасибо за скрипт.
Но есть небольшой вопрос.
Как сделать так чтобы подставляя «-computer 192.168.0.250″ (например)
еще добавить логи и пароль для доступа к этому компьютеру (хочу проверять свободное место в разных сетях)
АлександрЦитировать
Примерно так.
Добавляется только read-Host и Get-Credential
Сергей МариничевЦитировать
Ммм… read-host я не добавляю, пишу вручную 1 ip добавил -Credential (Get-Credential) да у меня запросило логин и пароль, если ввожу то все работает, а как реализовать это в авто режиме? ввод логина и пароля. Извините за навязчивость.
АлександрЦитировать
В авто никак.
Единственный вариант – запускать скрипт от пользователя у которого есть нужные полномочия.
Сергей МариничевЦитировать