Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Пророк
Зарегистрирован: 23.12.2004 Сообщения: 25
|
Добавлено: Пт Фев 11 2005 09:43 Заголовок сообщения: Помогите пожалуйста написать скрипт |
|
|
Привет всем!!! У меня небольшая пробоема с написанием скрипта. Мне поставили задачу написать скрипт, который будет сканировать диск C:\ и сверять файлы и папки с заранее заданными. Если папка или файл будут совпадать с заранее заданными, то делать он с ними нечего не будет, в противном случае пойдет удаление найденной папки.
Просто задача стоит в том, чтобы подчистить ПК в институте. Заранее известные папки, понятно Windows, Program files, и т.д. А все лишнее должно быть удалено. Надеюсь объяснил свою проблемо понятно.
Одна оговорочка, скрипт должен быть написан на JScript. Вот так!!!
Заранее спасибо. |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Фев 11 2005 19:12 Заголовок сообщения: |
|
|
Тухлый номер. |
|
Вернуться к началу |
|
|
4u3u
Зарегистрирован: 24.01.2003 Сообщения: 997 Откуда: Moscow
|
Добавлено: Пт Фев 11 2005 19:25 Заголовок сообщения: |
|
|
Во-во... Я то же самое хотел сказать, да слов не мог подобрать.
Обычно в таких случаях используют другие методы вроде mandatory profiles и и настроек Windows, известных как kiosk. Если же студенты имеют административные права на этих компьютерах, то единственный реальный способ - это периодическое восстановление из образов. Этот процесс можно автоматизировать, и на рынке полно решений такого рода.
А написание подобного скрипта самостоятельно как нельзя лучше подходит под определения "изобретать велосипед" и "мартышкин труд" |
|
Вернуться к началу |
|
|
Пророк
Зарегистрирован: 23.12.2004 Сообщения: 25
|
Добавлено: Сб Фев 12 2005 09:02 Заголовок сообщения: |
|
|
Люди, хотите верьте, хотите нет, но я почти написал его. Проблема с циклом. Так что написание скрипта не очень сложно. Кстати лучше, чем искать программы для работы с образами и т.п. Так что вот так. |
|
Вернуться к началу |
|
|
nvjtnbjknb
Зарегистрирован: 31.01.2005 Сообщения: 69
|
Добавлено: Сб Фев 12 2005 10:50 Заголовок сообщения: |
|
|
а вы подумали о том, что программы еще и в реестре прописывают много чего? Ну удалите вы ее, а она к примеру зарезервировала на себя какой-то тип файлов, и что будет при их открытии? |
|
Вернуться к началу |
|
|
Пророк
Зарегистрирован: 23.12.2004 Сообщения: 25
|
Добавлено: Сб Фев 12 2005 11:40 Заголовок сообщения: |
|
|
Прикол заключается в том, что программы у нас в универе ставить незьзя (под сеансом студента). Другими словами все программы, которые связаны с реестром устанавить не получится (запрет групповой политики). А вот создавать папки на диске С:\ можно. Я хочу закрыть и на него доступ, но перед этим я хочу удалить с него всю ненужную информацию. |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Сб Фев 12 2005 11:41 Заголовок сообщения: |
|
|
Это только небольшая часть огромного айсберга.
Автор вопроса пока не видит слона целиком. Увидит, сам все поймет. |
|
Вернуться к началу |
|
|
Pepelatc
Зарегистрирован: 15.02.2005 Сообщения: 3
|
Добавлено: Вт Фев 15 2005 12:00 Заголовок сообщения: |
|
|
Почитав ответы на простой и четко поставленный вопрос мне стало совершенно ясно, что все, кто "ответил" на него являются банальными anyкейщиками! Пройдусь по личностям:
1. and3008 - Ты знаешь, твои грубоко интеллектуальные умозаключения в этом посте никого не интересуют. Если ты забыл, то я тебе напомню, что пост называется "Помогите пожалуйста написать скрипт", а не "Расскажите plz, какую часть айсберга я не вижу" или "А номер и вправду тухлый?" И вообще, очень прискорбно, что, наряду со статьей "Как правильно задавать вопросы", нет (специально для таких, как ты) станьи "Как правильно отвечать на вопросы"
2. nvjtnbjknb - а ты подумал, что программы иногда в реестр ничено не прописывают? А ты подумал, что таким же способом (сравнивая с эталоном) из того же скрипта можно и реестр почистить? Или же, что скорее всего, для тебя, как для любого типичного anyкейщика, слово "реестр" является чем-то божественным Так вот, мой юный друг, реестр - это база типа "двоичное дерево", которая хранит различные (как системные, так и прикладные) настройки, которые представляют собой записи хэш-вида (ключ-значение). Ты, мой юный друг, визуально, структуру и наполнение этой базы можешь наблюдать во встроенной в ОС утилите "regedit". И еще, дружочек, да будет тебе известно, что сама ОС предоставляет неплохой API (Application Program Interface) для управления записями: через bat-файлы, через скрипты .vbs и .js, черех ActiveX. Т.о. очистка реестра согласно шаблона (а на этом принципе работают все коммерческие программы очистки реестра) по сложности напоминает работу с файлами и если ты человека хотел предостеречь от возможного замусоривания реестра, то сделать это надо было более информативно, а не задавая глупые вопросы с очевидными ответами, демонстрируя тем самым скудность своего ума и убогость интеллекта!
3. 4u3u - я тебе наверное открою тайну, но для очистки ЛЮБОГО каталога не требуется применение "плавающих профилей", которые ты лихо назвал "mandatory profiles" и этого ущербного режима "киоска" для IExplorerа (а не для Windows, как ты утверждал). Кстати, ты даже не удосужился написать вариант вызова этого пресловутого режима - iexplore -k http://yandex.ru (почитать можно здесь http://www.oszone.net/windows/winxp/9.shtml ). И еще, ты знаешь, разворачивание образа раздела винта - это кординальная и, во многих случаях, единственно верная возможность быстрого восстановления системы, но вопрос автора ни коим образом не относился к теме восстановления. Ему необходимо было автоматизировать элементарную очистку каталога на основании сравнения с эталоном, причем, как я понял, сделать это надо разово, но на куче машин. Так вот, в данной ситуации написание скрипта никак не попадает под определения "изобретать велосипед" и "мартышкин труд", т.к. кроме решения текущей несложной проблемы, автор еще и приобретет опыт в написании скриптов (циклы, работа с файловой системы, шелл и т.п.), а это правильный подход к администрированию системы. И напоследок, специально для тебя отмечу, что не всегда "на рынке полно решений такого рода" в силу:
- специфичности задачи
- простоты (к примеру, я бы ни цента не заплатил за прогу, которая создает список файлов в заданном каталоге и сортитует их по дате последного доступа)
- корпоративного стандарта (к примеру, юзаем софт только от MS)
- политики безопасности (к примеру, я бы не очень доверял всяческому софту с варезных сайтов)
- недалекости начальства или лиц, которые инвестируют ИТ-технологии на предприятии (к примеру, довольно сложно объяснить пузатому дяде необходимость ПОКУПКИ мелких админских утилит)
В общем, все вышеперечисленные лица являются некомпетентными в вопросах сетевого и системного администрирования, а представляют из себя anyкейшиков (я надеюсь не надо объяснять смысл этого определения?)
Автору поста:
- не принимай во мнимание мнения некомпетентных людей
- продолжай решать подобные проблемы с помошью скриптовых языков (в них действительно безграничные возможности), а не покупкой нового софта или скачиванием "заряженый" варезных программ
- вот немного линков, которые помогут тебе разобраться:
Раздел сайта MS, посвященный скриптам:
http://www.microsoft.com/technet/scriptcenter/default.mspx
Необходимая документация (MUST HAVE):
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe
Примеры скриптов для решения кучи задач:
http://www.microsoft.com/downloads/details.aspx?FamilyID=b4cb2678-dafb-4e30-b2da-b8814fe2da5a&DisplayLang=en
Скрипт-база примеров (второй линк - "не проводить проверку на валидность", если не прокатит, то пойди по первому, нажми "Continue", а потом выбери "No, do not validate Windows at this time, but take me to the download")
http://www.microsoft.com/downloads/details.aspx?FamilyID=09dfc342-648b-4119-b7eb-783b0f7d1178&DisplayLang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=09dfc342-648b-4119-b7eb-783b0f7d1178&displaylang=en&Hash=5VPJ9Q8
Как начать писать скрипты:
http://www.citforum.ru/programming/application/20030414_1/
Много примеров и док:
http://www.robvanderwoude.com/index.html |
|
Вернуться к началу |
|
|
Sol
Зарегистрирован: 05.12.2003 Сообщения: 427 Откуда: Томск
|
Добавлено: Вт Фев 15 2005 14:41 Заголовок сообщения: |
|
|
Невзирая на все доводы Пепелаца - создание и использование скрипта необходимого автору темы - это верный способ поубивать машины.. _________________ In My Humble Opinion |
|
Вернуться к началу |
|
|
Pepelatc
Зарегистрирован: 15.02.2005 Сообщения: 3
|
Добавлено: Вт Фев 15 2005 15:17 Заголовок сообщения: |
|
|
Внимательно слушаю твой способ решить данную проблему без скриптов и не "поубивать машины" (с)! |
|
Вернуться к началу |
|
|
Sol
Зарегистрирован: 05.12.2003 Сообщения: 427 Откуда: Томск
|
Добавлено: Ср Фев 16 2005 13:01 Заголовок сообщения: |
|
|
Как это ни прискорбно, но я согласен с мнением and3008 во втором посте:
Тухлый номер. _________________ In My Humble Opinion |
|
Вернуться к началу |
|
|
Pepelatc
Зарегистрирован: 15.02.2005 Сообщения: 3
|
Добавлено: Ср Фев 16 2005 16:01 Заголовок сообщения: |
|
|
Дорогой друг Sol, мало того, что ты согласен с мнением and3008, ты еще, к сожалению, повторяешь его манеру "очень" информативно отвечать на четко заданные вопросы
Позволю немного поцитировать тебя:
Цитата: | создание и использование скрипта необходимого автору темы - это верный способ поубивать машины.. |
- что значит "поубивать машины" (грохнется ОС?слетят профили?накроется раздел?)?
- почему это верный способ "поубивать машины"?
- как возможного "убийства машин" можно избежать?
- какие есть безопасные способы решения данной проблемы?
На мой взгляд, это были бы необходимые аргументы в пользу твоего мнения, а так получается в стиле and3008: "Я вот тут зашел в пост, особо не вникая в суть вопроса, дал ничего не значащий ответ,абсолютно без аргументов - и все это я сделал только для того, чтобы все знали, что я cool админ, а на самом деле я простой глупый anyкейщик!"
Цитата: | Как это ни прискорбно, но я согласен с мнением and3008 во втором посте: Тухлый номер. |
Ты знаешь, дружище, это было понятно из первого твоего поста и пояснять это дважды необходимости нет, а вот что осталость непонятно см. список вверху.
Могу немного помочь тебе понять как правильно, а главное информативно отвечать на вопросы... Один из возможных вариантов твоего ответа:
При таком подходе к решению проблемы возникает опасность, по забывчивости, не внести в эталонный файл описание, необходимых для ОС, каталогов. Т.к. скрипт будет выполнятся IMHO под провами локального администратора, то можно случайно и безвозвратно снести, к примеру, C:\Documents and Settings, перепутав буквы в описании каталога.
Я бы тебе посоветовал сделать эталонную машину (или виртуальную) и там тестировать скрипт, а файл-эталон создать, хотя бы, перенаправлением в него вывода команды на эталонной машине.
Я надеюсь, уважаемый Sol, ты понял ход моих мыслей. Закончу крылатой фразой:"Лучшей молчать, чем говорить" почти (с) |
|
Вернуться к началу |
|
|
stealth01
Зарегистрирован: 15.02.2005 Сообщения: 18
|
Добавлено: Пт Фев 18 2005 22:46 Заголовок сообщения: |
|
|
ГОСПОДИ БОЖЕ ЛЮДИ
ВЗЯЛ ЛЮБУЮ СУШЕСТВУЮШЕЮ ПРОГУ ПО ОЧИСТКЕ КОМПА НАПИСАНУЮ НА ТОМ ЯЗЫКЕ КОТОРЫЙ ТЕБЕ НУЖЕН И ВЫРВАЛ ИЗ НЕЁ КИШКИ (таких прог море) немного изменил и всё.
это конечно плагиат но вы веть не продавать её собрались. |
|
Вернуться к началу |
|
|
Пророк
Зарегистрирован: 23.12.2004 Сообщения: 25
|
Добавлено: Чт Фев 24 2005 11:20 Заголовок сообщения: |
|
|
Привет всем!!! Большое спасибо Pepelatc. Скрипт я написал полностью - работает. Для проверки, я за счет него подчистил 5 ПК. Удалилось то, что надо. Все оказалось очень просто. Структура такова: в скрипте создал 2 массива: один на список эталонных файлов, другой - на папки. Далее идет проверка условия, при котором сравниваются объекты диска С:\ с массивами. При условии "Ложь" (несовпадение с элементами массива), элементы (папки или файлы удаляются). Также знакомый программист помог внедрить маленькую вещицу. Короче смысл такой: Если скрипт обнаруживает папку или файл, которую удалить не может (по различным причинам), он её пропускает. В конце скрипт сообщает в консоль MMC о том, какие файлы и папки он удалил, а также какие удалить не смог. Вот так.
Спасибо за все!!! |
|
Вернуться к началу |
|
|
4u3u
Зарегистрирован: 24.01.2003 Сообщения: 997 Откуда: Moscow
|
Добавлено: Чт Фев 24 2005 15:13 Заголовок сообщения: |
|
|
2Pepelatc: Я, если позволишь, проигнорирую эмоциональную часть твоего поста, не вижу смысла обсуждать кто что знает, кто чего не знает, и что из себя представляет.
Pepelatc писал(а): | я тебе наверное открою тайну, но для очистки ЛЮБОГО каталога не требуется применение "плавающих профилей", которые ты лихо назвал "mandatory profiles" |
Я имел в виду один из видов roaming profiles - mandatory profiles.
http://support.microsoft.com/?kbid=323368
Я имел в виду не режим работы IE, а комплекс настроек, описанный в Implementing Common Desktop Management Scenarios with the Group Policy Management Console:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/management/csws2003.mspx
Цитата: | И еще, ты знаешь, разворачивание образа раздела винта - это кординальная и, во многих случаях, единственно верная возможность быстрого восстановления системы, но вопрос автора ни коим образом не относился к теме восстановления. |
не только восстановления, это также один из часто используемых способов организовывать чистку систем от изменений, вносимых пользователями.
Цитата: | Ему необходимо было автоматизировать элементарную очистку каталога на основании сравнения с эталоном, причем, как я понял, сделать это надо разово, но на куче машин. |
То, как я понял задачу, не является банальной чисткой произвольного каталога, которую действительно не составляет труда организовать скриптом. Речь шла об очиске операционной системы от изменений, внесенных пользователями. А вот такую задачу удалением одних файлов не решить, есть еще изменения в реестре. К тому же, удалением файлов легко можно привести систему в недееспособное состояние. Потому как некоторые из них могут быть необходимы для загрузки. Скажем, пользователь устновил антивирус, добавивший драйвер фильтра файловой системы или сетевого трафика, или, например, программу виртуальных дисков, добавляющуюю свои драйвера.
Я конечно мог ошибиться в оценке задачи, но когда автор говорит о чиске напрямую папок Windows и program Files скриптом, меня протсо передергивает.
Цитата: | автор еще и приобретет опыт в написании скриптов (циклы, работа с файловой системы, шелл и т.п.), а это правильный подход к администрированию системы. |
Совершенно согласен, я и сам постоянно пользуюсь скриптами, как VBS, так и NT batch. Но в данной ситуайии скрипт может только навредить.
У меня есть еще личный вопрос: Откуда такой эмоциональный накал? Почему все отвечавшие вызвали у тебя такое раздражение? |
|
Вернуться к началу |
|
|
4u3u
Зарегистрирован: 24.01.2003 Сообщения: 997 Откуда: Moscow
|
Добавлено: Чт Фев 24 2005 15:30 Заголовок сообщения: |
|
|
Я не участвовал в этом треде после первого свого поста, поэтому не видел сообщения автора о том, что изменять реестр пользователям запрещено. Судя по тому, что пользователи все равно имеют возможность писать в Windows и %programfiles%, видимо используется или FAT32, или пользователи имеют права локальных администраторов. В первом случае для решения всей задачи достаточно перехода на NTFS с последующим применением дефолтного шаблона прав на файловую систему, и пользователи просто не смогут писать никуда кроме своего профиля. Во втором случае мне интересно, какая именно политика мешает пользователям вносить изменения в реестр... Потому как если имеется в виду политика, запрещающая запускать утилиты правки реестра, то к установке программ она отношения не имеет... |
|
Вернуться к началу |
|
|
NewFork
Зарегистрирован: 28.02.2005 Сообщения: 73
|
Добавлено: Пн Фев 28 2005 15:20 Заголовок сообщения: |
|
|
4u3u писал(а): | Я не участвовал в этом треде после первого свого поста, поэтому не видел сообщения автора о том, что изменять реестр пользователям запрещено. Судя по тому, что пользователи все равно имеют возможность писать в Windows и %programfiles%, видимо используется или FAT32, или пользователи имеют права локальных администраторов. В первом случае для решения всей задачи достаточно перехода на NTFS с последующим применением дефолтного шаблона прав на файловую систему, и пользователи просто не смогут писать никуда кроме своего профиля. Во втором случае мне интересно, какая именно политика мешает пользователям вносить изменения в реестр... Потому как если имеется в виду политика, запрещающая запускать утилиты правки реестра, то к установке программ она отношения не имеет... |
Если пользователь, находится в не привелегированном режиме,ось автоматически не дает программе установки лезть к реестру вообще организация безопасности в реестре ни каким образом не зависит от файловой системы. Есть нюанс конечно с установщиками... Старые программы установки бывает аккуратно игнорируют то, что пользователь не администратор и устанавливаются туда, куда можно.
Опять же ваши варианты говорят не о том, как сделать, а о том как можно было бы защититься, когда проблема уже в свершившемся факте. |
|
Вернуться к началу |
|
|
4u3u
Зарегистрирован: 24.01.2003 Сообщения: 997 Откуда: Moscow
|
Добавлено: Пн Фев 28 2005 15:38 Заголовок сообщения: |
|
|
NewFork писал(а): | Если пользователь, находится в не привелегированном режиме,ось автоматически не дает программе установки лезть к реестру |
Ну, не совсем так, просто к HKLM у обычных пользователей доступ read only.
Просто автор сказал, что писать в рееестр запрещено политиками, и в то же время заявил что нужно чистить Program Files и Windows, к которым у обычных пользователей доступа на запись нет (если используется NTFS, конечно), вот я и заинтересовался, какими же именно политиками это осуществляется.
Цитата: | вообще организация безопасности в реестре ни каким образом не зависит от файловой системы. |
Согласен, а разве я говорил обратное? Просто принцип тот же, что и в NTFS - списки доступа.
Цитата: | Опять же ваши варианты говорят не о том, как сделать, а о том как можно было бы защититься, когда проблема уже в свершившемся факте. |
Верно. Но, с одной стороны, автор проблему уже решил скриптом (по крайней мере в степени, его удовлетворяющей). С другой, я же советовал использовать образ диска. Я бы в подобной ситуации шел именно по пути образов - создал бы референсный образ, и распространил по рабочим станциям. Времени бы это заняло точно не больше чем работа скрипта, сканрующего всю файловую систему, а результат был бы стопроцентный. |
|
Вернуться к началу |
|
|
anotos
Зарегистрирован: 25.02.2005 Сообщения: 17 Откуда: с работы
|
Добавлено: Вт Мар 01 2005 11:31 Заголовок сообщения: |
|
|
Pepelatc писал(а): | И вообще, очень прискорбно, что, наряду со статьей "Как правильно задавать вопросы", нет (специально для таких, как ты) станьи "Как правильно отвечать на вопросы"
|
А ты сам до конца дочитал то? А ведь там в конце написано как надо отвечать на вопросы.
И еще момент (это уже всех "советчиков" касается): Из личного опыта могу сказать, что студенты в основном ставят на университетские компы не всевозможные программы и приложения, а просто забивают диск всякими папками и текстовыми файлами. Так что не надо мудрить с реестром. Я думаю написанный скрипт вполне может справиться с удалением обычных файлов и папок. |
|
Вернуться к началу |
|
|
nvjtnbjknb
Зарегистрирован: 31.01.2005 Сообщения: 69
|
Добавлено: Вт Мар 01 2005 11:39 Заголовок сообщения: |
|
|
Повезло Вам однако со студентами!!! |
|
Вернуться к началу |
|
|
anotos
Зарегистрирован: 25.02.2005 Сообщения: 17 Откуда: с работы
|
Добавлено: Вт Мар 01 2005 11:53 Заголовок сообщения: |
|
|
Угу, студентов надо на поводке держать, а то они бед наделают.
Да, как-то я не подумал о том, что студенты могут обучаться на всяких АиСУшников, программеров и прочих технарей. Вот от таких никакие скрипты не спасут, каюсь %) |
|
Вернуться к началу |
|
|
|