Регистрация |  Правила форума | Размещение рекламы Hosting от IQHost.ru и VPSVille.ru | uptime: 24 года 2 месяцев 12 дней| reputation: +447815.40 

Оценка > 8
Закачать фотку.
 PhotosФотки   Слежу за темойСлежу за темой   ПоискПоиск    Пользователи   ПрофильПрофиль/Профиль2   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Обмен и публикация скриптов для администрирования в WIndows




ТЕМАТИКА Канал 1Гбит для юрлиц в Москве? 30
WINDOWS Вывод из домена поврежденного ПК 10
ТЕМАТИКА По питальникам может кто пояснить? 6
WINDOWS Перенос ПО на новую версию windows. 4

Все новые темы
Начать новую тему   Ответить на тему    Список форумов SYSAdmins.RU -> WINDOWS
 
Автор
dedaFlint
Житель sysadmins



Зарегистрирован: 29.06.2004
Пользователь #: 18,513
Сообщения: 8678
Откуда: Хабаровск
Репутация: 178.5Репутация: 178.5 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 39

СообщениеДобавлено: Чт 12 Май, 2005 12:33    Заголовок сообщения: Обмен и публикация скриптов для администрирования в WIndows Ответить с цитатой

Всем прив!
предлагаю в этой ветке размещать скрипты которые облегчают админам жизнь.
Вопросы програмирования здесь лучше не обсуждать
На 98% процентов ваших вопрсов уже кто-то когда-то отвечал.
Для начала несколько ссылок
http://www.microsoft.com/technet/scriptcenter/resources/qanda/nov04/hey1104.mspx
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx
Код:
Вы можете неограниченно пользоваться этими скриптам и распространять их.
Скрипты предоставляются "как есть",
ПРИ ЭТОМ НЕ ПРЕДУСМАТРИВАЕТСЯ НИКАКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. ВЫ ИСПОЛЬЗУЕТЕ СКРИПТЫ НА СВОЙ СОБСТВЕННЫЙ РИСК. АВТОРЫ, НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ПОТЕРИ ДАННЫХ, ПОВРЕЖДЕНИЯ, ПОТЕРИ ПРИБЫЛИ ИЛИ ЛЮБЫЕ ДРУГИЕ ВИДЫ ПОТЕРЬ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ (ПРАВИЛЬНЫМ ИЛИ НЕПРАВИЛЬНЫМ) ЭТИХ СКРИПТОВ.

Если вы не согласны с приведенными условиями, вы не используете эти скрипты


Вы всё ещё не используете WMI? /Часть II /Константин Леонтьев/
http://www.samag.ru/art/02.2006/02.2006_02.html

Узнай секреты WMI: события и провайдеры /Часть I /Константин Леонтьев/


Узнай секреты WMI: события и провайдеры /Часть 2 /Константин Леонтьев/

По просьбам трудящихся.
ссылка на краткое содержание ветки (тов Max999 под забросил вести каталог, значит придется мне (время от времени буду править)


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


Краткое содержание
special t.x. тов Max999
Сделал обзор темы в формате описание скрипта - автор, язык.

    Стр.1
    - удаление файлов, созданных до заданной даты - dedaFlint, vb
    - бекап системы с заливкой на фтп - dedaFlint, vb
    - информация об учетных записях пользователей на удаленном компе - Andy_user, vb
    - массовое изменение имен ярлыков, находящихся в одной папке - shs, js
    - выдает имя текущего пользователя и название группы при условии, что текущей пользователь является членом этой группы - shs, js
    - копирование файла в пользовательские перемещаемые профили (добавляет ярлычок в меню пользователя) - shs, js
    - подключение сетевого принтера и установка его принтером по умолчанию - shs, js
    - выключение удаленной машины (по сети) от доменного администратора - dedaFlint, vb
    - получения информации о пользователях домена - shs, js
    - отправка e-mail с компьютера, на котором не установлен SMTP-протокол - shs, js
    - изменение на всех сетевых интерфейсах настроенных статически DNS и WINS серверов - Konstantin Leontiev, bat
    - список членов группы, заданой в качестве параметра запуска - shs, bat
    - массовое изменение пути к профилю пользователей для заданного OU - shs, bat
    - Копирование файлов, созданных не позднее заданой даты - shs, js
    Стр.2
    - бекап ИСА-сервера (надо запускать на самой исе) - GKM, vb
    - список юзеров, которые не логинились в домене х-дней или более - Paul stuart, js
    - быстрая установка стандартных заплаток WINDOWS - klarkin, vb
    - реконнект отвалившихся сетевых дисков - klarkin, vb
    - предотвращение изменения даты и времени - klarkin, vb
    - завершение процесса с заданным именем - klarkin, vb
    - определение по MAC-адресу IP-адреса удаленной машины - Andy_user, vb
    - ивентаризация всех машин в домене - Холод, vb
    - изменение у клиентов пути к антивирусному серверу Symantec Corp при переезде последнего - ONE, js
    - изменение у клиентов пути к антивирусному серверу Symantec Corp при переезде последнего - shs, js
    Стр.3
    - cмена стандандарного названия "Мой компьютер" на нечто более внятное - dedaFlint, vb
    - автоматическое удаление log-ов и backup-ов, срок актуальности которых истек - Подлячок, vb
    - сохранение открытой конфигурации 1С в сеансе - Wanderer2002, vb
    - введение пользователей в домен из экселя - dedaFlint, vb
    - аудит кол-ва печати пользователями - dedaFlint, perl
    - создание шары с раздачей прав как на шару, так и на каталог - WildCat, vb
    - получения некоторой информации об Exchange-серверах, установленных в организации - shs, js
    - подключение принтеров на рабочих станциях - cjnovi, vb
    - недоделанный вирусок - TextOut, js
    - надуть radmin - TextOut, js
    - смена ппароля локального админа в домене - dedaFlint, vb
    - надуть IDEAL Administrator - shs, js
    - рекурсивно устанавливает всем пользователям домена атрибут "User must change password on next logon" - sudo_su, vb
    - мониторинг выключения компов - Kasak-S, vb
    - Создание пользователя, включение его в заданные группы, создание ему почтового ящика на Exchange - shs, js
    - рекурсивно возвращает всех пользователей выбранного ОЮ и список групп, в которых состоит данный пользователь - sudo_su, vb
    Стр.4
    - копирование каталогов с подкаталогами и всем содержимым - TextOut, js
    - перечисляет все логи на компе - dmitryK1, wfs,vb
    - русификация Windows NT\2000\XP для DOS-приложений - artbear, vb
    - Копирование файла(списка файлов) на дискету с созданием там же копии файла - artbear, vb
    - внесение исправлений в адресные книги Outlook - shs, vb(макрос Outlook)
    - перенос настроек ISA Server Enterprise 2000 в режиме Stand alone - Die off, vb
    - пакетное получение параметров пользователей из AD - Die off, vb
    - подключение сетевых принтеров / копирование шаблонов из каталога DFS на компьютер пользователя в контексте пользователя - Die off, vb
    - обновление программы, установленной на терминальном сервере - microsin, vb
    - офлайновая дефрагментация баз Exchange 2000/2003 - chupin, vb
    - рассылка пользователям сообщений, заданных в excel-файле - Manoff, vb
    - сбор и мониторинг компютеров в домене - dedaFlint, vb
    - запрещение использования протоколов IMAP4, POP3 и HTTP для всех пользователей в заданной OU - chupin, vb
    Стр.5
    - учёт пользователей, использующих протоколы POP3, HTTP, IMAP4 - chupin, vb
    - Добавление пользователя в домен и придание ему домашней папки - NeSPEC, vb
    - снимает флаги "Пользователь не может менять пароль" и "Пароль не истекает", устанавливает флаг "Пользователь должен сменить пароль при следующем входе" - chupin, vb
    - список пользователей, одновремемнно залогиненных на нескольких компьютерах - Algor, bat
    - мониторинг в заданной папке всех изменений, происходящих с файлами заданного типа - Konstantin Leontiev, vb
    - выполнение для компов в сети единовременного действия - apostle, bat(?)
    Стр.6
    - получение SID компьютера из AD - pincer, vb
    - поиск аккаунтов в AD с просроченными паролями - icu, vb
    - SID локальных пользователей на удаленном компьютере - pincer, vb
    - изменение пароля локального админа в "разношерсном" домене - pincer, vb
    - синхронизация папки программы на сетевом и локальном дисках - andrew78, js
    - перебирает компы в AD, начиная с заданного контейнера, и записывает в атрибут "Description" объекта "компьютер" в AD имя залогоненного (в данный момент) на этом компьюторе пользователя - shs, vb
    Стр.7
    - измерение температуры в серверной - dedaFlint, perl
    - поиск производителя по MAC адресу - 4u3u, vb
    - включение-выключение сетевой карты (как устройства) при помощи devcon.exe - 4u3u, cmd
    - поиск файлов определенных обновлений в базе WSUS - 4u3u, cmd
    - копирование папок "Мои документы" и "Рабочий стол" в заданую папку - shs, js
    - распихивание всем в домене шаблонов в outlook2003 - naZOID, js
    - подключение сетевых дисков при логоне в зависимости от членства пользователя в группах безопасности - icu, js
    - подключение сетевых дисков при логоне в зависимости от членства пользователя в группах безопасности - Crash Developer, vb
    Стр.8
    - отправление сообщения о результатах работы из другого скрипта - Crash Developer, vb
    - перенос содержимого десктопа пользователя (исключая ярлыки) в заданную папку - Klasik, vb
    - скрипт для облегчения анализа дамп-файлов, создаваемых Windows при STOP ошибках - 4u3u, cmd
    - подключение сетевых дисков при логоне в зависимости от членства пользователя в группах безопасности - Lakly, vb
    - массовое добавление пользователей из екселевской таблички - Rashun, vb
    - автоподключение vpn - fallen, bat
    - русификация DOS-консоли в NT - KOL48, bat
    - запись в лог результата работы "ping" указанного хоста с временной меткой на каждый пакет - KOL48, vb
    - устранение ошибки 7023 при установке апдейтов на клиенты посредством WSUS - ASS, bat
    - добавление нового пользователя в АД согласно корпоративным правилам именования и параметров учётной записи - kosmopes, vb
    - ротация лога MS ISA, если лог пишется в базу MS SQL - Хэлкар, vb
    - установка флага "Обновление зон верхнего уровня", если домен состоит из одной метки - ALEXANDER.I, vb
    - разблокирование пользователя в домене - Anmi, js
    Стр.9
    - определение владельца файла - Anmi, js
    - определение владельца файла - Anmi, vb
    - изменение владельца каталога/файла - Anmi, vb
    - добавление объекта в группу - Anmi, js
    - перезагрузка компьютера с помощью предварительно установленного r_server - Tapis, vb
    - размещение на рабочем столе ярлыков в зависимости от членства в группе - eagle_44, vb
    - бэкапирование БД WSUS - shs, js
    - прописывание в офисе имени пользователя на основании информации из АД - Adder, vb
    - менялка прокси в IE .hta интерфейсе - Adder, vb
    - подпрограмма транслита - Adder, vb
    - ручная установка/удаление сервиса в windows - Adder, vb
    - отправка сообщения - Gotlib, vb
    - Находит все компы в заданном OU ,опрашивает каждый на предмет текущего залогиненого пользователя, получает ответ вида Username, после чего опять же спрашивает у AD полное имя пользователя в формате ФИО и прописывает его в описание компа в AD - Antichrist, vb
    Стр.10
    - Скрипт для вызова администратора пользователем путём отправки net send на заданный комп ,ведёт логи на сервере ,максимально упрощён для юзеров. Берёт ФИО юзера из AD
    - резервное копирование с использованием ntbackup.exe - Anmi, js
    - скрипт для ручного обновления Symantec CE - Dm1try, cmd
    - скрипт для добавления сайтов и сетевых адресов в зоны в internet explorer - GILforever, vbs (ИМХО проще политиками)
    - Как выполнить скрипт на удалённом компе через WMI от имени пользователя оличного от того который запускает скрипт. - buratino32@pisem.net, vbs
    - Скрипт добавляющий определенную группу безопастности домена в группу локальных администраторов на компьютере. -Sheriff1980, vbs (ИМХО проще политиками)
    - Подмена hosts в зависимости от DG полезно если сеть разбита на VLan и есть сервера которые имеют несколько сетевых интерфейсов, каждый из которых смотрит в определенный VLan то есть необходимость чтобы пользователи разрешали имя сервера в тот IP который из их VLan, DNS этого сервиса предоставить не сможет -Sheriff1980, vbs (ИМХО изврат итересен, практическая ценность не понятна)
    - копирования конфигурационного файла QIPа всем пользователям домена, ставить на запуск в Logon.
    - выбирает пользователей из указанной группы и записывает их список в фаил
    Стр.11
    - Небольшое добавление к скрипту по "терминированию" нежелательных процессов
    - Ищет по всем контроллерам пользователей, которые не логинились уже более 90 дней и дизейблит их. После чего скидывает в файл их имена в форме Distinguished Name
    - Меняет на всех сетевых интерфейсах настроенных статически DNS и WINS сервера.
    - Архивация баз 1С на терминальном сервере (без блокировки пользователей). По некоторым причинам ипользуется архиватор RAR, почтовый киент BLAT
    - Изменить IP маску и шлюз -Qzar, vbs
    - Записывает в АД имя раб. станции пользователя, на которой тот залогинился, и прописывает полное имя в описание компа, на котором этот пользователь сидит -max_ko, vbs
    - Cкрипт для удаленного запуска приложений через winmgmt. SpV82, vbs
    - Еще один вариант shutdown-а -bion, vbs
    - Простой скрипт по добавлению шар при входе в систему -sad1ce, vbs
    - Cкрипт отключения сетевых принтеров. -sad1ce, vbs
    Стр.12
    - скрипт инвентаризации программного обеспечения на NT машинах из списка в файле запускается из-под администратора (домена) скрипт сохраняет для каждой машины отдельный файл -DmiSh, vbs (ИМХО полезен, надо знать за что сидеть придется :-) .)
    - Скрипт вытаскивает из AD много инфы о свойствах учеток компьютеров, лично мне нужно было выяснить мертвые записи компов, там где дата зашкаливает - типа 1600 год это значит не заходила машина с такой учеткой в AD либо машины младше NT, т.е. W98 или W95 DmiSh, vbs (ИМХО в 2003 домене есть это функционал по умолчанию, полезен для 2000 доменов.)
    - Оповещение о каком-нибудь событии множество людей/компов. Надстройка над службой сообщений -DmiSh, vbs
    - еще один скрипт очистки файлообменного шаринга -DmiSh, vbs
    - Проверка доступности хостов по списку из файла -DmiSh, vbs
    - Выдает список служб -DmiSh, vbs
    - Изменение свойств учетной записи пользователя. Необходимо ввести старый и новый пароли. -SpV82, vbs
    - помогает найти на каком компе сети залогинен нужный юзер -begem0t, vbs
    - Разблокирует юзеров и меняет пароль по желанию -kamardash, vbs
    - Скриптик удаленной смены ip и прочего -TIGRIS, vbs
    - Переименовываем и перезапускам удаленную машину (права соответствующие должны быть), работает по тихому -TIGRIS, vbs
    - Программа мониторит службы на машинах их списка в файле -DmiSh, vbs
    Стр.13
    - Скрипт для отслеживания файлов с их последующим копированием по нескольким папкам. Интерактивный -Nartub, vbs
    - Быкуп терминальной 1С -Manus, cmd
    - скрипт предназначен для изменения конфигурации сети при сбое (смена DG в винде) -Karenxxx, cmd
    - Показывает компьютеры которые есть в АД но нет в WSUS. -xlam, vbs
    - Скрипт отсылки оповещений по ICQ. -icu, vbs
    - Скрипт для бекапа и оптимизации реестра Windows утилитами ERUNT и NTRegOpt, плюс архивирование в rar. -SpV82, vbs
    - Скрипт для архивации файлов в папке или в папке и в вложенных папках -arnor, vbs
    - Скрипт массового создания домашних каталогов пользователей на файл сервере. -wagner, vbs
    - Скрипт для получения серийных номеров ОС Windows на компьютерах локальной сети -Mr. Death, vbs (ИМХО полезен, надо знать за что сидеть придется :-) .)
    - Вариант: Скрипт осуществляет инвентаризацию установленных программ на компьютерах локальной сети -Mr. Death, vbs (ИМХО полезен, надо знать за что сидеть придется :-) .)
    Стр.14
    - Формирование списка учётных записей пользователей и компьютеров домена с указанием даты их создания -Mr. Death, vbs
    - Cкрипт, который меняет настройки учетной записи в MS Outlook: -Mr. Death, vbs
    - Скрипт, последовательно просматривает список компьютеров в AD и вырубает заданный процесс. -Mr. Death, vbs
    - Скрипт, последовательно просматривает список компьютеров в AD и вырубает заданный процесс. -Mr. Death, vbs
    - Вариант: Скрипт опрашивает компьютеры домена на предмет того, какой пользователь залогинен в данный момент на каждом компьютере -Mr. Death, vbs
    - Вариант скрипта, выдающего имя пользователя на конкретном компьютере -Mr. Death, vbs
    - Скрипт, с помощью которого можно менять описание компьютера на всех машинах домена. Новое описание запрашивается у пользователя для каждого компьютера: -Mr. Death, vbs
    - Вариант: скрипт для смены паролей учеток встроенных администраторов для XP, 2000 и 2003serv машин, с выводом отчетов о проделанных изменениях либо неуспехах. -DmiSh, vbs
    - Этот скрипт просматривает системный журнал Безопасность и если обнаружит в нём запись об изменении настроек браузера, то уведомит об этом. -Mr. Death, vbs
    - При помощи этого скрипта можно установить программу (в данном примере устанавливается test.msi, которая хранится в папке \\domaincontr\soft\) на удалённый компьютер. Установка программы будет выполнена из-под учётной записи указанного в скрипте пользователя (administrator). -Mr. Death, vbs
    -Этот скрипт скопирует все события, созданные в предыдущий день, из журналов в базу данных. В примере в качестве имени источника данных (DSN) используется EventLogs. -Mr. Death, vbs
    - скрипт проверит размер файлов журнала (Event Log) и если обнаружит, что размер одного из них превышает указанное значение, то создаст его резервную копию, а затем очистит журнал. -Mr. Death, vbs
    - записать всем пользователям в определённый ключ реестра фамилию и имя, взятые из AD. Такое решение позволит настроить некоторое ПО, которое может использовать в работе по умолчанию логин пользователя, но такой логин будет менее информативен, чем имя и фамилия, которые, как правило, указаны в учетной записи пользователя в домене. -Mr. Death, vbs
    - Скрипт архивирует папку файлопомойки (\\SERVER\e$\Exchange)
    и папку с данными юзеров (домашнюю Данные пользователей (\\SERVER\e$\Departments)) Скрипт не архивирует медиафайлы -Mr. Death, cmd
    -Скрипт делает список e-mail из exchange в txt файл если запускать по шедулёру, то проверяет на изменения и если таковые есть, отсылает письмом новый файл, если изменений нет, то выводит сообщение "=" -zorion, vbs
    стр 15
    - формируем в Excel список из полей AD: Last Name; First Name; Display Name; SamAccountNanme; mail Description; telephoneNumber; Company Title; department; (vba в Excel создать макрос):
    - Настраиваемый обработчик файлов Копирование, перемещение, даление файлов просто отслеживание наличия в лог согласно настроек ini файла. Написано на WSH 5.6 Можно применять для резервного копирования слежения за наличием и.т.д.
    - инфо о компьютерах домена EXCEL.wsf : Получает инфо о компьютерах домена Роль в домене, семейство процессора и его частоту, размер оперативной памяти и жестких диков Автор примера - Алексей Жучков
    - Скрипт для работы с реестром. Позволяет записывать, читать, удалять значения, получать список разделов в ветке, список параметров в ветке, список параметров и их значений и т. д.
    - автоматическая подпись из AD в MS Outlook 2003-2007
    - анализирует параметр lastLogon аккаунта компьютера, и если этот параметр null (т.е. комп уж точно неактивный долгое время) - аккаунт перемещается в орг. единицу oldComputers.
    - Создание MAPI-профиля для Outlook 2002/3
    - Выбирает все компы из AD, пропинговывает, если комп доступен то вытаскивает кто на нем злогинен, так же выдает текущий IP-адрес
    - скрипт позволяет раз и навсегда забыть где лежат базы 1С (v7.7)
    в зависимости от групп безопасности пользователя ему добавляются нужные базы 1С (v7.7), при необходимости редактируется их название на правильное
    - Следующий скрипт RmtDsktop.bat помог мне включить Remote Desktop на удаленном Windows Server 2003.
    - Скрипт для создания 2 ярлыков для Консультант+ только для людей входящих в поределенную группу безопасности домена
    - Скрипт, создающий пользователей в AD:
    - задача мониторинга свободного места на файловых, почтовых и т.д. серверах.
    стр 16
    - Скрипт для борьбы со спамом. Работает на Exchange Server 2000/2003:
    - Опрос заданного п.я. по протоколу POP3 и отправка предупреждающего сообщения по e-mail, в лучае превышения заданного порога
    - смена паролей Администраторов на локальных машинах в домене
    - Работа с переменными окружения, скрипты выполняют одинаковую функцию- выдают клиентам терминалов из определнных подсетей определенные переменные окружения
    - Определение внешнего IP-адреса, через который ваш офис/комп выходит в интернет. Базируется на сервисе, предоставляемом сайтом 2ip.ru, соответственно, если произойдет значительный редизайн на сайте, то скрипт нужно переделывать.
    - Скрипт проверяет наличие событий с определённым кодом в системных логах на удалённой машине и выводит упоминания о них в текстовой файл.
    - Скрипт копирования данных на удаленный комп через Microsoft-скую утилиту Robocopy.
    - Скрипт поиска запущеного процеса, в часности Opera.exe, на удалённых машинах. Отчёт выводит на экран.
    - Чуток измененный Reg2inf
    - Скрипт ежедневного сбора статистики компьютеров включенных ВНЕ рабочее время и отсылом по почте администратору в виде красивой таблицы.
    - Вариант: задача мониторинга свободного места на файловых, почтовых и т.д. серверах
    - Скрипт по сбору информации об установленном ПО информация берется из ветки реестра
    стр 17
    - вариант удаленной перезагрузки компьютера, с предварительной проверкой присутствия компьютера в АД и в сети. Ребутит даже заблокированные пользователем компьютеры, и что самое главное - ребутит 2003 винду.
    - Подключение сетевого диска от конкретного пользователя.
    - менялка прокси в IE .hta интерфейсе:
    - Скрипт для удаления лицензии терминалов на клиентах, каждые 30 дней:
    - Скрипт по борьбе с mail.ru-агентом
    - Скрипт обхода компьютеров по списку и поочередноая установка NTFS разрешений на определенную папку и файл.
    - Запрос параметров виртуальных машин из Virtual Server 2005
    - скрипт по изменению сервера обновлений у антивируса, под NOD32 Скрипт меняет текущий сервер обновлений
    - Скрипт обхода всех компов в домене (с проверкой их доступности) и смены на них пароля встроенной учетки администратора.
    - Пример скрипта, устанавливающего WinRAR тем пользователям, у кого его еще нет:
    стр 18
    - Отправка сообщения администратору при изменении данных в AD возможна отправка сообщения на электронную почту или создание задачи в MOSS 2007
    - Есть популярная в Питере программа расчта смет SmetaWizard. Неприятный момент заключается в том, что после установки для комфортной работы пользователя нужно напильником обработать права доступа к файловой системе и реестру. Для решения прогблемы родился скрипт создающий локальную группу на компьютере SmetaWiz и раздающий этой группе необходимые права. Дополнительно требуется утилита subinacl.exe, а для обработки удаленной машины - psexec.exe
    - Скрипт Ставит в конфигурационном файле интернет мессенджера qip галку "сохранять историю".
    - Отправка сообщений новым пользователям Exchange .
    - Скрипт для проверки доступности серверов и сервисов. Написан для помощи пользователям в диагностике возможных проблем
    - Если в результате неосторожных манипуляций с настройками рабочего стола "слетела" панель задач Windows XP, то не спешите переустанавливать операционную систему. Вполне возможно, что вернуть ее к жизни поможет VBS-скрипт:
    - Удаленно получает и выводит в консоль список локальных групп и их членов на компьютерах домена, видимых в сетевом окружении
    - Скрипт возвращает глобальные группы, в которые явно и НЕявно входит текущий пользователь.
    стр 19
    - Удаление файлов определенного расширения
    - Пакетный файл, предназначенный для удаления всех файлов в указанных %DirList% каталогах и удовлетворяющие указанным маскам/имеющие след. расширения %ExtList% Результат работы пишется в лог %logfile%
    - небольшой батничек, который выполняет определенные действия в зависимости от принадлежности к группам
    - Скрипт предназначен для анализа потребления оперативной памяти терминальными пользователями на терминальных серверах. При запуске скрипт выдает в формате csv список всех процессов с именами владеющих ими пользователей, номера сессий, количество памяти в Working set, Private bytes и Vurtial size. Скрипт выводит данные попроцессно (одна строка вывода на каждый процесс запущеный на сервере). Подсчитывает сколько памяти занял каждый пользователь и выводит сводный результат. Подсчитывает сколько памяти заняли все экземпляры каждого процесса. В принципе сгодится для любых серверов и рабочих станций, лишь бы списки были. Весь вывод можно сразу открывать и ковырять в excel.
    - скрипт, который чистит эксчендж фолдер. копирует всё содержимое в отдельную папку, удаляет всё содержимое папки , оставляя только сабфолдеры пустыми, резетит все аттрибуты перед удалением, рубит сетевые коннекшны, все подпапки обрабатывает по отдельности, может выполняться во время активных сетевых обращений к папке.
    возможен запуск чекдиска, перед запуском скрипта (очч помогает избежать неровнолстей, елсли папка обмена оочень большая и активно-использующаяся)
    Отправляет лог отработки по почте.
    - пишем в описание объекта компьютер в АД дату последнего логона
    - поиск аккаунтов пользователей с истекшим сроком действия с последующим отключения аккаунта и переносов в отдельную OU
    - Скрипт, для подсчёта количества файлов на диске
    - Добаляем имя отдел и время захода юзера , чтобы видеть в сетевом окружении.
    - Столкнулся с проблемой, что в случае если на UPStream ISA сервере проблема с доступом в инет, и внутренний интерфейс исправен. DownStream сервер не воспринимает это событие , как преход на Backup Route. Скрипт меняет внутренний IP upstream сервера, тем самым становится в состояние unavailability для downstream. И возвращает IP в случае появления интернета.
    - Скрипт отключает-включает USB:
    - Скрипт, для выключения компьютера через определенное время. По умолчанию в скрипте 600 сек.
    стр 20
    - Скрипт создаёт на локальной машине папку и копирует туда файлы по сети из разшариной.
    - Скрипт для получения SMARTа HDD Может брать SMART как с локальной так и удаленной машины с выводом результата в файл в формате CSV
    - Скрипт для вывода имён пользователей компьютеров и т. д.
    - Скрипт генерирует и открывает HTML-отчет использования принтеров организации. Уточнение: сетевые принтеры подключены пользователям не напрямую, а через сервер. То есть, все данные берутся из Журнала Событий сервера
    - парсинг с помощью утилит от Sysinternals журналы System, Application и Security, после чего с помощью утилиты blat отправляет полученный отчет по электропочте
    -Полный бэкап всех групповых политик в домене.
    -смена пароля локального админа. Скрипт генерит случайные "стойкие" пароли длиной 8 символов, задаёт их локальным пользователям под названием Administrator на всех машинах в OU и сохраняет таблицу паролей в базу данных mdb
    -Скрипт который просматривает папку z:\Backup\stip\tocd\ и содержимое первой найденной директории записывает на компашку с помощью программы NeroCmd.exe, идущей в комплекте с нерой. Лабел диска берётся из названия этой найденной директории.
    -скипт для блокировки Windows Genuine Advantage
    -Скрипт дублирования шары. (создается новая шара идентичная старой по разрешениям шары, контенту и NTFS-ACL)
    -глобальная смена адрес pop3 сервера в аутлуках по всему домену
    стр 21
    -Логон-скрипт (jscript) с подключением дисков и принтеров, с некоторыми дополнительными удобствами.
    -Скрипт проверяет, были ли выданы в аренду новые адреса на DHCP сервере и при их наличии отправляет администратору уведомление по почте. Во вложении к письму прилагается время, ip-адрес, имя и mac адрес компьютера
    -скрипт по удалению пользователей с обработкой ошибок
    - пинговать сеть и записывать результаты в лог.
    -Скрипт для создания на рабочем столе ярлыков подключенных сетевых дисков и RDP-подключений Если ярлыки и RDP-файлы уже есть, то они не будут создаваться
    -перезагрузка adsl модема zyxel p-600, если не доступен хост
    - удаление пользователей , список берём из экселевского файла
    -создание пользователя, заведение его в группу
    - перегружать домашний д-линк.
    стр 22
    -погодный информер Яндекса для примера в коде) и помещает его в заданную директорию.
    -'скрипт для изменения пути перемещаемых профилей (терминального и 'основного)
    -cisco c регулярным автоматическим бэкапом их конфигов
    -Скрипт с объектом для запуска-остановки системных сервисов
    -вариант бэкапа на батниках
    -скрипт удаленного запуска приложения:
    -Регистрация DLL файлов в домене
    -Скрипт для переноса сетевых принтеров юзера, в случае смены имени принтсервера.
    -This script will set a computer to auto logon
    -bat for Printers Backup
    - This script is for changing the location of the print spooler the local or a remote computer.
    стр 23
    -exchange restart BAT


_________________
не можешь админить головой - админь ногами


Последний раз редактировалось: dedaFlint (Вт 24 Июн, 2014 11:36), всего редактировалось 8 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
dedaFlint
Житель sysadmins



Зарегистрирован: 29.06.2004
Пользователь #: 18,513
Сообщения: 8678
Откуда: Хабаровск
Репутация: 178.5Репутация: 178.5 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 39

СообщениеДобавлено: Чт 12 Май, 2005 12:35    Заголовок сообщения: Ответить с цитатой

Итак на затравку Smile
Код:
' Где файлы килять будем?
path = "D:\Back-Up"
' Когда было последняя модификация файла?
killdate = date() - 7

arFiles = Array()
set fso = createobject("scripting.filesystemobject")

SelectFiles path, killdate, arFiles, true

nDeleted = 0
for n = 0 to ubound(arFiles)
  on error resume next
  arFiles(n).delete true
  if err.number <> 0 then
    wscript.echo "Unable to delete: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
  on error goto 0
next

msgbox nDeleted & " of " & ubound(arFiles)+1 _
  & " eligible files were deleted"


sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
  on error resume next
  set folder = fso.getfolder(sPath)
  set files = folder.files

  for each file in files
    dtlastmodified = null
    on error resume Next
    dtlastmodified = file.datelastmodified
    on error goto 0
    if not isnull(dtlastmodified) Then
      if dtlastmodified < vKillDate then
        count = ubound(arFilesToKill) + 1
        redim preserve arFilesToKill(count)
        set arFilesToKill(count) = file
      end if
    end if
  next

  if bIncludeSubFolders then
    for each fldr in folder.subfolders
      SelectFiles fldr.path,vKillDate,arFilesToKill,true
    next
  end if
end sub

_________________
не можешь админить головой - админь ногами
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
dedaFlint
Житель sysadmins



Зарегистрирован: 29.06.2004
Пользователь #: 18,513
Сообщения: 8678
Откуда: Хабаровск
Репутация: 178.5Репутация: 178.5 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 39

СообщениеДобавлено: Чт 12 Май, 2005 12:38    Заголовок сообщения: Ответить с цитатой

Продолжение
Это скрипт делает бык-уп системы и заливает его на фтп
Код:
strComputer = "."
Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = "C:\WINDOWS\system32\ntbackup.exe backup @C:\cmd\Back-UP-Drive-C.bks /a /v:no /r:no /rs:no /hc:off /m normal /j Back-UP-Drive-C /l:s /f D:\Back-Up\Backup-drive-c.bkf"
WshShell.Run strcommand, 1, true

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LocalTime")

For Each objItem in colItems
strCommand = "C:\Arch\7z.exe a  D:\Back-Up\Backup-dc-srv-01-DayOf-Week-"&objItem.DayOfWeek&".7z D:\Back-Up\*.bkf -t7z -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d10M -mb0:1 -mb0s1:2 -mb0s2:3"
Next
WshShell.Run strcommand, 1, true
strCommand = "ftp -s:C:\CMD\ctp-command.txt"
WshShell.Run strcommand, 1, true

----------------------
зы. модеры если прилепите на верх то это будет гуд

_________________
не можешь админить головой - админь ногами
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Andy_user
Почетный житель



Зарегистрирован: 18.11.2002
Пользователь #: 2,918
Сообщения: 5667
Откуда: Санкт-Петербург
Репутация: 280.9 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 13

СообщениеДобавлено: Чт 12 Май, 2005 12:47    Заголовок сообщения: Ответить с цитатой

Получаем информацию об учетных записях пользователей на удаленном компе.
Код:
On error Resume Next
Const ForReading = 1, ForWriting = 2, ForAppending = 8
'******************************************
strComputer = "193.125.10.5"
strUser = "Andy_user"
strPassword = "PASSWORD"
strDomain = ""
'******************************************
Err.Clear
'--- Подключаемся ---
Set objSWbemLocator = CreateObject ("WbemScripting.SWbemLocator")
If (Err.Number <> 0) Then
   WScript.Echo "Error (objSWbemLocator)  : " & Err.Number & "   " & Err.Description
   WScript.Quit
End If
Err.Clear
Set objSWbemServices = objSWbemLocator.ConnectServer ( _
   strComputer, _
   "root\cimv2", _
   strUser, _
   strPassword, _
   "MS_409", _
   "ntlmdomain:" & strDomain)
If (Err.Number <> 0) Then
   WScript.Echo "Error (objSWbemServices)  : " & Err.Number & "   " & Err.Description
   WScript.Quit
End If
Err.Clear
Set file_object = CreateObject("Scripting.FileSystemObject")
Set list = file_object.OpenTextFile("./Rezult.log",ForWriting,True)
Set colAcc = objSWbemServices.ExecQuery ("Select * from Win32_UserAccount")
WScript.Echo "Обнаружено " & colAcc.Count & " учетных записей."
For Each ttt in colAcc
    list.Write  ttt.Caption & " "  & vbCrLf
    list.Write  "   " & "Caption : " & ttt.Caption  & vbCrLf
    list.Write  "   " & "Name : " & ttt.Name  & vbCrLf
    list.Write  "   " & "Description : " & ttt.Description  & vbCrLf
    list.Write  "   " & "Domain : " & ttt.Domain  & vbCrLf
    list.Write  "   " & "SID : " & ttt.SID  & vbCrLf
    list.Write  "   " & "SIDType : " & ttt.SIDType  & vbCrLf
    list.Write  "   " & "Disabled : " & ttt.Disabled  & vbCrLf
    list.Write  "   " & "Lockout : " & ttt.Lockout  & vbCrLf
    list.Write  "   " & "PasswordChangeable : " & ttt.PasswordChangeable  & vbCrLf
    list.Write  "   " & "PasswordExpires : " & ttt.PasswordExpires  & vbCrLf
    list.Write  "   " & "PasswordRequired : " & ttt.PasswordRequired  & vbCrLf
    list.Write  " -------------------------------  " &  vbCrLf
Next
list.Close

_________________
Знание некоторых принципов компенсирует незнание многих фактов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
shs
Почетный житель



Зарегистрирован: 21.08.2003
Пользователь #: 9,016
Сообщения: 3506
Откуда: Default city
Репутация: 178.1Репутация: 178.1 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 3

СообщениеДобавлено: Чт 12 Май, 2005 16:42    Заголовок сообщения: Ответить с цитатой

Код:
///////////////////////////////////////////////////////////////////////////////
//////  Скрипт предназначен для "оптового" изменения ярлыков,
//////  которые находятся в одной папке
//////  (В свойствах ярлыка, содержащих ссылку на запускаемый объект,
//////  меняем старое имя исполняемого файла на новое)
//////  05/10/2005 ShS
///////////////////////////////////////////////////////////////////////////////
//Папка, в которой должны лежать интересующие нас  ярлыки
var strFldrName="\\\\DC\\NETLOGON\\!\\Test Gepard"
//Подстрока, которую надо заменить
var strOld="Gepard.bat";
//Подстрока, на которую надо заменить
var strNew="GepardTest.bat";
////////////////////////////////////////////////////////////////////////////////
//Объект для доступа к свойствам ярлыка
var oShellLink;
var iStartOfFileName;
var strPath;
//создаем объект FSO для доступа к папкам и файлам
var FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для strFldrName
var fsoFldr=FSO.GetFolder(strFldrName);
//Получим колекцию файлов в папке strFldrName
var colFiles= new Enumerator (fsoFldr.Files);
//
var WshShell = WScript.CreateObject("WScript.Shell");
//Цикл по всем файлам в папке
for (;!colFiles.atEnd();colFiles.moveNext())
   {
     //Есть ли у файла расширение "lnk"? (Т.е. ярлык ли это?)
     if (colFiles.item().Name.length-colFiles.item().Name.lastIndexOf(".lnk")-4==0)
      {
        oShellLink = WshShell.CreateShortcut(strFldrName + "\\"+colFiles.item().Name);
        //Проверяем, что текущий ярлык содержит в пути запуска искомое имя файла strOld
        if (oShellLink.TargetPath.lastIndexOf(strOld)!=-1)
           {
             //вычисляем позицию, с которой начинается интересуемое нас имя файла
             iStartOfFileName=oShellLink.TargetPath.length - strOld.length;
             strPath= oShellLink.TargetPath.substr(0,iStartOfFileName-1);
             //заменяем старое имя файла на новое
             oShellLink.TargetPath = strPath+"\\"+strNew;
             oShellLink.Save();
           }
      }
   }

_________________
blog: http://shserg.ru/


Последний раз редактировалось: shs (Сб 14 Апр, 2007 11:28), всего редактировалось 4 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
shs
Почетный житель



Зарегистрирован: 21.08.2003
Пользователь #: 9,016
Сообщения: 3506
Откуда: Default city
Репутация: 178.1Репутация: 178.1 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 3

СообщениеДобавлено: Чт 12 Май, 2005 16:52    Заголовок сообщения: Ответить с цитатой

Код:
/**   2004 ShS
 *    Script:   violater.js
 *    Purpose:  Выдает имя текущего пользователя и название группы ("Опытные пользователи" или "Администраторы")
 *              при условии, что текущей пользователь является членом этой группы.
 *            Если назначить этот скрипт на вход/выход пользователя из системы, то получим перечень компьютеров и
 *            пользователей, на которых эти пользователи обладают повышеными правами (т.е. являются членами
 *            вышеназванных групп)
 **/
 
 
 // define constants
// Note: if a file exists, using forWriting will set
// the contents of the file to zero before writing to
// it.
var forReading = 1, forWriting = 2, forAppending = 8,
   objDate, Today, strDate, strMonth, LogFileName;

objDate = new Date ();
Today = "_" + objDate.getYear();
strMonth = "" + (objDate.getMonth()+1);
strDate = "" + objDate.getDate();
Today +=  (strMonth.length<2) ? "0" + strMonth : strMonth;
Today +=  (strDate.length<2) ? "0" + strDate : strDate;

// Create FileSystemObject
fs = new ActiveXObject( "Scripting.FileSystemObject" );
//[b]Лог-файл, куда скрипт будет записывать результаты[/b]
var LogFileName = "\\\\admiral\\WhoIsViolater$\\" + "Violaters"+ Today + ".txt";





//city0 - имя домена WinNT

showusers( "city0/." );

/**
 *
 * example   - showusers( "DOMAINNAME" );
 *           - showusers( "DOMAINNAME/Computer" );
 **/
 
function showusers( domain )
{
  var WshNet,UserName;
  WshNet=WScript.CreateObject("WScript.Network");
  UserName=WshNet.UserName;
    try
    {
        var DomainMembers = GetObject( "WinNT://" + domain );
        var e = new Enumerator( DomainMembers );
        for( ; !e.atEnd(); e.moveNext() )
        {
            var Group = e.item();
            if( Group.Class == "Group" )
            {
              if (Group.Name=="Administrators" ||
                  Group.Name=="Администраторы" ||
                  Group.Name=="Power Users" ||
                  Group.Name=="Опытные пользователи")
                 {
                  var ee= new Enumerator(Group.Members());
                  for( ; !ee.atEnd(); ee.moveNext() )
                  {
                       var Member = ee.item();
                       if ((Member.Class=="User") && (Member.Name==UserName))
                          {   
                              print( "Computer    : " + WshNet.ComputerName);
                              print( "Group       : " + Group.Name );
                              print( "Member      : " + Member.Name );
                              print( "============================" );
                           }
                    }
                 }
            }
        }
    }
    catch( e )
    {
        print( "Error: " + e.description );
    }
}

function print( msg )
{
   
   
   try
      {
         os = fs.GetFile( LogFileName );
      }
   catch (e)
      {
         if (e!=0)
            {
               fs.CreateTextFile( LogFileName ); // Create the text file
               os = fs.GetFile( LogFileName );
            }
         
      }
   os = os.OpenAsTextStream( forAppending, 0 ); // Open the file for appending   
   // Write two lines of text to the file
   os.write( msg+"\r\n" );
   

   // Close the file
   os.Close();


    //WScript.Echo( msg );
}

city0 - имя домена

_________________
blog: http://shserg.ru/


Последний раз редактировалось: shs (Чт 03 Ноя, 2005 10:57), всего редактировалось 7 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
shs
Почетный житель



Зарегистрирован: 21.08.2003
Пользователь #: 9,016
Сообщения: 3506
Откуда: Default city
Репутация: 178.1Репутация: 178.1 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 3

СообщениеДобавлено: Чт 12 Май, 2005 17:00    Заголовок сообщения: Ответить с цитатой

Код:
//*****************************************************************************
// JScript 2004 Shs
//Этот  скрипт предназначен для копирования файла в пользовательские перемещаемые профили
//(Добавляем ярлычок в меню пользователя)
//******************************************************************************
//
//
//*****************************************************************************
//  Рекурсивная функция перехода по всем подкаталогам, начиная с заданого (PolFldr)
//  и копирования заданного файла (ScriptName) по заданым папкам (FldrName)
//******************************************************************************
function LoopSubFolders (PolFldr, DeepCount)
{
var SubFolders, // Коллекция подкатологов системных политик
    fsoPolFldr, //объект для доступа к папке
    CurFldr;   //текущая папка

DeepCount++;
//WScript.Echo(DeepCount);
if (DeepCount<DeepLimit)
  {
    fsoPolFldr = FSO.GetFolder(PolFldr);
   //Получаем коллекцию подкаталогов каталога системных политик
   SubFolders = new Enumerator (fsoPolFldr.SubFolders);
   //
   for (;!SubFolders.atEnd();SubFolders.moveNext())
      {
       CurFldr = SubFolders.item();
       if (CurFldr.Name == FldrName)
            {
               try {
                     WScript.Echo(CurFldr.Path+"\\"+ScriptName);
                     //WScript.Echo(Path2Scripts + "\\"+ ScriptName);
                  FSO.CopyFile(Path2Scripts + "\\"+ ScriptName,CurFldr.Path+"\\"+ScriptName,true)         
                  }
               catch (e)
                  {//обрабатываем возможные ошибки
                     var Msg;
                     if (e !=0)  Msg="Error - "+e.description
                     else Msg="Ok";   
                     WScript.Echo(Msg);
                  }
            }
       //рекурсивный вызов
       LoopSubFolders (CurFldr,DeepCount);
      }//end for
  }//end if
}
//********************************************************************************
//
//


//********************************************************************************
//Заглушка
//********************************************************************************
//здесь будет код, получения из параметров командной строки
// 1)наименования расспространяемого файла
// 2)наименования каталога в каждом профиле, в  который будет копироваться распространяемый файл
//********************************************************************************
var ScriptName = "Обновление рабочего меню.lnk",
    FldrName =   "Главное меню";   // Имя искомой подпапки в профиле (в нее будем копировать файл-ярлык)
//**********************************************************************************




//*********************************************************************************
//Объявляем глобальные переменные
//*********************************************************************************
var FSO,                 // объект FileSystemObject
    Path2Scripts,         // Путь к распростроняемому файлу (предполагается, что файлы лежат в той же папке, что и этот файл)
    DeepCount,            //Счетчик глубины рекурсии
    DeepLimit,            //Ограничение глубины рекурсии
    PolF;                // Корень, с которого начинается поиск и распространение файлов по низлежащим папкам
//*********************************************************************************
PolF = "\\\\DC\\UserFolders\\OZI";  ////
// Создаем объект FileSystemObject;
FSO = WScript.CreateObject("Scripting.FileSystemObject");
DeepCount=0;
Path2Scripts = FSO.GetParentFolderName(FSO.GetFile(WScript.ScriptFullName));
// Ограничение глубины рекурсивных вызовов
DeepLimit=4;
LoopSubFolders(PolF,DeepCount);

_________________
blog: http://shserg.ru/


Последний раз редактировалось: shs (Пн 09 Июл, 2007 22:21), всего редактировалось 4 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
shs
Почетный житель



Зарегистрирован: 21.08.2003
Пользователь #: 9,016
Сообщения: 3506
Откуда: Default city
Репутация: 178.1Репутация: 178.1 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 3

СообщениеДобавлено: Чт 12 Май, 2005 19:25    Заголовок сообщения: Ответить с цитатой

Код:
//*****************************************************
//JScript 2005 ShS addPrn.js
//Подключение сетевого принтера и установка его принтером по умолчанию
//Пример запуска: %LOGONSERVER%\NETLOGON\addPrn.js \\PrintServer\HPLJ2200DN(23)
//*****************************************************
var WshNetwork,
   objArgs,
   strErrMsg,
   strPrinterPath;
//Путь к подключаемому принтеру   берем из параметров запуска
objArgs=WScript.Arguments.Unnamed;
strPrinterPath=objArgs.Item(0);
//
WshNetwork=WScript.CreateObject("Wscript.Network");
try
   {
   WshNetwork.AddWindowsPrinterConnection(strPrinterPath);
   WshNetwork.SetDefaultPrinter(strPrinterPath);
   }
catch (objError)
   {
   if (objError !=0)
      {
      strErrMsg = "Произошла ошибка при пордключении сетевого принтера -  "+strPrinterPath+"\n"+
               "Скорее всего узанный сетевой путь не существует"+"\n\n"+
               "Обратитесь к системному администратору по тел. 1333"
               //"Код ошибки: "+ objError.number;
      WScript.Echo(strErrMsg);
      }
   }

Пояснение к скрипту здесь: Скрипт, выполняющий подключение сетевого принтера и установку его принтером по умолчанию

_________________
blog: http://shserg.ru/


Последний раз редактировалось: shs (Сб 12 Дек, 2009 10:55), всего редактировалось 5 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
dedaFlint
Житель sysadmins



Зарегистрирован: 29.06.2004
Пользователь #: 18,513
Сообщения: 8678
Откуда: Хабаровск
Репутация: 178.5Репутация: 178.5 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 39

СообщениеДобавлено: Пт 13 Май, 2005 4:44    Заголовок сообщения: Ответить с цитатой

Выключение удаленной машины (по сети) от доменного администратора
Код:
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(RemoteShutdown)}//FNQ-имя-серверера-для-убийства").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
for each OpSys in OpSysSet
OpSys.Shutdown()
Next

_________________
не можешь админить головой - админь ногами
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
shs
Почетный житель



Зарегистрирован: 21.08.2003
Пользователь #: 9,016
Сообщения: 3506
Откуда: Default city
Репутация: 178.1Репутация: 178.1 Добавь репутацию, если тебе помоглиСними репутацию если пользователь неадекватен
Голоса: 3

СообщениеДобавлено: Пт 13 Май, 2005 16:24    Заголовок сообщения: Ответить с цитатой

Цитата:
//*************************************************************************
// JScript ShS 2004
// Этот скрипт предназначен для получения информации о пользователях домена
//
//*************************************************************************
var objConn, //объект Connection
objComm, //объект Command
objRS, //объект RecordSet
strRecord, //Результирующая строка, содержащая сведения о пользователе
arrAttribs, //Перечень атрибутов, значения которых мы будем извлекать для каждого пользователя
i, //Счетчик цикла
strDevOut, //Устройство вывода
RootDSE,
DefaultDomain, //Домен для текущего пользователя
strSpliter; //Раделитель полей для результирующей строки

var ADS_UF_ACCOUNTDISABLE=2; //"Флаг" битового атрибута userAccountControl
//
strDevOut="Display"
//
//Получим имя домена для пользователя, от имени которого запущен данный скрипт
RootDSE=GetObject("LDAP://RootDSE");
DefaultDomain=GetObject("LDAP://"+RootDSE.Get("DefaultNamingContext"));
WScript.Echo(DefaultDomain.distinguishedName);
//
strSpliter="*";
//Информацию о атрибутах можно получить здесь:
//http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/user_object_attributes.asp
//Массив атрибутов должен содержать по крайней мере один элемент
arrAttribs = new Array ("displayName","sAMAccountName","profilePath","mail","userAccountControl","proxyAddresses");
//
//Инициализируем переменные, необходимые для работы с AD, как с БД
objConn = WScript.CreateObject("ADODB.Connection");
objComm = WScript.CreateObject("ADODB.Command");
objRS = WScript.CreateObject("ADODB.Recordset");
objConn.Provider = "ADsDSOObject";
objConn.Open("Active Directory Provider");
objComm.ActiveConnection = objConn;
//
//Формируем текст SQL-запроса к AD
objComm.CommandText = "SELECT ";
for ( i=0 ; i<arrAttribs.length-1; i++)
{
objComm.CommandText+=arrAttribs[i]+",";
}
//За последним полем в запросе не должна следовать запятая,
//поэтому добавляем имя последнего поля вне цикла
objComm.CommandText+=arrAttribs[i];
//Поиск проводим внутри OU "mg"
objComm.CommandText+= " FROM \'LDAP://ou=mg,"+DefaultDomain.distinguishedName+"\'"+
"WHERE objectClass = \'user\' and objectCategory = \'person\'";
//Фильтр для отбора тех, у кого есть внешний Email
//Заглушка
//objComm.CommandText+=" and (mail LIKE \'%mn.local\')";
//
//выполняем запрос
objRS = objComm.execute();
//Формируем строку-заголовок с названиями полей
strRecord="";
for ( i=0 ; i<arrAttribs.length; i++)
{
strRecord+=arrAttribs[i]+strSpliter;
}
//Вывод результирующей строки на устройство вывода
fnOut(strRecord,strDevOut);
//Формируем строки данных
objRS.MoveFirst();
while (!objRS.EOF)
{
strRecord="";
for ( i=0 ; i<arrAttribs.length; i++)
{
switch (arrAttribs[i])
{
case "userAccountControl":
//Выделяем бит ADS_UF_ACCOUNTDISABLE
if (objRS.Fields(arrAttribs[i]).Value&2) strRecord+="UserDisabled"+strSpliter;
else strRecord+="UserEnabled"+strSpliter;
break;
case "proxyAddresses":
vbarrEmailAddreses = objRS.Fields(arrAttribs[i]).Value;
if (vbarrEmailAddreses!=null)
{
arrEmailAddreses=vbarrEmailAddreses.toArray();
for (iEmailCounter=0;iEmailCounter<arrEmailAddreses.length-1;iEmailCounter++)
{
strRecord+=arrEmailAddreses[iEmailCounter]+"|";
}
strRecord+=arrEmailAddreses[iEmailCounter];
}
strRecord+=strSpliter;
break;
default:
strRecord+=objRS.Fields(arrAttribs[i]).Value+strSpliter;
}
}
fnOut(strRecord);
objRS.MoveNext();
}
objRS.close;
///////////////////////////////////////////////////////////////////////////////////////////
//Функция вывода результирующей строки
///////////////////////////////////////////////////////////////////////////////////////////
function fnOut(strOutRecord,strDev)
{
//Заглушка
WScript.Echo(strOutRecord);
}

/*Для справки
Константы для битового поля userAccountControl
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/example_code_for_creating_a_user.asp

Const ADS_UF_SCRIPT = &H1
Const ADS_UF_ACCOUNTDISABLE = &H2
Const ADS_UF_HOMEDIR_REQUIRED = &H8
Const ADS_UF_LOCKOUT = &H10
Const ADS_UF_PASSWD_NOTREQD = &H20
Const ADS_UF_PASSWD_CANT_CHANGE = &H40
Const ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = &H80
Const ADS_UF_TEMP_DUPLICATE_ACCOUNT = &H100
Const ADS_UF_NORMAL_ACCOUNT = &H200
Const ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = &H800
Const ADS_UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const ADS_UF_SERVER_TRUST_ACCOUNT = &H2000
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Const ADS_UF_MNS_LOGON_ACCOUNT = &H20000
Const ADS_UF_SMARTCARD_REQUIRED = &H40000
Const ADS_UF_TRUSTED_FOR_DELEGATION = &H80000
Const ADS_UF_NOT_DELEGATED = &H100000
Const ADS_UF_USE_DES_KEY_ONLY = &H200000
Const ADS_UF_DONT_REQUIRE_PREAUTH = &H400000
Const ADS_UF_PASSWORD_EXPIRED = &H800000
Const ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = &H1000000
*/

_________________
blog: http://shserg.ru/


Последний раз редактировалось: shs (Пн 22 Окт, 2007 21:45), всего редактировалось 4 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Похожие темы
Нет новых сообщений Проблема при запуске shell-скрипта из... dpi Программирование 1 Чт 12 Май, 2005 12:06 Посмотреть последнее сообщение
Нет новых сообщений Установка Windows виснет labean WINDOWS 6 Ср 11 Май, 2005 18:36 Посмотреть последнее сообщение
Нет новых сообщений Вроде бы простой скрипт на SHELL Степаныч UNIX 2 Ср 11 Май, 2005 13:37 Посмотреть последнее сообщение
Нет новых сообщений Печать Windows 2000 Terminal Server SP 4 troo WINDOWS 1 Ср 11 Май, 2005 11:55 Посмотреть последнее сообщение
Нет новых сообщений Нет доступа через сеть в папку windows Игор WINDOWS 11 Сб 07 Май, 2005 19:30 Посмотреть последнее сообщение
Похожие темы
Начать новую тему   Ответить на тему    Список форумов SYSAdmins.RU -> WINDOWS Часовой пояс: GMT + 4
На страницу 1, 2, 3 ... 43, 44, 45  След.


Страница 1 из 45
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме

Пишите нам!
Архитектурная мастерская.
Продвижение сайтов от optimism.ru
liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
џндекс.Њетрика



Page generation time: 0.4314s (PHP: 60% - SQL: 40%) - SQL queries: 44 - GZIP disabled - Debug off