Компьютерный форум 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=252516)

Sirimika 28-01-2013 11:59 2076711

уведомление пользователя о нехватке места на диске
 
Добрый день.

Подскажите пожалуйста как можно настроить уведомление пользователя.

Ситуация такая: есть файловый сервер с windows server 2003 R2, на этот сервер настроено через gpo перенаправление пользовательских папок (\\server\users\%USERNAME%\Мои документы). Сама папка users находится на диске D, на этом диске включены квоты по 3Гб пользователю. Необходимо настроить оповещение пользователей, о том что у них заканчивается либо уже закончилось место.

Сейчас информацию по квотам можно посмотреть либо в "Записи квот на диске D", либо в eventvwr

zion87 28-01-2013 12:51 2076749

если положить файл в папку %USERNAME% то он будет считать размеры файлов в папках глубже корневой
Код:

@echo off
for /f "delims=*" %%H in ('dir /s /b /a-d "*.*"') do set /a size+=%%~zH
set /a size/=1048576
set /a cvot=3072-%size%
color 0A
if %cvot% LEQ 300 color 0C
echo Ќ* ¤ЁбЄҐ %size%mb
echo Ћбв*«®бм %cvot%mb
pause

для уточнения размера оставшейся квоты пользователю необходимо будет обратиться к файлу напрямую

ну или каждому пользователю создать себе отдельно по файлу
Код:

@echo off
for /f "delims=*" %%H in ('dir /s /b /a-d "\\server\users\%USERNAME%\*.*"') do set /a size+=%%~zH
set /a size/=1048576
set /a cvot=3072-%size%
color 0A
if %cvot% LEQ 300 color 0C
echo Ќ* ¤ЁбЄҐ %size%mb
echo Ћбв*«®бм %cvot%mb
pause


gora 28-01-2013 18:25 2077066

zion87, когда число в size превысит 2ГБ "математика" перестанет работать корректно.

zion87 28-01-2013 20:11 2077160

gora, объясните мне дуболму почему
Код:

@echo off
set /a z=2247483648+1
echo %z%
pause

выводит -2047483647?????

gora 28-01-2013 20:37 2077175

zion87, числа ограничены 32 битами точности.
Код:

@Echo Off
set z=2147483646
echo %z%
set /a z +=1
echo %z%
set /a z +=1
echo %z%
set /a z +=1
echo %z%
set /a z +=1
echo %z%
pause

CMD/BAT - [решено] получить размер каталога с подкаталогами

Molchune 29-01-2013 09:34 2077418

Конечно чуть чуть не в тему , но лично мое мнение, квоты не совсем удобно, так как квота создается на весь диск а не на папку, при условии что у тебя Win2003R2 то у тебя есть "File Server Resource Manager (FSRM)", где и можно настроить уведомления пользователям о том что у них место закончилось. Ну а почитать о нем можно вот тут, правда про уведомления там не написано но они там есть :)

P.S. Ну и по скриптам и квотам.
Так как используется квота на диск, то есть Windows будет считать квоту по всему диску "D:\" а скрипты считают размер папки "D:\%username%". То довольно большой шанс, что размер квоты будет больше размера папки вследствие чего у тебя скрипт будет показывать, что у тебя есть место, а Windows скажет что нет уже. И для более точного определения надо смотреть лог на сервер так как в нем отображается информация о пределе квоты.

Sirimika 30-01-2013 10:14 2078305

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

Поэтому приходится извращаться с тем что есть.

Sirimika 30-01-2013 10:33 2078316

Molchune, возник такой вопрос на счет FSRM. Если я настрою квоту типа auto apply, то смогу ли я потом для конкретного пользователя изменить квоту в ручную?
Пример такой я настрою квоту в размере 3Гб, а потом потребуется для одного пользователя квоту сделать 4Гб. Смогу ли я просто в свойствах увеличить квоту или мне придется создавать отдельный шаблон?

Sirimika 30-01-2013 10:59 2078332

Вложений: 1
Molchune, а еще есть исключительные люди у которых отсутствует квота вообще. Как в таком случае настраивать?

Во вложении показано какие есть сейчас квоты, как это можно сделать через FSRM.
На сколько я понимаю можно создать шаблоны на 3Гб, 4Гб, 5Гб, но тогда что делать с теми у кого нет ограничения....
И если я создам квоту на 3Гб, то на сколько я понимаю у меня под эту квоту попадут все пользователи автоматически. Потом придется в ручную для необходимых пользователей изменить квоту или как?

Molchune 30-01-2013 12:15 2078378

Цитата:

Цитата Sirimika
Molchune, возник такой вопрос на счет FSRM. Если я настрою квоту типа auto apply, то смогу ли я потом для конкретного пользователя изменить квоту в ручную? »

Да
Цитата:

Цитата Sirimika
Molchune, а еще есть исключительные люди у которых отсутствует квота вообще. Как в таком случае настраивать? »

Честно не помню, но в принципе ты можешь просто квоту поставить равную размеру диска что будет равняться неограниченной квоте.
Цитата:

Цитата Sirimika
Molchune, FSRM есть, только проблема в том, что системный администратор, который это настраивал почему-то сделал это через квоты на диск и не использовал FSRM. »

Была такая же ситуация, стоял 2003 с квотами, обновили до 2003R2 и переводил все на FSRM. В принципе обе технологии живут вместе спокойно, поэтому можно поэкспериментировать и все нюансы отработать.

Sirimika 31-01-2013 10:46 2079170

настроила квоты через FSRM, но почему-то у больше половины пользователей не правильно посчитался % использования. Пишет % использования 0, хотя на самом деле занято 55% примерно.
Есть конечно такие у кого действительно 0%, но таких мало.

Я затормозила, оказывается ему нужно было даль больше времени чтобы все посчитать.

Dr.DG 31-01-2013 23:14 2079718

Sirimika, другой вариант решения: настроить триггер (eventtriggers) на событие 36 (A user hit their quota limit on volume <volume>), запускающий скрипт, который будет, например, отправлять уведомление пользователю по emailу.


Время: 19:33.

Время: 19:33.
© OSzone.net 2001-