Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » как запретить сохранять медиа-файлы на файл-сервере?

Ответить
Настройки темы
как запретить сохранять медиа-файлы на файл-сервере?

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Изменения
Автор: Delirium
Дата: 09-12-2008
Описание: Дополнение от Admiral
Вложения
Тип файла: rar fsw.rar
(3.0 Kb, 185 просмотров)
В данной ветке часто возникает вопрос - а как же можно ЗАПРЕТИТЬ копировать файлы определенных разрешений в некоторые папки на сервере? Дабы не кидали фильмы, музыку и прочее, но Server 2003 R2 с его File Resource Manager поставить нет возможности...
Чтобы помочь страждущим, предлагаю небольшую консольную утилитку. В чем её суть:
указываете в параметрах запуска папку на сервере и расширение, например так: fsw.exe \\server\share *.avi . Утилитка запустит простейший мониторинг данной папки и будет кидать в файл log.txt изменения, произошедшие в данной папке именно с указанными типами файлов.

Приведу исходный код и готовый exe:
читать дальше »
Код: Выделить весь код
using System;
using System.IO;

namespace FileSystemWatcherTest
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{

            if (args.Length != 0)
            {
                try
                {
                    // Создаем наблюдателя
                    FileSystemWatcher watcher = new FileSystemWatcher();
                    watcher.Path = args[0]; //первый параметр при запуске
                    // Будем следить за изменениями по последнему доступу,
                    // времени записи и переименованию файла или директорий
                    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
                        | NotifyFilters.FileName | NotifyFilters.DirectoryName;
                    // Будем следить только за указанными файлами
                    watcher.Filter = args[1]; //второй параметр при запуске

                    // Добавляем обработчики событий
                    watcher.Changed += new FileSystemEventHandler(OnChanged);
                    watcher.Created += new FileSystemEventHandler(OnChanged);
                    watcher.Deleted += new FileSystemEventHandler(OnChanged);
                    watcher.Renamed += new RenamedEventHandler(OnRenamed);


                    // Включаем наблюдение
                    watcher.EnableRaisingEvents = true;

                    // Ждем пока пользователь не нажмет клавишу q
                    Console.WriteLine("Наблюдение запущено. Нажмите \'q\' для выхода.");
                    while (Console.Read() != 'q') ;
                }
                catch (Exception msg_ex)
                {
                    Console.WriteLine(msg_ex.Message);
                }
            }
            else
            {
                Console.WriteLine(@"Формат запуска: fsw.exe 1 2");
                Console.WriteLine(@"1-путь до папки с указанием последнего слеша (C:\temp\ или \\server\share\)");
                Console.WriteLine(@"2-тип файлов (*.jpg)");
                Console.WriteLine("Логи пишутся в файл log.txt в папке с fsw.exe");

                Console.WriteLine("Нажмите \'q\' для выхода.");
                while (Console.Read() != 'q') ;
            }

		}

		private static void OnChanged(object source, FileSystemEventArgs e)
		{
            StreamWriter sw;
            sw = File.AppendText("log.txt");
            sw.WriteLine(DateTime.Now.ToLocalTime().ToString() +  " Файл: " + e.FullPath + " " + e.ChangeType);
            sw.Close();
		}

		private static void OnRenamed(object source, RenamedEventArgs e)
		{
            StreamWriter sw;
            sw = File.AppendText("log.txt");
            sw.WriteLine("Файл: {0} был переименован в {1}", e.OldFullPath, e.FullPath);
            sw.Close();
		}
        
	}

}

Соответственно, если вам необходимо просто вжесткую удалять файлы при попытке их копирования на сервер, можно просто добавить строку File.Delete(e.FullPath) после строк sw.Close(); и он будет удаляться.
Данный код можно практически без изменений сделать службой.

Не претендую на уникальность, но вдруг кому то пригодится Если будет необходимо, перепишу под нужные запросы/параметры.
P.S. Огромное спасибо Павлу Агурову и его книге "C# Сборник рецептов" за простые и понятные коды. Кстати, очень рекомендую.

Цитата Admiral:
Тема рассчитана на обладателей NT/2000/2003
Первые двоим нужно ещё .net 1.0 или 1.1 установить, прежде чем проследовать по инструкции по компиляции исходника. Обладателям NT он правда будет не к чему, а вот обладателям 2000-го думаю, что всё же нужен.
Обладатели 2003-го могут приступать сразу же к инструкции:
1)Скопируйте код из сообщения, вставьте в блокнот, сохраните его в файл, например под именем fsw.cs.
2)Зайдите в консоли в директорию в которую сохранили этот файл, наберите команду
%SystemRoot%\Microsoft.NET\Framework\v1.1.4322\csc.exe fsw.cs
в пути вместо .4322 может быть другое число в зависимости от установленного Сервис пака, данное справедливо для 2003 Sp2[/i]
4)В этой же директории Вы получите файл скомпилированный (exe) и готовый к работе файл.
Почему именно 1.1? Потому что он встроенный в 2003, не все обладатели последнего ставят 2.0, а то и 3.0/3.5.
Кстати он будет весить всего лишь 5,00 KB (5 120 bytes), чего там студия кроме иконки компилятору велела написать остаётся по ту сторону этой сборки ехе.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:41, 02-12-2008

 

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
Достаточно сохранить mdf файл, в нем хранятся все настройки.
Файл к сожалению не mdf, а sdf и отредактировать его содержимое я не знаю как. Да и держать отдельный софт для редактирования sdf как-то некрасиво.

Цитата Delirium:
По поводу остального подумаю Сейчас просто времени не хватает на все проекты
Пожалуйста, найдите пару часиков, очень полезная штука.

Отправлено: 09:31, 26-02-2009 | #11



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

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


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Торжественно обещаю в ближайшее время переделать программку, дабы она не работала с sql клиентом. Возможно, будет храниться или в простом txt или в xml.
Что планирую добавить:
Цитата kdesys:
экспорт/импорт настроек »
Цитата kdesys:
озможность редактирования внесенных настроек »
Цитата kdesys:
отключение протоколирования »
Цитата kdesys:
галочку/кнопочку для инсталлирования сервиса »
Расширить функциональность лог-файла, чтобы отображался в таблице с указанием имени пользователя и других атрибутов + возможности быстро открыть папку, содержащую файл.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:36, 27-02-2009 | #12


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
Торжественно обещаю в ближайшее время переделать программку, дабы она не работала с sql клиентом. »
Здравствуйте.

Хотелось бы узнать, как продвигается разработка?

Отправлено: 09:40, 06-03-2009 | #13


Пользователь


Сообщения: 116
Благодарности: 2

Профиль | Отправить PM | Цитировать


как запретить сохранять медиа файла на файл-сервере?
Доброго времени суток господа, вот перед мной став вопрос как запретить копировать и сохранять медия файлы (*.avi, *mp3, ну и тд) на файл-сервер?
Хотелось бы это сделать всем юзерям кроме определенной группы лиц (начальство) ну и себе любимому тоже.
Подскажите, как можно решить эту проблему?
Можно ли это решить средствами винды?
Возможно ли это сделать средствами Group Policy, если да то подскажите как это сделать?

З.Ы. Не много о сети AD Win 2003, отдельно стоит фал-сервер тк же под win2003

Отправлено: 20:16, 03-04-2009 | #14


Ветеран


Сообщения: 666
Благодарности: 62

Профиль | Отправить PM | Цитировать


http://forum.oszone.net/thread-108774.html
http://forum.oszone.net/thread-83861.html

-------
Чудес не бывает, бывают только глюки!


Отправлено: 22:37, 03-04-2009 | #15


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Если просто всем удалять файлы, то вам сюда:
http://forum.oszone.net/showthread.p...E5%ED%ED%FB%F5

А если с разграничением прав, то 2003 Server R2.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:22, 06-04-2009 | #16


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Давно не писал. Пока разработка не двигается в связи с двумя проблемами:
1. Я сменил квартиру и теперь прет ремонт полным ходом.
2. Я удалил случайно исходники FSW Т.к. программа проста, то просто напишу заново с учетом предложений, указанных выше.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:26, 06-04-2009 | #17


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
просто напишу заново с учетом предложений, указанных выше »
Есть новости?

Отправлено: 18:01, 03-08-2009 | #18


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


kdesys, к сожалению нет, навалили другой работы, в том числе и связанной с программированием. Так что увы, пока тишина ;(

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:19, 04-08-2009 | #19


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Delirium, Народ требует продолжения проекта... очень актуально!

Отправлено: 07:33, 26-08-2009 | #20



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » как запретить сохранять медиа-файлы на файл-сервере?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Запретить сохранять файлы определённого расширения. exo Microsoft Windows NT/2000/2003 12 05-04-2010 11:58
Как в домене вин 2003 запретить пользователям сохранять файлы определенного типа Russo Microsoft Windows NT/2000/2003 5 12-02-2009 10:25
Интернет - Как в Internet Explorer 6 запретить скачивать файлы zai Microsoft Windows 2000/XP 4 04-07-2008 21:17
[решено] Запретить файлы *.exe Aleksis Aleks Хочу все знать 22 03-07-2007 19:07
Как на сервере терминалов запретить пользователям доступ к командной строке? klesk Microsoft Windows NT/2000/2003 3 09-02-2007 09:03




 
Переход