Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

forum.0day.community _ Системное администрирование _ Скрипты для системных администраторов Windows

Автор: Nazim May 8 2008, 14:32

Предлагаю выкладывать сюда скрипты для администрирования. Например вот мой для подключения сетевого диска

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


для подключения принтера
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


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

Кстати кое что можно и тут найти

http://gallery.technet.microsoft.com/ScriptCenter/en-us/

Автор: klez May 8 2008, 14:55

Проверка изменений параметров в AD и отправка извещения на электронную почту или в список Sharepoint

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Скрипт для удаления лицензии терминалов на клиентах, каждые 30 дней:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Скрипт по борьбе с mail.ru-агентом
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


P.S. Еще нужно? wink.gif

Автор: Nazim May 8 2008, 15:08

Кстати вот есть также сайтик http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/

Автор: Spyder3W May 8 2008, 15:11

если например с 1 поста могут использоватся то со 2 - неа

Автор: olexande May 8 2008, 15:22

Наверно проще всего получать когда пользователь подключился - в батнике или логон скрипте:

echo. | date >> user_date.log

Автор: klez May 8 2008, 15:29

Это скрипт делает backup системы и заливает его на фтп

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: metalolom May 8 2008, 15:54

Это скрипт полезен в больших структурах где отдел кадров далеко от ИТ.
Скрипт блокирует/разблокировывает пользователей в AD, беря из определённого файла список их ФИО, и уведомляет администратора по почте о результатах.
Скрипт писался на коленке, здесь предоставлена лишь общая часть, некоторые моменты можно оптимизировать, но меня лично и так устраиваетsmile.gif

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



Автор: Alex_GR May 8 2008, 16:02

Нужен скрипт для получения инфо по объектам АД - Пользователь (поиск по всему каталогу или конкретным OU ), у которых "Срок действия учетной записи: Истекает дд/мм/гггг"

Автор: Alex_GR May 8 2008, 16:14

(Nazim @ May 8 2008, 16:08) Перейти к цитате

Кстати вот есть также сайтик http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/


Как этими скриптами воспользоваться ?
Если не трудно напиши. спс.

Автор: klez May 8 2008, 16:18

Этот скрипт предназначен для копирования файла в пользовательские перемещаемые профил

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Ивентаризация всех машин в домене.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: Nazim May 8 2008, 16:20

Как этими скриптами воспользоваться ? Если не трудно напиши. спс.


Открываеш блокнот, копируеш туда код и сохраняеш документ с расширением .vbs.
Далее если сеть без доменов копируеш этот файлик в автозагрузку каждому ПК. Если сеть с доменом, то создаеш груповую политику (в AD), где в параметрах автозагрузки вставляеш данный файл. Далее при подключении или перезагрузке учетной записи будет выполняться скрипт

Автор: Alex_GR May 8 2008, 16:25

(Nazim @ May 8 2008, 17:20) Перейти к цитате

Открываеш блокнот, копируеш туда код и сохраняеш документ с расширением .vbs.
Далее если сеть без доменов копируеш этот файлик в автозагрузку каждому ПК. Если сеть с доменом, то создаеш груповую политику (в AD), где в параметрах автозагрузки вставляеш данный файл. Далее при подключении или перезагрузке учетной записи будет выполняться скрипт


ок.
есть два скрипта - разницы не вижу
1.Determining When an Account Expires
Returns the expiration date for a user account.
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

2. Determining When a User Account Expires
Reports the date that the MyerKen Active Directory user account expires.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

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

кто может скрипт подправить ??? Всем спс.

Автор: Nazim May 8 2008, 16:57

Пробовать правда времени нету, но попробую и так понять
Сеть у тебя какая?(домен или)
Проверяеш где? И что именно меняеш в скрипте (нужно ж указывать учетную запись, домен и прочее)?

Автор: klez May 8 2008, 17:01

Cкрипт рекурсивно устанавливает всем пользователям домена атрибут "User must change password on next logon"

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


P.S. Ддля корректной работы необходимо в переменной strMyDomain определить имя домена с точки зрения LDAP - т.е. все точки заменить на "DC=". Таким образом, домен argo.com превращается в DC=argo,DC=com в переменную strMyOU необходимо поместить наименование Organization Unit а, юзеров которого необходимо подвергнуть процедуре изменения пароля.

Автор: metalolom May 8 2008, 20:27

(Alex_GR @ May 8 2008, 17:25) Перейти к цитате

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

кто может скрипт подправить ??? Всем спс.


Например так:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: metalolom May 9 2008, 14:45

Предлагаю тему закрепить.

Автор: klez May 12 2008, 9:21

Получение SID (а) компьютера из AD

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Поиск аккаунтов в ActiveDirectory с просроченными паролями

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Если NetBIOS имя домена отличается от DNS до первой точки, то руками вместо строки
dom=getObject("LDAP://" & DC).get("Name") присвоить нужное значение

Автор: Alex_GR May 12 2008, 10:45

(metalolom @ May 8 2008, 21:27) Перейти к цитате

Например так:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


очень удачный "например".
только есть два "НО" - скрипт не показывает ФОИ и не совсем получилось с OU (у меня путь длиннее чем один юнит).
и вопрос: поиск внутри OU только пользователей? а если внутри есть ещё OU ? - смотрит все
с этим я разобрался.
Как сделать, чтобы скрипт смотрел только те учетки у которых в будущем закончится скор действия ??
ну и вывод в файл.
спс огромное

Автор: klez May 12 2008, 11:09

Скрипт опрашивает компьютеры домена на предмет того, какой пользователь залогинен в данный момент на каждом компьютере

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Этот скрипт просматривает системный журнал Безопасность и если обнаружит в нём запись об изменении настроек браузера, то уведомит об этом.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: metalolom May 13 2008, 13:25

(Alex_GR @ May 12 2008, 11:45) Перейти к цитате

очень удачный "например".
только есть два "НО" - скрипт не показывает ФОИ и не совсем получилось с OU (у меня путь длиннее чем один юнит).

Например печатеть свойство DisplayName, в скрпите ниже оно будет.
Насчёт OU в скрипте есть строчка запроса к LDAP:
objCommand.CommandText = "<LDAP://OU="&strStartOU&","&strDomainDN&">;(&(objectCategory=person)(objectClass=user));ADsPath;subtree"

из чего видно что в переменную strStartOU ты записываешь нужный тебе путь кроме первой "OU="


(Alex_GR @ May 12 2008, 11:45) Перейти к цитате

Как сделать, чтобы скрипт смотрел только те учетки у которых в будущем закончится скор действия ??

для вывода в файл запусти скрипт так:

Cscript.exe \Имя скрипта\ >  \путь и имя файла куда тебе нужно вывести данные\

Например:

Cscript.exe script.vbs > c:\expiration.log


В этом же скрипте за дату отвечает свойство:
dtmAccountExpiration сравниваешь его с нужной тебе датой и получаешь только тебу у кого дата истечения такая, как тебе надо.
Вот "доделаный например":)
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: klez May 13 2008, 14:35

Скрипт ищет по всем контроллерам пользователей, которые не логинились уже более 90 дней и дизейблит их. После чего скидывает в файл их имена в форме Distinguished Name:

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: 3in May 16 2008, 15:53

командный файл (closefl.bat ) закрывает все файлы, открытые пользователями в сети на вашем компьютере

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: pekshin May 22 2008, 8:28

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

Автор: Alex_GR May 26 2008, 16:26

1. Скрипт для уведомления пользователя об окончании действия учетки в домене за 10 дней (параметр можно изменить в 27 строке - dtmDaysToExpire > 10 ).
Бросать в логон.
В 5-й и 7-й строке подставить свои значения для домена и подразделения.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


2. Скрипт для поиска в активном каталоге пользователей с ограниченым сроком действия учётки и экспорта в файл.
В 5-й и 7-й строке подставить свои значения для домена и подразделения.
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


3. Справочник по VBS в вормате CHM.

http://upload.com.ua/direct/900261120/script_repository_1_1.chm

Автор: Nazim May 30 2008, 18:23

Может кто знает, кто встречал - нужен скрипт рассылки сообщений типа сохраните все данные. Конкретно для ситуации нужно вырубить файлсервер, так чтобы не бегать по офису а просто запустить скриптик. Знаю что можно с командной строки воспользоваться командой net send , но это чуток не то. Кто что скажет? wink.gif

Автор: olexande Jun 3 2008, 10:28

(Nazim @ May 30 2008, 19:23) Перейти к цитате

Может кто знает, кто встречал - нужен скрипт рассылки сообщений типа сохраните все данные. Конкретно для ситуации нужно вырубить файлсервер, так чтобы не бегать по офису а просто запустить скриптик. Знаю что можно с командной строки воспользоваться командой net send , но это чуток не то. Кто что скажет? wink.gif



У себя в сети распространил внутренний чат, где делаю срочные объявления ...

net send может и на группы/домены делать рассылку ...
правда на компах обычно последнее время эта служба останавливается ...

Автор: Fanta Jun 13 2008, 14:31

(klez @ May 8 2008, 15:55) Перейти к цитате

P.S. Еще нужно? wink.gif

Так.
В кого є скрипт який би робив те що написано http://forum.0day.kiev.ua/index.php?showtopic=75594 ??

Автор: klez Jun 13 2008, 16:34

Такого скрипта не встречал. sad.gif
Но думаю что если это делать действительно автоматически, то без расширения схемы AD, тут не обойтись.IMHO

Автор: Fanta Jun 18 2008, 13:21

(klez @ Jun 13 2008, 17:34) Перейти к цитате

Такого скрипта не встречал. sad.gif
Но думаю что если это делать действительно автоматически, то без расширения схемы AD, тут не обойтись.IMHO

Скрипт який перевіряеє нових юзерів і відсилає ім лист з вказаним текстом
(переверяє з тією ж періодичністю з якою виконуеться скрипт тобто та яка вказана в Scheduled Tasks)
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

лише одна трабла - мені не вдалося подружити його з кирилицею sad.gif

Буду дуже вдячний якщо хтось пофіксить це!

Автор: Alex_GR Jun 19 2008, 17:57

(Fanta @ Jun 18 2008, 14:21) Перейти к цитате

Скрипт який перевіряеє нових юзерів і відсилає ім лист з вказаним текстом
(переверяє з тією ж періодичністю з якою виконуеться скрипт тобто та яка вказана в Scheduled Tasks)
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

лише одна трабла - мені не вдалося подружити його з кирилицею sad.gif

Буду дуже вдячний якщо хтось пофіксить це!


Пробуй
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

у меня вот это работает на моем Exchange
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: Fanta Jun 20 2008, 11:17

Странно але в мене матюкаеться на
objMessage.BodyPart.CharSet = "windows-1251"

Зберігав в різних кодіровках але результат той самий



Автор: Alex_GR Jun 20 2008, 12:29

(Fanta @ Jun 20 2008, 12:17) Перейти к цитате

Странно але в мене матюкаеться на
objMessage.BodyPart.CharSet = "windows-1251"

Зберігав в різних кодіровках але результат той самий


Так при сохранении файла хоть русские буквы видно ? Или крякозяблы ?
Пробуй на других машинках..................

А у тебя что установлено в "Языки и региональные стандарты" на вкладке дополнительно ? У меня - Русский.

1. Пробуй вместо windows-1251 ставить koi8-u или koi8-r

2. У тебя в скрипте была запись - "objEmail.Configuration.Fields.Item("http://schemas.microsoft.com
/cdo/configuration/languagecode") = 1049"
Поставь кодовую страницу 0419 вместо 1049.

Автор: Alex_GR Jun 20 2008, 13:33

"Скрипт Центр" - справочник VBS в примерах от Мелкософта
software.gif
http://www.freespace.com.ua/file/57099/4e1558c0/script_center.html

Автор: Fanta Jun 26 2008, 17:46

(Alex_GR @ Jun 20 2008, 13:29) Перейти к цитате

А у тебя что установлено в "Языки и региональные стандарты" на вкладке дополнительно ? У меня - Русский.

1. Пробуй вместо windows-1251 ставить koi8-u или koi8-r

2. У тебя в скрипте была запись - "objEmail.Configuration.Fields.Item("http://schemas.microsoft.com
/cdo/configuration/languagecode") = 1049"
Поставь кодовую страницу 0419 вместо 1049.

1) Так Русский
2) пробував різні кодування - ефекту 0
3) аналогічно

Я забив на кодіровку - написав текс на англійській мові smile.gif
Але з*ясувалася інша трабла - в мене скрипт виконуеться кожну годину. І коли за цю годину не було створено нового юзера то скрипту не подобаеться цей кусок
rs.movefirst
'Create the loop of results
Do Until rs.EOF = True

Автор: nickemail Jun 28 2008, 23:48

Граждани а как через комндную строку открыть розшаренную папку соседнего компа с воодом логина и пароля для доступа?

Автор: metalolom Jun 30 2008, 16:07

(nickemail @ Jun 29 2008, 0:48) Перейти к цитате

Граждани а как через комндную строку открыть розшаренную папку соседнего компа с воодом логина и пароля для доступа?

через "net use" подключать/отключать шару как сетевой диск.

Автор: ramasik Aug 4 2008, 18:35

подскажите как можно добавлять в АД инфу по юзерам типа экспорт/ импорт из файла..?
например такие поля: адрес, страна, номер телефона, мобильный, номер комнаты.

можно ли это сделать? а то запаралися в ручную забивать... а ничего толкового не нашел sad.gif

Автор: klez Aug 5 2008, 13:05

Да, смотрите в сторону Powershell.
Вот тут много готовых скриптов. Думаю можно будет найти то что Вам нужно(+ внести нужные изменения)
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Автор: ramasik Aug 5 2008, 13:42

(klez @ Aug 5 2008, 14:05) Перейти к цитате

Да, смотрите в сторону Powershell.
Вот тут много готовых скриптов. Думаю можно будет найти то что Вам нужно(+ внести нужные изменения)
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx


сенкс -- вот нашел может кому пригодится -- именно то что нужно
http://support.microsoft.com/kb/276440/

ЗЫ осталось с синтаксисом разобраться и проверить на тестовом серваке smile.gif

Автор: metalolom Aug 5 2008, 13:49

(ramasik @ Aug 4 2008, 19:35) Перейти к цитате

подскажите как можно добавлять в АД инфу по юзерам типа экспорт/ импорт из файла..?
например такие поля: адрес, страна, номер телефона, мобильный, номер комнаты.

можно ли это сделать? а то запаралися в ручную забивать... а ничего толкового не нашел sad.gif

гугли по словам ldif, csvde это встроеные утилиты, ну можно ещё скрипты писать на WSH/powershell

Автор: boomerman Sep 15 2008, 14:44

Есть вопрос к великим гуру! Как запретить юзеру с админскими правами менять настройки сети (шлюз, днс). Заранее спасибо

Автор: olexande Sep 16 2008, 13:01

1. забрать у него права админа...
2. выдать ему настроуки по DHCP и на шлюзе сделать привязку MAC-IP. Если и сменит, то хоть не сможет выйти в и-нет ... По началу по бесится, после вернёт все обратно на твои настройки ...

Автор: Alex_GR Sep 29 2008, 8:00

(boomerman @ Sep 15 2008, 15:44) Перейти к цитате

Есть вопрос к великим гуру! Как запретить юзеру с админскими правами менять настройки сети (шлюз, днс). Заранее спасибо

Через груповые политики.
В "Конфигурация Пользователя" - "Адмистративных шаблонах" есть раздел "Сеть" - "Сетевые подключения".

Автор: Leopold Oct 1 2008, 16:40

Уважаемые господа, помогите - как сделать так, чтоб при включении компа, отключалась служба автозагрузки обновлений. Потому что доменные политики применяются, как вы понимаете после каждой перезагрузки компа. И если честно надоело отключать эту службу.
Я понимаю что скрипт ну или батник написать можно, но так как я в этом не силен - то очень прошу вас.
На вопрос зачем мне это - отвечаю - залазит постоянно обновление, и вылетает ошибка INETINFO.EXE. При чем решить програмно я ошибку не смог sad.gif

Автор: Nazim Oct 1 2008, 16:52

(nickemail @ Jun 29 2008, 0:48) Перейти к цитате

Граждани а как через комндную строку открыть розшаренную папку соседнего компа с воодом логина и пароля для доступа?

net use m: \\адрес сервера\ пароль(это пароль) /user:имя(это имя пользователя)

(Leopold @ Oct 1 2008, 17:40) Перейти к цитате

Уважаемые господа, помогите - как сделать так, чтоб при включении компа, отключалась служба автозагрузки обновлений. Потому что доменные политики применяются, как вы понимаете после каждой перезагрузки компа. И если честно надоело отключать эту службу.
Я понимаю что скрипт ну или батник написать можно, но так как я в этом не силен - то очень прошу вас.
На вопрос зачем мне это - отвечаю - залазит постоянно обновление, и вылетает ошибка INETINFO.EXE. При чем решить програмно я ошибку не смог sad.gif

Насчет скрипта не подскажу, но что мешает сделать один раз в груповых политиках домена и забыть, отключить автоматическое обновление. Конфигурация компютера- Административные шаблоны-Компоненты Windows-Windows Update

Автор: Leopold Oct 2 2008, 8:17

Забыл дописать - к контроллеру домена я доступа не имею - вот в этом то и вся проблема.

Автор: klez Oct 2 2008, 8:24

TO Leopold
Отключите автообновление в политиках локального компьютера как подсказал Nazim.
А если про скрипт, то поместить в автозагрузку(или в стартовые скрипты в GP) батник типа


@echo off
net stop wuauserv

Автор: Leopold Oct 2 2008, 8:43

To

klez

Отключить можно, но после перезагрузки доменные политики применяються наново...

Автор: klez Oct 2 2008, 9:32

TO Leonid
Тогда пропишите в стартовых скриптах батник.
P.S. Если я не ошибаюсь то локальные политики имеют более высокий приоритет чем доменные.

Автор: Leopold Oct 2 2008, 10:32

TO

klez

Я уже по ковырялся в гпедит, посмотрим что это даст...

А вот мысль с тем чтоб прописать батник - это хорошо, но проблема в том что я не умею их писать sad.gif да и поиск не сильно помогает...

Автор: klez Oct 2 2008, 10:48

TO Leopold
Я вам написал уже батник wink.gif
Смотрите выше. Пост #47
сохраните этот код с расширением bat или cmd. И в GPO укажите путь к этому файлу.
В стартовых скриптах.

Автор: olexande Nov 12 2008, 14:13

Leopold
плохая идея отключать обновление ... Другой вариант правда если обновление идёт под СИСТЕМАТИЧЕСКИМ ручным контролем ...

Автор: Anykey Nov 13 2008, 23:28

(Leopold @ Oct 2 2008, 8:43) Перейти к цитате
Отключить можно, но после перезагрузки доменные политики применяються наново...

Доменные групповые политики применяются не только в момент загрузки, но и в течении каждых 90 минут работы ПК домен контроллер случайным образом накатывает политики наложенные на объекты каталога Active Directory. Потому просто закинуть скрипт в автозагрузку недостаточно. Возможно выходом будет запуск этого скрипта по расписанию, скажем, каждые 30 минут.

Автор: Jeronimo Nov 17 2008, 21:15

Всем привет. Вопрос: в домене каждому юзеру в учетной записи прикручен logon скрипт. Есть задача его убрать. Пользователей 150+.
Если это сделано политикой, то исправить не сложно. А если нет, то можно ли заставить часть скрипта из http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/ перебрать все учетные записи в OU и просто очистить поле?
Я вообще-то мало понимаю в программировании VBS, но вот это внизу я правильно надергал? Как сделать перебор по всему OU?

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Заранее спасибо.

Автор: Alex_GR Nov 18 2008, 9:38

(Jeronimo @ Nov 17 2008, 21:15) Перейти к цитате

Всем привет. Вопрос: в домене каждому юзеру в учетной записи прикручен logon скрипт. Есть задача его убрать. Пользователей 150+.
Если это сделано политикой, то исправить не сложно. А если нет, то можно ли заставить часть скрипта из http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/ перебрать все учетные записи в OU и просто очистить поле?
Я вообще-то мало понимаю в программировании VBS, но вот это внизу я правильно надергал? Как сделать перебор по всему OU?

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Заранее спасибо.


Не замарачивайся в этом случае скриптами....
Вот есть прекрасная утилита
http://upload.com.ua/direct/900548241/ADModify.rar

Автор: Jeronimo Nov 18 2008, 10:21

Спасибо. Вот именно выложенная тобой на аплоад прога с глюком каким-то, но я выкачал с сайта последнюю и заменил поле логон скрипта пробелом.
Еще раз спасибо.

Автор: Jeronimo Nov 18 2008, 16:23

Я, конечно, извиняюсь, но эта программа (ADModify) не позволяет изменить значение на пустое, то есть с ее помощью можно поставить значение, а не стереть. Изменить на несуществующее название батника, чтобы он перестал исполняться - тоже не совсем то, что я ожидал. Может все-таки проще будет скриптом? Подскажите, пожалуйста.

Автор: Jeronimo Nov 18 2008, 17:54

Все просто МЕГА просто. Поскольку это разовая операция, и у меня есть доступ на DC, то
dsquery user cn=Users,DC=это,DC=мой,DC=домен -limit 0 |dsmod user -loscr ""
(это если все, кому надо поменять, находятся в контейнере Users)
И все. Всем, вобщем,спасибо.

Автор: ups Nov 27 2008, 19:23

dsquery, конечно мощная команда, но для выполнения данной процедуры, по-моему, намного проще будет запомнить и выполнить следующей команду

NET USER username /DOMAIN /SCRIPTPATH:

Автор: olexande Dec 2 2008, 15:40

Вопрос:
Использую для резервного копирования .bat файлы со списком файлов (каталогов) которые архивировать через WinRar (отдельная строка на отдельный каталог) с последующим копированием полученных файлов на сервер. Как можно получить имя локального компа (на котором запущен .bat файл). Нужно для унификации файла backup.bat - что-бы не править для каждого компа данный файл (правится - "чей" архив ... )

d:
cd d:\BACKUP

del D:\backup\*.* /q

echo. | date > d:\backup\backup.log
echo. | time >> d:\backup\backup.log
"C:\Program Files\WinRAR\Rar.exe" a -m5 -r -t -dh -idp d:\backup\desktop.rar "D:\Desktop\*.*" >> d:\backup\backup.log
"C:\Program Files\WinRAR\Rar.exe" a -m5 -r -t -dh -idp d:\backup\docs.rar "D:\Docs\*.*" >> d:\backup\backup.log
"C:\Program Files\WinRAR\Rar.exe" a -m5 -r -t -dh -idp d:\backup\mail.rar "D:\mail\*.*" >> d:\backup\backup.log
"C:\Program Files\WinRAR\Rar.exe" a -m5 -r -t -dh -idp d:\backup\shara.rar "D:\shara\*.*" >> d:\backup\backup.log

rem Дефрагментация дисков C, D
defrag -f c:
defrag -f d:

md \\server\pbf\unknown\
copy d:\backup\*.* \\server\pbf\unknown

shutdown -s -t 300 -f -c "Архивация закончена. Выключаю компьютер."


A на каждом ПК в файле правлю "unknown" на имя ПК ...

Автор: ups Dec 2 2008, 18:03

%computername%

Автор: olexande Dec 3 2008, 9:22

А есть информация про эти "зарезервированные" переменные почитать?

Автор: ups Dec 3 2008, 10:37

Переменные среды в Cmd.exe - http://it.bakinity.biz/smart.php?cat=2&id=134


Автор: igor_loboda Dec 3 2008, 18:12

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

Автор: Nazim Dec 3 2008, 18:51

(igor_loboda @ Dec 3 2008, 18:12) Перейти к цитате

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

Попробуй в политиках Конфигурация пользователя - Административные шаблоны - Панель управления - Язык и стандарты. Сам не пробовал.

Автор: -danger- Dec 16 2008, 0:04

существует ли скрипт или батник для включения/отключения дефолтного сетевого подключения?

Автор: Nazim Dec 16 2008, 14:09

(-danger- @ Dec 16 2008, 0:04) Перейти к цитате

существует ли скрипт или батник для включения/отключения дефолтного сетевого подключения?

посмотри тут http://forum.script-coding.info/viewtopic.php?id=743, а именно скрипт, который переключает состояние указанного сетевого подключения компьютера (если включено - отключает, и наоборот)
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



Автор: oia Dec 20 2008, 13:23

Этот скрипт vbs, написанный мной спонтанно, позволяет устанавливать или сбрасывать флажок «разрешить удалённый доступ к этому компьютеру» на вкладке удалённые сеансы в свойствах системы! Теперь вы сможете подключаться к удалённому рабочему столу любой машины в вашей сети…

Требуются некоторые пояснения.
Переписать скрипт на любой язык программирования, включая мой любимый С++ не составит труда даже для самых юных кодеров! VBS выбран мной только из соображений лени, если так можно выразиться (под руками был генератор скриптов именно vbs) правда править его ручками пришлось всё равно!

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: Nazim Jan 21 2009, 12:27

Нужно изменить пароль локального админа в сети с помощью скрипта.

Есть скрипт


Dim Container
Dim ContainerName
Dim User, UsrSID, b
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
ComputerName=WshNetwork.ComputerName
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & ComputerName & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
For Each objItem in colItems
ostype=objItem.OSType
osver=objItem.Version
oslang=objItem.OSLanguage
spver=objItem.ServicePackMajorVersion
Next
strOSVer = Left(osVer, 3)
If strosver<>"5.2" then
strSelect="Select * from Win32_UserAccount"
Set colSystemUsers = objWMIService.ExecQuery (strSelect)
For Each objSystemUser in colSystemUsers
if Right(objSystemUser.SID,3)="500" Then
Set objUser = GetObject("WinNT://" & ComputerName & "/" & objSystemUser.Name & ",user")
NewPassword="supper"
Call objUser.SetPassword(NewPassword)
Exit For
End If
Next
End if

Потом создаю батник для запуска этого скрипта с правами админа ибо под правами обычными пароль не меняется.

start путь к скрипту -u Администратор -p пароль

Никак не получается. Возможно есть еще какие то варианты. Пробовал с помощь программы AdminLink - результат тот же

Автор: ups Jan 21 2009, 20:22

Команда start не имеет ключей -u и -p или, в данном случае, идёт речь о версии мне неизвестной, однако эти ключи имеет другая полезная утилита - psexec. Здесь я плавно перешёл к альтернативным вариантам smile.gif
Для решения данной задачи делаем следующий батничек, который запускаем со своей машины

psexec \\ComputerName -u Администратор -p Пароль cmd /k "net user ЛокальныйАдмин ПАРОЛЬ"

либо предварительно запускаем cmd от имени того самого Администратор'a и тогда батник будет таким
psexec \\ComputerName cmd /k "net user ЛокальныйАдмин ПАРОЛЬ"

Напомню, что для корректной работы psexec на удалённом ПК должны быть открыты системные шары

А для любителей графики хочу порекомендовать софтину XS BAP - http://www.avianwaves.com/Tech/Tools/XS_BAP/

Конечно, у каждого из этих вариантов есть свои плюсы-минусы, но, по-моему, они куда более безопастны, чем скрипт запускающийся на удалённой машине, в котором будет указан пароль админа в явном виде.

Автор: Nazim Jan 22 2009, 9:04

Напомню, что для корректной работы psexec на удалённом ПК должны быть открыты системные шары

немного поправлю, если системные шары закрыты, то ничего у вас не получиться.

есть еще и такие вот варианты


Set WshNetwork = CreateObject("WScript.Network")
strComputer = WshNetwork.ComputerName
Set objUser = GetObject("WinNT://" & strComputer & "/Администратор,user")
objUser.SetPassword "12345"
objUser.SetInfo

и JScript

fso=WScript.CreateObject("Scripting.FileSystemObject");
file=fso.OpenTextFile("changedpasses.txt",8,true);
AD=GetObject("winmgmts:\\\\.\\root\\directory\\LDAP");
computers=new Enumerator(AD.ExecQuery("SELECT DS_cn FROM ds_computer "));
exclusions=Exclude("changedpasses.txt");
while(!computers.atEnd()) {
currentComputer=computers.item().DS_cn;
flag=0;
for(i=0;i<=exclusions.length-1;i++) {
if(currentComputer.toLowerCase()==exclusions[i].toLowerCase()) {
flag=1;
break;
}
}
if(flag!=1) {
if(Alive(currentComputer)) {
try {
WMI=GetObject("winmgmts:{impersonationLevel=Impersonate}!\\\\"+currentComputer+"\\Root\\CIMV2");
users=new Enumerator(WMI.ExecQuery("SELECT * FROM Win32_UserAccount"));
while(!users.atEnd()) {
if(users.item().Name=="Администратор") {
ChangePass(currentComputer,"Администратор",file);
}
else if(users.item().Name=="Administrator") {
ChangePass(currentComputer,"Administrator",file);
}
users.moveNext();
}
}
catch(e) {WScript.Echo(currentComputer+" Connection Error");}
}
}
computers.moveNext();
}
file.Close();
function ChangePass(comp,username,outfile) {
var User;
User=GetObject("WinNT://"+comp+"/"+username+",user");
User.SetPassword("pass"); //здесь задаем пароль
WScript.Echo(comp+" Password for "+username+" successfully changed");
outfile.WriteLine(comp.toLowerCase());
}
function Exclude(lst) {
var i,fso,file,exclusion;
fso=WScript.CreateObject("Scripting.FileSystemObject");
file=fso.OpenTextFile(lst,1,true);
i=0;
exclusion=new Array();
while (!file.atEndOfStream) {
exclusion[i]=file.ReadLine();
i++;
}
file.Close();
return exclusion;
}
function Alive(pc) {
var pingProv,ping,ret;
pingProv=GetObject("winmgmts:{impersonationLevel=Impersonate}!\\\\.\\Root\\CIMV2");
ping=pingProv.ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = '"+pc+"' and Timeout=10");
ping=new Enumerator(ping).item().StatusCode;
(ping==0) ? ret=true : ret=false;
return ret;
}

Автор: BANDIT(filmmaniac) Feb 9 2009, 9:35

Может у кого-то есть скрипт, который отключает брандмауэр?

Автор: klez Feb 9 2009, 9:51

Можно заюзать в батнике Netsh
для ХП к примеру так
netsh firewall set opmode mode=DISABLE profile=DOMAIN
или так
netsh firewall set opmode disable
Для висты аналогично.

Автор: BANDIT(filmmaniac) Feb 9 2009, 11:49

(klez @ Feb 9 2009, 9:51) Перейти к цитате

Можно заюзать в батнике Netsh
для ХП к примеру так
netsh firewall set opmode mode=DISABLE profile=DOMAIN
или так
netsh firewall set opmode disable
Для висты аналогично.

Он вырубает файрволл для сети, а мне именно для службы.

Автор: klez Feb 9 2009, 12:39

Ааа, тогда так(для висты)
sc stop mpssvc
А что бы задизаблить
sc config start=disabled mpssvc

Автор: BANDIT(filmmaniac) Feb 9 2009, 13:02

Наверно на Висте этот процесс немного по другому называется, потому что на ХР не сработал.

Автор: klez Feb 9 2009, 13:06

Упс, забыл про ХП.
Кажется там это SharedAccess

Автор: BANDIT(filmmaniac) Feb 9 2009, 14:22

Вот нагуглил то что надо, чтобы вообще не включался.

net stop SharedAccess
sc config SharedAccess start= disabled

Автор: Disconnect May 22 2009, 12:50

(Nazim @ Jan 21 2009, 13:27) Перейти к цитате

................Никак не получается. Возможно есть еще какие то варианты. Пробовал с помощь программы AdminLink - результат тот же

Если через AD то в групповых политиках компьютера закинуть скрипт в Автозагрузку.
"Конфигурация коипьютера" -> "Конфигурация Windows" -> "Сценарии (запуск/завершение)" -> "Автозагрузка".
И будет все ок.

Автор: gonny Jun 14 2009, 12:13

А можно сделать так, чтоб флешки только с определенным именем подключались к компу, а остальные нет? Или какой-то файл на флешку для проверки положить..или только шифрованое понимает..а не шифрованное не понимает

Автор: olexande Jun 14 2009, 16:29

В XP без доустановки "постороннего" (плантого) ПО - нельзя.
Vista и более новые - на уровне групповых политик пробуй. В том числе и АД.

Автор: Navern Jun 19 2009, 0:42

А не, кто с мобильной торговлей не работает? Пригодились бы любые скрипты. А то надоедает палмы обновлять каждый раз из 1С.Хотелось бы как то автоматизировать.

Автор: fli Jul 7 2009, 8:49

Ребята, помогите со скриптом.
Нужно чтобы делалось следуещее:

- Ping и telnet определенных IP в определенное время
- Запись результатов в отдельный файл.

Например:
чтобы в 00-00
ping 192.168.0.2
telnet 192.168.0.5 35

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


Автор: olexande Jul 8 2009, 11:32

например можно:

ping 192.168.0.2 >> file.log
echo quit | telnet 192.168.0.254 25 >> file.log
положить в bat файл и запускать из планировщика.
Результат получишь в файле "file.log"

Автор: fli Jul 10 2009, 9:01

(olexande @ Jul 8 2009, 12:32) Перейти к цитате

например можно:
ping 192.168.0.2 >> file.log
echo quit | telnet 192.168.0.254 25 >> file.log
положить в bat файл и запускать из планировщика.
Результат получишь в файле "file.log"


сПАсибо! ok.gif

а еще вот.
надо чтобы по истечению определенного времени, например 3 часа после входа юзера под своей учеткой, менялся пароль к его учетной записи и выключался компьютер shutdown -s -t 10800
OS: Win XP
Cпасибо!

Автор: DJ_KatSo Jul 10 2009, 9:51

(fli @ Jul 10 2009, 10:01) Перейти к цитате

надо чтобы по истечению определенного времени, например 3 часа после входа юзера под своей учеткой, менялся пароль к его учетной записи и выключался компьютер shutdown -s -t 10800
OS: Win XP

Приблизительно так:
Создаешь назначенное задание на запуск cmd-файла. Запуск от имени учетки с админ правами (главное не от того юзера, которому будем менять пароль).

Текст cmd-файла:
sleep 10800
net user %USERNAME% новый_пароль
sleep 10800
shutdown -s -t 1


Если пользователь доменный, то 2-ю строку меняем на эту:
net user %USERNAME% новый_пароль /domain


P.S. Возможно есть более простой способ.
P.P.S. sleep - утилитка из http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en.

Автор: -danger- Jul 22 2009, 10:47

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

есть еще такой вариант (vbs-скрипт), но он выводит окошко с сообщением "адаптер enabled/disabled"
может кто-нить шарит как исправить, чтобы он втихую переподключал сетевуху

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: DJ_KatSo Jul 22 2009, 19:23

(-danger- @ Jul 22 2009, 11:47) Перейти к цитате

есть еще такой вариант (vbs-скрипт), но он выводит окошко с сообщением "адаптер enabled/disabled"
может кто-нить шарит как исправить, чтобы он втихую переподключал сетевуху


Закомментируй или удали последнюю строку.

Автор: -danger- Jul 22 2009, 20:16

спасиба. теперь месидж не выскакует, все как надо.

Автор: alex2376 Jul 24 2009, 17:04

нуженскрипт который бы выводил членов групп

Автор: GhostKU Jul 28 2009, 11:07

Как проще всего из лога телнет клиента найти несколько строк вида А:Б (где А - константа, а Б = разные символы), и скопировать эти строки в другой файл?

Автор: ups Jul 28 2009, 12:02

(GhostKU @ Jul 28 2009, 12:07) Перейти к цитате

Как проще всего из лога телнет клиента найти несколько строк вида А:Б (где А - константа, а Б = разные символы), и скопировать эти строки в другой файл?

find "A" c:\folder\telnet.log > c:\select.txt

в результате выполнения этой команды все строки содержащие константу A будут скопированы в файл select.txt.
и скорее всего, что если константа в логе будет набрана кирилицей, то поиск осуществить не удастся.

Автор: GhostKU Jul 31 2009, 8:40

(ups @ Jul 28 2009, 13:02) Перейти к цитате

find "A" c:\folder\telnet.log > c:\select.txt

в результате выполнения этой команды все строки содержащие константу A будут скопированы в файл select.txt.
и скорее всего, что если константа в логе будет набрана кирилицей, то поиск осуществить не удастся.


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

Командный файл "find.cmd" вида :
find "CallDuration" putty.log >> res.txt

При его запуске cmd.exe долго пишет строку вида
find "CallDuration" putty.log 1>> res.txt

Эта же строка многократно записывается в файл res.txt

В чем ошибка?

Автор: DJ_KatSo Jul 31 2009, 16:55

(GhostKU @ Jul 31 2009, 9:40) Перейти к цитате

Командный файл "find.cmd" вида :
find "CallDuration" putty.log >> res.txt

При его запуске cmd.exe долго пишет строку вида
find "CallDuration" putty.log 1>> res.txt

Эта же строка многократно записывается в файл res.txt

В чем ошибка?


Ошибка в названии cmd-шника - он постоянно вызывает сам себя. rofl.gif
Измени на poisk.cmd и все получится.

Автор: fli Aug 12 2009, 14:48

Подскажите, плз, команду, аналог сочетания клавиш win+L
в гугле искал, не нашел(
спс

Автор: olexande Aug 12 2009, 15:12

Может подойдет - shutdown -l
справка - shutdown /?

Автор: fli Aug 12 2009, 15:35

(olexande @ Aug 12 2009, 16:12) Перейти к цитате

Может подойдет - shutdown -l

это завершение сеанса...а надо просто заблокировать....или перейти в режим выбора пользователя....

Автор: protrue Aug 13 2009, 8:40

(fli @ Aug 12 2009, 15:48) Перейти к цитате

Подскажите, плз, команду, аналог сочетания клавиш win+L
в гугле искал, не нашел(
спс


Создать ярлык
%windir%\System32\rundll32.exe user32.dll,LockWorkStation

или lock.bat файл

@echo off
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
cls

Автор: fli Aug 16 2009, 18:00

(protrue @ Aug 13 2009, 9:40) Перейти к цитате

Создать ярлык
%windir%\System32\rundll32.exe user32.dll,LockWorkStation

или lock.bat файл

@echo off
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
cls

рЕСПект! Работает! clapping.gif
Если кому интерестно для чего это мне надо было...
Короче моя учетка под паролем. В control userpasswords2, я убираю галку "Требовать ввод имени и пароля"...
В автозагрузку бросаю lock.bat.... и вуаля, не надо ждать после ввода пароля, применения личных параметров...сразу все загружено smile.gif

Автор: jerr Aug 16 2009, 19:58

(fli @ Aug 16 2009, 19:00) Перейти к цитате

не надо ждать после ввода пароля, применения личных параметров...сразу все загружено smile.gif

что то не совсем понятно почему... russian_ru.gif

Автор: olexande Aug 16 2009, 20:42

А на кой ляд снимать галку?
Может тогда стоит почистить автозагрузку? Или комп не выключать?..

Пароль-то все-равно вводить...

Автор: fli Aug 16 2009, 21:14

(olexande @ Aug 16 2009, 21:42) Перейти к цитате

А на кой ляд снимать галку?
Может тогда стоит почистить автозагрузку? Или комп не выключать?..

Пароль-то все-равно вводить...

почищена...
просто не нужно ждать пока все загрузиться после ввода пароля........ good2.gif

Автор: Muzman Aug 16 2009, 22:02

А перенести всё нужное с HKCU в HKLM?
P.S. Имея физ доступ к компу, я смогу отключить выполнение этого скрипта, зайти под вами автоматом (галка ведь уже снята), и сделать под уже загруженной вашей учёткой всё что мне заблагорассудится. Потом стереть логи, и поменять локальные GPO назад. Вы ничего и не заметите. Вот такой я злой... Это было сказано для того, что бы вы поняли что так делать не очень хорошо.
P.P.S. Если будете конектится по RDP то это тоже не поможет, так как будете грузить другой сеанс этого же пользователя.

Автор: Ischuk Aug 27 2009, 20:28

Здравствуй klez

Подскажите пожалуйста по этому скрипту....
при формировании переменной gSID на шаге &Convert(4,7) почему-то идет различие данных полученным скриптом и то что находиться в ldap учетной записи компьютера... Может ткнете куда смотреть или краткий экскурс по данному скрипту можете провести?


[quote name='klez' date='May 12 2008, 9:21' post='861462']
Получение SID (а) компьютера из AD

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «



Автор: Nazim Aug 28 2009, 9:12

Кстати кое что можно и тут найти

http://gallery.technet.microsoft.com/ScriptCenter/en-us/

Автор: Pavel Sep 17 2009, 15:34

Задам и я вопрос.

Итак: доменная сеть, имею доступ к АД. И есть нужда определенному ИП вычитстить комп от файлов типа *.mp3, *.avi, *.flv.
Ручками не могу - у него стоит нетвиев, в остальное время комп выключен. Да и не хочу светится. А так - пусть придумает как я ээто сделал, найдет мотив, докажет, а потом еще и попробует пожаловатьсяsmile.gifsmile.gifsmile.gif.

ПС Он решил НЕАХАТЬ на админа (меня), при чем с телегаминачальству (уладил), вызовами за просто так (приходилось пожходить), грубостью (стоял и придумывал месть) и проч. Естественно, нормальный комп он получит после моего ухода, но музыка человеку тоже не нужна.

ППС Инет уже порезал.

Автор: ups Sep 18 2009, 23:23

Когда сетёвка правильная, то с выключенным компом тоже работать можно.

P.S. Если музыка ненужна вам, это не значит, что она ненужна другим acute.gif

Автор: Pavel Sep 19 2009, 15:55

(ups @ Sep 19 2009, 0:23) Перейти к цитате

Когда сетёвка правильная, то с выключенным компом тоже работать можно.

P.S. Если музыка ненужна вам, это не значит, что она ненужна другим acute.gif



С выключенным? прикольно! почитаю.

Кстати, в принципе можно включить комп, не входя в его пользователя вытереть все лишнее по мнению шефа (мне то че, мне музыка нужна, у меня она есть, её много, но телеги ой как не люблю... писать потом обьяснительные...), потом выключить его комп и вуалля.

Но так не эстетично (зато дешево, надёжно и практично). aggressive.gif

спасибо за идею hi.gif

P.S. А человек тот музыки недостоин, в рабочее время. А в не рабочее его то и нету на работе, в отличии от многих других, которые работают на результат, а не фигнёй страдают...

Автор: Sintorres Sep 26 2009, 16:22

Скрипт для перезапуска ADSL мопеда D-link DSL-2640U

rem Заходим на мопед
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.1.1"
WScript.Sleep 1000
oShell.SendKeys "Имя" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "Пароль" & chr(13)
rem Перезапускаем
WScript.Sleep 1000
oShell.SendKeys "13" & chr(13)
WScript.Sleep 1000
oShell.SendKeys "1" & chr(13)

"telnet.exe 192.168.1.1" - или другой IP на котором сидит модем
Будет работать и на других моделях но возможно придется посмотреть в телнете что писать в oShell.SendKeys "??" & chr(13) после того как залогинишся

Автор: Tonik Sep 28 2009, 15:12

Добрый день. Нужен скрипт:

нужно в AD добавить юзера в точно такие же группы в которых состоит его коллега. Пересоздать учутку скопировав все параметры у его коллеги - не катит. нужно просто дать ему членство в точно таких же группах как его коллега.

Может кто то сообразить скриптик? Спасибо.

Автор: Sintorres Sep 28 2009, 16:05

2 Tonik
Почитай http://www.compress.ru/article.aspx?id=19156&iid=889
У мня хуже ситуевина. russian_ru.gif
Нужен скрипт для создания учеток пользователей из списка. (txt, xls)
всего пользователей штук 400.
моет есть у кого умный мысль?
Вот нарыл http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/a95e29b2-6975-45f0-a0f7-b60194f36dca такой скриптец

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Можно ли сюда прикрутить чтение переменных из списка?
////////////////////////////////////////
//Создание учетной записи пользователя //
////////////////////////////////////////
......
......
objUser.SetPassword("54321");             //установка пароля
WScript.Echo("Writting the attributes of account " + LoginName);
objUser.userPrincipalName = LoginName + "@" + "local.polad.ru";  //установка UPN login name
objUser.displayName = DisplayName;         //установка полного имени пользователя (ФИО)
objUser.LoginScript = LoginScript;         //установка login-скрипта пользователя
objUser.department = Department;         //установка дирекции пользователя
objUser.telephoneNumber = Phone;         //установка телефона пользователя
objUser.physicalDeliveryOfficeName = PoladObject;     //установка объекта ЗАО "Полад" пользователя
objUser.title = Title;            //установка должности пользователя
if(Email)
  objUser.mail = Email;            //установка e-mail пользователя
objUser.company = Company;           //установка компании пользователя
objUser.AccountDisabled = false;         //включение учетной записи пользователя
objUser.pwdLastSet = 0;            //установка флага смены пароля при следующем входе пользователя
objUser.SetInfo();             //запись атрибутов пользователя
.....
.....

Автор: ups Sep 28 2009, 20:31

Sintorres, на странице (ссылка на которую вы дали для Tonik'a) уже есть, можно сказать, почти что готовый под ваши нужды скрипт, ну почти готовый... smile.gif

Import-CSV users.csv | ForEach-Object { New-QADUser -ParentContainer scorpio.local/users -Name ($_.Familia + ‘, ’ + $_.Imya) -samAccountName ($_.Imya[0] + $_.Familia) -Department $_.Department -Title $_.Title}

где файл users.csv должен содержать информацию о юзерах в следующем формате.

IPB Image

Автор: Sintorres Sep 29 2009, 11:28

ups Спасибо. hi.gif
london Мегареспект за файлики и линк на _http://www.rlmueller.net/CreateUsers.htm
Это то что доХтор прописал drinks.gif

Автор: Sintorres Oct 5 2009, 21:27

Скрипт для создания учеток пользователей в АД из списка. (.xls)
на базе _http://www.rlmueller.net/CreateUsers.htm по ссылке от london
скрипт не переделывался, рихтовался только Экселевский файл под свои ленивые потребности blum.gif
(нужно ввести только "Фамилия Имя" на второй стр. книги.)
http://upload.com.ua/get/901082294/
пс. Скрипт опробован на W2K3 R2. работает d.gif
в Экселе, читайте комментарии в ячейках blush.gif
ппс отвечу на вопросы по Эксель.

Автор: saen Oct 20 2009, 16:53

Маленький скриптик для Unix систем.
Перезапуск служб apache , mysql , cron , sendmail .
Сорри, запостил не в ту тему cray.gif

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: olexande Nov 11 2009, 15:00

а crond зачем рестартить?

Автор: Fanta Dec 24 2009, 15:57

Народ э скрипт який записує час логон і логоффу юзеря!
підкажіть плз яка змінна відповідає за тривалість сеансу (час між логон і логофф) ??

Автор: protrue Dec 24 2009, 16:08

Що за скрипт, що тобі потрібно, опиши дительніше.

Автор: Fanta Dec 24 2009, 16:14

(protrue @ Dec 24 2009, 16:08) Перейти к цитате

Що за скрипт, що тобі потрібно, опиши дительніше.


Є КД на Він2008 і кліенти на ХР

Я в user configuration -> user settings -> scripts(logon/logoff) на логон вішаю скрипт logon.bat

@echo %USERNAME% = LOG__ON "%date%_%time%" >>\\esp03\For_IT_jobs\%COMPUTERNAME%-%USERNAME%.txt

і на логофф logoff.bat

@echo %USERNAME% = LOG_OFF "%date%_%time%" >>\\esp03\For_IT_jobs\%COMPUTERNAME%-%USERNAME%.txt


і отримую файло з: іменем юзера і часом логону і логоффу.
А мені ще треба тривалість сеансу - тобто час між логоном і логоффом!



Автор: olexande Dec 25 2009, 14:57

Советую предусмотреть вариант - некорректного отключения ПК.
Ибо у тебя может появиться 2 записи что включился, и ни одной что включился.

И если сервер - получатель не будет доступен ... тоже запись не сохранится ...

Автор: Эдичка Jan 5 2010, 10:15

ребята помогите со скриптами,
1.перезагрузка sql через планировщик заданий
2.выключение компа.
не задаром!

Автор: Sintorres Jan 6 2010, 9:39

(Эдичка @ Jan 5 2010, 10:15) Перейти к цитате

2.выключение компа.

http://autoit-script.ru/index.php?PHPSESSID=26f0bba10e96b48e9e6ce310497f9f65&topic=82.0 почитай МИР

Автор: Эдичка Jan 6 2010, 9:49

(Sintorres @ Jan 6 2010, 9:39) Перейти к цитате

http://autoit-script.ru/index.php?PHPSESSID=26f0bba10e96b48e9e6ce310497f9f65&topic=82.0 почитай МИР

я ламер в скриптах blush.gif , лучше сделай а я заплачу.
кстати интересное инфо.
спасибо.
вот жеж )))
я так понял запускаем слип.ехе ставим время и все. ггг

Автор: x1shn1k Jan 6 2010, 10:15

С SQL не работал, но судя по всему первый скрипт будет выглядеть так

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

В Планировщик думаю не составит труда запихнуть его.

Для выключения компьютера тоже хватит стандартных возможностей bat-файлов
shutdown -s -t 0


В самом простом своём варианте эти два скрипта будут выглядеть так =)


Автор: Эдичка Jan 6 2010, 10:42

(x1shn1k @ Jan 6 2010, 10:15) Перейти к цитате

С SQL не работал, но судя по всему первый скрипт будет выглядеть так
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

В Планировщик думаю не составит труда запихнуть его.

Для выключения компьютера тоже хватит стандартных возможностей bat-файлов
shutdown -s -t 0


В самом простом своём варианте эти два скрипта будут выглядеть так =)

ого, сегодня проверю. а виндоус 2003 при выключении спрашивает типа по какой причине вырубаем, выключение через shutdown проскочит эту процедуру?

Автор: Spectral Jan 6 2010, 10:44

(Эдичка @ Jan 6 2010, 10:42) Перейти к цитате
через shutdown проскочит эту процедуру?
Там можно вбить в строке причину. В любом случае проскочит - это системный вызов.

Автор: Эдичка Jan 6 2010, 10:52

x1shn1k, с sql чото не получается. сделал файл смд, запустил и оно выдает ошибки.

Автор: x1shn1k Jan 6 2010, 11:19

Вполне возможно. Я понятия не имею какие службы отвечают за SQL. Код этот нашел в интернете =)
Какие ошибки хоть выдает?

Автор: Spectral Jan 6 2010, 11:26

(Эдичка @ Jan 6 2010, 10:52) Перейти к цитате
с sql
А почему просто не ребутить сервак?
shutdown -r

Он сам погасит все службы, а заодно и апдейты установит.

Автор: Эдичка Jan 6 2010, 11:40

(Spectral @ Jan 6 2010, 11:26) Перейти к цитате

А почему просто не ребутить сервак?

спасиб.
та хочется малой кровью

Автор: Muzman Jan 6 2010, 12:06

(Spectral @ Jan 6 2010, 11:26) Перейти к цитате

А почему просто не ребутить сервак?
shutdown -r

Он сам погасит все службы, а заодно и апдейты установит.

Тогда уже
shutdown /r /f /t %needed_time% /e %reason_code%

Если система не R2, то:
shutdown -r -f -t %needed_time% -e %reason_code%

Автор: Nazim Apr 2 2010, 13:48

Скрипт очистки очереди печати и перезапуска диспетчера печати

net stop fax (если эта служба есть)
net stop spooler

@echo off
IF EXIST "\Windows\System32\spool\PRINTERS\" del "\Windows\System32\spool\PRINTERS\*.*" /f /s /q

net start fax (если эта служба есть)
net start spooler

Автор: Blick Apr 2 2010, 13:57

net stop fax и net start fax - удалить, если выдаёт ошибку о том, что служба не установлена.

Автор: Nazim Apr 2 2010, 14:00

(Blick @ Apr 2 2010, 14:57) Перейти к цитате

net stop fax и net start fax - удалить, если выдаёт ошибку о том, что служба не установлена.


дело в том что у многих она не стоит, но она есть как бы - проверил у себя на 7-ке - полет нормальный

Автор: Fanta Apr 7 2010, 11:06

Комради, потрібен скрипт який моніторить (з заданим інтервалом) вільне місце на вінтах і присилає звіт на е-маіл у вигляді:
Діск С:
Всьго - 100 Гб
Занято - 20% = 20 Гб
Вільно - 80% = 80 Гб

Діск Д:
Всьго - 100 Гб
Занято - 20% = 20 Гб
Вільно - 80% = 80 Гб

Моніторити потрібно як сервера так і ПК

Автор: Alex_GR Apr 7 2010, 15:16

(Эдичка @ Jan 5 2010, 11:15) Перейти к цитате

ребята помогите со скриптами,
1.перезагрузка sql через планировщик заданий
2.выключение компа.
не задаром!


1. в CMD пишешь
rem для остановки сервиса SQL Server 2005
net stop MSSQLSERVER /y
rem для запуска сервиса SQL Server 2005
net start MSSQLSERVER
net start SQLSERVERAGENT

соответственно бросаешь его в планировщик

а зачем тебе его перезапускать ?
PS и еще посмотри в свойствах сервиса вкладку Recovery...

Автор: -AiD- May 5 2010, 15:43

(klez @ May 12 2008, 9:21) Перейти к цитате



Поиск аккаунтов в ActiveDirectory с просроченными паролями

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Если NetBIOS имя домена отличается от DNS до первой точки, то руками вместо строки
dom=getObject("LDAP://" & DC).get("Name") присвоить нужное значение


Как настроить данный скрипт на поиск в определенном OU а не во всем домене? Экспорт в файл?

Автор: Blick Jul 13 2010, 9:39

Коллеги, нужен скрипт.
Суть такая.
Допустим, ребутнулся сервак.
Чтобы запустить определённую прогу, мне нужно залогиниваться.
Нужен скрипт, который бы без залогинивания запускал определённую прогу от имени определённого юзера домена.

Автор: klez Jul 13 2010, 20:51

Проще как сервис обернуть
Смотри в сторону sc create

Автор: GhostKU Jul 17 2010, 0:05

Коллеги, подсобите Нужно автоматизировать установку макроса в Outlook. Даже не знаю с какой стороны подойти к задаче.

Есть рабочая группа на 40 машин. Машины на WinXP SP3, MS Outlook 2007
Нужно каждому пользователю установить макрос в Outlook, если по пунктам то:
1 - Создать текстовый файл определенного содержания в Папке Мои Документы. Тут вроде проблем особых не должно быть
2 - Установить сертификат
3 - Создать VBA проект
4 - Подписать его установленным сертификатом
5 - Импортировать в проект готовую форму
6 - Добавить кнопку вызова формы на панель Outlook

Подскажите хоть примерно чем и как можно реализовать вышеописанное

Автор: Sart Aug 12 2010, 18:54

Спасибо за скрипт по уничтожению агента мылорушного smile.gif
Аналогично склепал на скайп smile.gif

Автор: nerve Oct 22 2010, 20:19

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

Автор: whois Oct 23 2010, 20:34

ГП чем не подходит?

Автор: nerve Oct 24 2010, 11:09

тем что ограничений по длительности активного или бездействующего сеанса нет и у некоторых пользователей отключенные сеансы не закрываются автоматически по истечении какого либо времени.
вопрос не в политиках, а в том, как, какой прогой логофнуть все сеансы на терминале. диспетчер служб терминалов не годится. нужен батник или скрипт или что-то еще, чтоб в опред. время это сделать.

Автор: Nazim Oct 25 2010, 9:04

(nerve @ Oct 24 2010, 12:09) Перейти к цитате

... логофнуть все сеансы на терминале. диспетчер служб терминалов не годится. нужен батник или скрипт или что-то еще, чтоб в опред. время это сделать.

а так?

for /f "tokens=1,3" %%i in ('query session') do echo "%%i" | find "console" || reset session %%j

Автор: nerve Oct 25 2010, 10:08

спасибо. то что нужно. можно подчистить постыsmile.gif

Автор: Sintorres Nov 19 2010, 15:38

Доброго времени суток.
Нужен скрипт/батник рубающий скайп, квип и мышу (the bat) в определенное время.
Запускаемый в шедулере в виде ежедневного задания.
(Склероз замучил, ухожу/убегаю с работы и забываю/нет_времени потушить, а комп работает 24/7. Пришел домой, и пропустил часть инфы свалившейся на работающие сервисы на рабочем компе crazy.gif )
Сори за ламерский вопрос. d.gif

Автор: london Nov 19 2010, 16:10

PowerShell, наваял пример для винампа
Get-Process | Where-Object {$_.name -eq "winamp"} | Stop-Process
или несколько процессов
Get-Process | Where-Object {$_.name -eq "opera" -or $_.name -eq "winamp"} | Stop-Process

Автор: hell4ween Dec 10 2010, 12:30

(Nazim @ May 8 2008, 14:32) Перейти к цитате

Предлагаю выкладывать сюда скрипты для администрирования. Например вот мой для подключения сетевого диска

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


Сохранил в VBS, выдает ошибку. Может нужно еще что дописать?
Виндовс ХР сп3.
ошибка:
строка 4
символ 7
Предполагается наличие окончания инструкции
код 800А0401
источник: Ошибка компиляции Microsoft VBScript.

Автор: Sera Dec 24 2010, 16:40

(Sintorres @ Nov 19 2010, 15:38) Перейти к цитате

Доброго времени суток.
Нужен скрипт/батник рубающий скайп, квип и мышу (the bat) в определенное время.
Запускаемый в шедулере в виде ежедневного задания.

Впихиваем в батник
taskkill /F /IM Skype.exe
taskkill /F /IM qip.exe

ну и т.д. по аналогии

Автор: danders Feb 12 2011, 10:40

(Sera @ Dec 24 2010, 17:40) Перейти к цитате

Впихиваем в батник
taskkill /F /IM Skype.exe
taskkill /F /IM qip.exe

ну и т.д. по аналогии


Гораздно проще отключить всякие odnoklassniki, vkontakte, qip и т.п. на уровне firewall. yes.gif

Автор: Sintorres Feb 12 2011, 11:18

(danders @ Feb 12 2011, 10:40) Перейти к цитате

Гораздно проще отключить всякие odnoklassniki, vkontakte, qip и т.п. на уровне firewall. yes.gif

Это о чем? и к чему???
Вы хотя бы озаботьтесь прочтением вопроса, на который даете ответ.

Автор: olex@ Feb 24 2011, 14:35

Прохання допомогти зі скриптом часу w32tm
В домені є станція, що синхронізується із зовнішним NTP-сервером часу.
Потрібно, щоб сервер брав час зі цієї робочої станції і встановлював його для всіх інших клієнтів локальної мережі. Порти для сервера закриті, тому така проблема.

Автор: Taras_J Mar 2 2011, 8:40

VBS скрипт для проверки типа входа пользователя. Если пользователь подключен по RDP или ICA, то скрипт прекращает работу. Полезно для фильтрации пользовательских политик на серверах терминалов

Dim WshShell,WshProcEnv, strSessionName
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")
strSessionName = WshProcEnv("SESSIONNAME")
If Left(strSessionName, 3) = "ICA" OR Left(strSessionName, 3) = "RDP" then
WScript.Quit
End If

Автор: -AiD- Mar 16 2011, 18:08

Получаем список установленного ПО на удаленной машине:

:: Вывод списка установленных программ с дополнительным выводом версии программы
::©2011 -AiD- for 0day.kiev.ua smile.gif
:: Windows 7 / Vista - OK
:: Windows Server 2008 - OK
:: Windows Server 2003 - OK
:: Windows 2000 - OK
:: Windows XP - OK
:: Формат:
:: ---
:: SOME PROGRAM (IT'S VERSION)
:: ---

@ECHO OFF
CLS
ECHO Usage: %0 ^<Target Host IP or Hostname^>
ECHO You might need to run this script from ELEVATED command prompt!
ECHO.
CHCP 1251 > nul

SET UNINSTALL=\\%1\HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
IF [%1]==[] SET UNINSTALL=HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
ECHO *********List of installed soft on remote machine*********
FOR /f "tokens=7 delims=\" %%a IN ('reg query "%UNINSTALL%"') DO (
FOR /f "tokens=1,2,*" %%b IN ('reg query "%UNINSTALL%\%%a" ^| FIND /I "DisplayName" ^| FIND /V "ParentDisplayName"') DO (
FOR /f "tokens=1,2,*" %%e IN ('reg query "%UNINSTALL%\%%a" ^| FIND /I "DisplayVersion"') DO (
ECHO %%d ^(%%g^)
ECHO ---
)
)
)


Использование: сохранить код в .bat или .cmd файл и запустить указав в качестве входного параметра имя или IP удаленной машины. При запуске без параметра выдаст список для localhost

Автор: amee Apr 5 2011, 15:16

Когда пользователь последний раз входил в систему:


» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «




С уважением, Andrew V. Golubenkoff
Системный Администратор - OJSС "Bank of Cyprus"

Автор: =>DeViL<= Apr 6 2011, 20:14

(Blick @ Jul 13 2010, 10:39) Перейти к цитате

Коллеги, нужен скрипт.
Суть такая.
Допустим, ребутнулся сервак.
Чтобы запустить определённую прогу, мне нужно залогиниваться.
Нужен скрипт, который бы без залогинивания запускал определённую прогу от имени определённого юзера домена.

Хоть уже и не актуально, но может кому-то ещё понадобится..
Как раз вчера искал решение.

Самым простым оказалось добавление задания в планировщике "при включении компьютера" и выбор нужного пользователя, от которого запускать.
Работает нормально: при перезагрузке без никакого воздействия со стороны запускается приложение от нужного юзера (без входа в систему).

ps.gif И не забываем проверить, включена ли служба планировщика smile.gif

ps.gif ps.gif Кстати, по многим вопросам выше советую почитать про WMI - очень мощная вещь..

Автор: -AiD- May 3 2011, 20:08

(amee @ Apr 5 2011, 16:16) Перейти к цитате

Когда пользователь последний раз входил в систему:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

С уважением, Andrew V. Golubenkoff
Системный Администратор - OJSС "Bank of Cyprus"


Ого как у вас там в банке все усложняют! biggrin.gif

Проще так:


@echo off
cls
echo For user %1:
net user %1 /domain | find /i "last logon"

где %1 - User Principal Name, передаем входным параметром в батник с вышеозначеными строками.
Пользуйтесь на здоровье, подходит для любого функционального уровня домена hi.gif

Автор: nerve Jun 7 2011, 21:07

возможен ли скрипт создания (не запуска) впн-подключения?

Автор: stinky Jun 12 2011, 11:43

(nerve @ Jun 7 2011, 22:07) Перейти к цитате

возможен ли скрипт создания (не запуска) впн-подключения?
наверное, как-то так: http://www.windowsecurity.com/articles/Windows-Server-2008-Connection-Manager-Administration-Kit.html


Автор: -AiD- Jul 3 2011, 13:50

(nerve @ Jun 7 2011, 22:07) Перейти к цитате

возможен ли скрипт создания (не запуска) впн-подключения?

или так: http://itgalaxy.net/fast-setup-of-vpn-and-dial-up/

Автор: PershaStudia Nov 21 2011, 14:03

Не знаю, повтор или нет, но тоже поделюсь фигнюшкой)
Искал скрипт, так чтобы забросить на все компьютеры домена папку, в итоге соорудили простенькие cmd'шки:

Copy1.cmd:

for /F %%i in (список_компов.txt) do call 2.cmd %%i


Copy2.cmd:
mkdir \\%1\C$\папка
copy C:\исходный_путь\*.* \\%1\C$\итоговый_путь\


В отдельный текстовый файлы выписываем названия всех компьютеров внутри домена, и название txt вписываем в первый cmd.

Автор: -AiD- Dec 20 2011, 12:52

Вместо

список_компов.txt
я бы сделал так:
for /f %%i in ('"net view|findstr \\"') do call 2.cmd %%i

Автор: next1983 Feb 6 2012, 21:09

Помогите со скриптом.

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

З.Ы. Требуется отслеживание состояния некой Системы. В случае проблем Система пишет лог. Вот часть этого лога нужно отправить СМС. Как отправлять СМС я знаю - http://nhutils.ru/forum/viewtopic.php?f=3&t=16


Upd:
Итоговый скрипт:

:loop

@fc new.txt old.txt
@if %ERRORLEVEL%==1 (
    @fc new.txt old.txt /A > nhsms\1.txt
    @for /F "tokens=7" %%i in (nhsms\1.txt) do @echo %%i>nhsms\2.txt
    nhsms\nhsmscl.exe
              del old.txt
    sleep 3
    copy new.txt old.txt
)

sleep 3

@goto loop


Расшифровка (может кому-то еще понадобится):
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


sleep.exe взять http://www.windowsfaq.ru/images/stories/files/sleep.exe
ПО для отправки-приема СМС http://nhutils.ru/sms.htm

Спасибо всем откликнувшимся и отдельный мегареспект Disconnect

Автор: -13- Feb 7 2012, 9:25

http://tailforwin32.sourceforge.net/

Автор: Disconnect Feb 7 2012, 10:48

fc newfile.txt oldfile.txt
if %ERRORLEVEL%==1 then (......

(next1983 @ Feb 6 2012, 21:09) Перейти к цитате

Автор: Disconnect Feb 8 2012, 13:19

Как то так:
for /F "tokens=6" %i in (nhsms\1.txt) do echo %i

(next1983 @ Feb 8 2012, 0:51) Перейти к цитате


4.8. Злоупотребление цитированием - оверквотинг/гиперквотинг (цитирование без необходимости). Также запрещено цитировать/личить линки, которые были скрыты тегом hide.
Цитировать собеседника необходимо по минимуму (иногда можно вообще не цитировать, если ваше сообщение идет сразу после заданного вопроса или сообщения, на которое Вы хотите ответить, достаточно написать, кому адресовано ваше сообщение). Множественные повторы одного и то же текста на одной и той же странице, тем более с изображениями, излишни и только засоряют форум, поэтому при цитировании оставляйте только ту часть сообщения, которую вы хотите прокомментировать.

Автор: olexande Feb 8 2012, 21:17

Для задержки можно еще пинговать 127.0.0.1 с указанием кол-ва пакетов.
Задержка получается порядка 1 пакета на секунду

Автор: next1983 Feb 9 2012, 13:31

Итоговый скрипт:

:loop

@fc new.txt old.txt
@if %ERRORLEVEL%==1 (
    @fc new.txt old.txt /A > nhsms\1.txt
    @for /F "tokens=7" %%i in (nhsms\1.txt) do @echo %%i>nhsms\2.txt
    nhsms\nhsmscl.exe
              del old.txt
    sleep 3
    copy new.txt old.txt
)

sleep 3

@goto loop


Расшифровка (может кому-то еще понадобится):
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


sleep.exe взять http://www.windowsfaq.ru/images/stories/files/sleep.exe
ПО для отправки-приема СМС http://nhutils.ru/sms.htm

Спасибо всем откликнувшимся и отдельный мегареспект Disconnect

Автор: Blick Mar 1 2012, 10:27

Суть.
Есть несколько компов.
Нужен скрипт (ну или батник), который при запуске коннектится к удалённому реестру и вносит правку в одну из веток. Меняет один параметр на другой.
Как реализовать?

Автор: -AiD- Mar 1 2012, 10:43

@echo off
REG DEL \\IP_or_Hostname\HKLM\SYSTEM\SomePath\Path\OurDataHere /v Data /t REG_DWORD /d 1 /f
REG ADD \\IP_or_Hostname\HKLM\SYSTEM\SomePath\Path\OurDataHere /v Data /t REG_DWORD /d 2 /f

Естественно нужно иметь права доступа к удаленному реестру.

Полезно также просмотреть:

wincmd>REG DEL /?
wincmd>REG ADD /?

Автор: Blick Mar 1 2012, 11:02

Спасибо.
Но есть нюанс.
Компы не в домене и требуют авторизации.
Как её прописать в скрипте?

Автор: -AiD- Mar 1 2012, 15:32

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

cmd> runas /noprofile /user:remotemachine\administrator changeregistry.bat

Автор: next1983 Mar 19 2012, 14:48

Программа при запуске выдает окно с вопросом и ответами "ОК", "Отмена". Как мне сделать автоматическое "нажатие" ОК?


upd. Вроде нашел тут http://dslnet.ru/showthread.php?t=78338 с ссылкой на скрипты отсюда: http://www.script-coding.com/AutoHotkeyTranslation.html в частности сюда.

Автор: next1983 Mar 26 2012, 8:37

Как сделать так, чтобы после
fc new.txt old.txt /A > 1.txt
В файле 1.txt оставались только результаты сравнения без служебной информации "Результат сравнения файлов бла-бла-бла"

Автор: fli Apr 25 2012, 19:21

(next1983 @ Mar 26 2012, 9:37) Перейти к цитате

Как сделать так, чтобы после
fc new.txt old.txt /A > 1.txt
В файле 1.txt оставались только результаты сравнения без служебной информации "Результат сравнения файлов бла-бла-бла"

fc a.txt b.txt | findstr /V Сравнение > ab.txt
так?

Автор: daysleeper May 15 2012, 13:06

Написал бэкап для медка на powershell.
Может кому пригодится.

# Останавливаем сервис медка.
stop-service -name zvitgrp

# Создаем алиас "sz" для 7zip
set-alias sz "C:\Program Files (x86)\7-Zip\7z.exe"

# Создаем переменную "$date" с текущей датой и $backup с путем для архивов
$date = (get-date -uformat %d.%m.%y)
$backup = "R:\SERVERS\medok"
$CurrentDate = Get-Date

# Архивируем каталог медка в фаил с текущей датой
sz a $backup\$date.7z "C:\Documents and Settings\All Users\Application Data\Medoc\Medoc\"

# Запускаем сервис медка.
start-service -name zvitgrp

# Удаляем файлы старше 7 дней
Get-ChildItem $backup | Where-Object { $_.LastWriteTime -lt $CurrentDate.AddDays(-7) } | Remove-Item

Автор: warta Jun 13 2012, 17:17

Ребята тут появилась задачка, нужно найти скрипт/ПО, которое при создании/редактирования документов MS Office, Acrobat и т. д. в поле Title автоматом проставляет дату, названия и автора/редактора документа. Никто не встречал что-то похожее?

Автор: daysleeper Jun 13 2012, 21:09

(warta @ Jun 13 2012, 18:17) Перейти к цитате

Ребята тут появилась задачка, нужно найти скрипт/ПО, которое при создании/редактирования документов MS Office, Acrobat и т. д. в поле Title автоматом проставляет дату, названия и автора/редактора документа. Никто не встречал что-то похожее?

Тут AD и SharePoint нужны. Тогда версии документа будут учитываться, в зависимости от того, кто что и когда редактировал.
Через скрипты это может и можно, но как по мне это как изобретать велосипед.

Бесплатный skydrive тоже позволяет это делать. smile.gif

Автор: warta Jun 14 2012, 8:51

Спасибо, но skydrive не вариант! И AD и SharePoint есть! Может еще есть какие то советы! Буду очень признателен!
Всем спасибо - вопрос снят, разобрался!

Автор: artem.ultra Aug 1 2012, 9:33

нашел скрип для мониторинга сервера печати.
так как сам в повершеле ничего не знаю прошу вашей помощи

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

в нем что то не правильно, помогите с исправлением...

Автор: Spyder3W Aug 1 2012, 11:00

На какой ОС ты это запускаешь?

Автор: artem.ultra Aug 1 2012, 11:28

Windows Server 2008R2

Автор: Spyder3W Aug 1 2012, 11:28

вот что я могу предварительно сказать
нужно включить Microsoft-Windows-PrintService/Operational журнал

не понятный кусок

| ForEach-Object {$_.UserName = $_.UserID.Translate([security.principal.ntaccount])}$EventLog |

ссылку на источник

Автор: artem.ultra Aug 1 2012, 12:07

(Spyder3W @ Aug 1 2012, 12:28) Перейти к цитате

нужно включить Microsoft-Windows-PrintService/Operational журнал

включил
http://vladimirmalikov.com/%D0%B0%D1%83%D0%B4%D0%B8%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%B8-%D0%B2-windows-server-2008r2/(МИР)

Автор: Koka-ftp Aug 1 2012, 12:41

(artem.ultra @ Aug 1 2012, 13:07) Перейти к цитате

http://vladimirmalikov.com/%D0%B0%D1%83%D0%B4%D0%B8%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%B8-%D0%B2-windows-server-2008r2/(МИР)

подправил код, должно работать smile.gif
зы автор источника "<красаффчик>" biggrin.gif
cls
$CurrentDate = Get-date
$date = $CurrentDate.AddDays(-1)
$yesterday = ($CurrentDate) — (new-timespan -day 1)
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
$EventLog = get-winevent -logname "Microsoft-Windows-PrintService/Operational" | Select UserID, TimeCreated, UserName, MachineName, Message, ID
$EventLog | ForEach-Object {
$_.UserName = $_.UserID.Translate([security.principal.ntaccount])}$EventLog | sort-object -property UserName,TimeCreated | where {$_.ID -eq "307"} | where {$_.timecreated -ge $yesterday} | ConvertTo-Html -head $a -body "<H2>PrintService</H2>" -As TABLE -Property TimeCreated, UserName, MachineName, Message | Out-File -FilePath "C:\PRNLOG\$($yesterday.ToString("yyyyMMdd")).html"

Автор: artem.ultra Aug 1 2012, 12:58

создал текстовый файл, туда забил этот скрипт.
переименовал файл в ps1
запустил но ничего не произошло.
что то наверно не так делаю

Автор: Spyder3W Aug 1 2012, 13:01

Koka-ftp
гы-ы-ы-ы, а ты проверял

(artem.ultra @ Aug 1 2012, 13:58) Перейти к цитате

создал текстовый файл, туда забил этот скрипт.
переименовал файл в ps1
запустил но ничего не произошло.
что то наверно не так делаю

ну кто так делает, ошибку в студию

Автор: artem.ultra Aug 1 2012, 13:29

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

а как правильно запускать скрипт?

Автор: Spyder3W Aug 1 2012, 13:42

в том то и нюанс что проблема в том куске что я писал

Автор: artem.ultra Aug 1 2012, 13:54

вот блин.
а в реальности скрипт бомба, если работать будет smile.gif

Автор: Spyder3W Aug 1 2012, 13:58

а он и рабочий только автор молоток выложил "верно" что б другие немного погемороились и мозги освежили

вот как для Koka-ftp, у видел кавычки и поправил а остальной код не глядел smile.gif

Автор: artem.ultra Aug 1 2012, 14:04

ну может поглядишь?
очень нужно, чесно smile.gif

Автор: Spyder3W Aug 1 2012, 14:14

Здесь вроде все верно, целиком скрипт не проверял

$CurrentDate = Get-date
$date = $CurrentDate.AddDays(-1)
$yesterday = ($CurrentDate) — (new-timespan -day 1)
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"

дальше автор использует
$EventLog = get-winevent -logname "Microsoft-Windows-PrintService/Operational" | Select UserID, TimeCreated, UserName, MachineName, Message, ID

хотя я б использовал
$EventLog = get-winevent -ProviderName Microsoft-Windows-PrintService | Select UserID, TimeCreated, UserName, MachineName, Message, ID

ну и завершает это все тем непонятным куском, а точнее там не полный скрипт
$EventLog | ForEach-Object {$_.UserName = (new-object security.principal.securityidentifier $_.UserID).translate([security.principal.ntaccount])}
$EventLog | sort-object -property UserName,TimeCreated | where {$_.ID -eq 307} | where {$_.timecreated -ge $yesterday} | ConvertTo-Html -head $a -body PrintService</H2>» -As TABLE -Property TimeCreated, UserName, MachineName, Message | Out-File -FilePath "C:\PRNLOG\$($yesterday.ToString("yyyyMMdd")).html"


FULL!!!!!
$CurrentDate = Get-date
$date = $CurrentDate.AddDays(-1)
$yesterday = ($CurrentDate) — (new-timespan -day 1)
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
$EventLog = get-winevent -ProviderName Microsoft-Windows-PrintService | Select UserID, TimeCreated, UserName, MachineName, Message, ID
$EventLog | ForEach-Object {$_.UserName = (new-object security.principal.securityidentifier $_.UserID).translate([security.principal.ntaccount])}
$EventLog | sort-object -property UserName,TimeCreated | where {$_.ID -eq 307} | where {$_.timecreated -ge $yesterday} | ConvertTo-Html -head $a -body "<H2>PrintService</H2>" -As TABLE -Property TimeCreated, UserName, MachineName, Message | Out-File -FilePath "C:\$($yesterday.ToString("yyyyMMdd")).html"

С тебя бутылка пива!

PS: Этот скрипт будет работать на новых ОС 2008, 7, 8 но не в 2003

Автор: artem.ultra Aug 1 2012, 14:28

спасибо большое!
когда и где можно передать бутылку пива (и какого) в твои владения? smile.gif


---
smile.gif как нибудь, когда будем собираться
Spyder3W

Автор: Sintorres Aug 2 2012, 11:07

(Spyder3W @ Aug 1 2012, 15:14) Перейти к цитате
PS: Этот скрипт будет работать на новых ОС 2008, 7, 8 но не в 2003

А можно ли что то сделать чтобы работало на 2003?

Автор: daysleeper Aug 2 2012, 13:04

(Sintorres @ Aug 2 2012, 12:07) Перейти к цитате

А можно ли что то сделать чтобы работало на 2003?

попробуй поставить powershell smile.gif

Автор: Spyder3W Aug 2 2012, 13:07

(daysleeper @ Aug 2 2012, 14:04) Перейти к цитате

попробуй поставить powershell smile.gif

не решит проблему beee.gif

Автор: daysleeper Aug 2 2012, 13:24

(Spyder3W @ Aug 2 2012, 14:07) Перейти к цитате

не решит проблему beee.gif


у меня работает через батник на 2003. (переделывать на павершел лень и не вижу смысла когда и так все работает)
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

dumpel.exe отдельная прога. надо скачать и положить в system32
умеет парсить виндовые логи. она жутко древняя. находил что то новее, но лень было переделывать.
из текстового файла потом отлично можно в екселе инфу разгребать.
если будет надо, могу помочь с екселем.

Автор: Sintorres Aug 2 2012, 13:28

(daysleeper @ Aug 2 2012, 14:04) Перейти к цитате
попробуй поставить powershell smile.gif
Оч смешно. d.gif ПШ установлен.

(Spyder3W @ Aug 2 2012, 14:07) Перейти к цитате
не решит проблему beee.gif
Жаль.

(daysleeper @ Aug 2 2012, 14:24) Перейти к цитате
у меня работает через батник на 2003.
Пасиб за батник. С экселем проблем нет... biggrin.gif

Автор: daysleeper Aug 2 2012, 14:30

(Sintorres @ Aug 2 2012, 14:28) Перейти к цитате

Пасиб за батник. С экселем проблем нет... biggrin.gif


Это хорошо.
На самом деле нужные отчеты через сводные таблици построить это самое трудоемкое, но и самое удобное и гибкое решение.

Автор: nerve Aug 17 2012, 11:08

парни помогите решить задачку.
- есть файл1 с содержимым (например 2 или 3 строки)
- есть файл2, куда содержимое первого файла надо добавить в конец
- нужен скрипт, который при наличии обоих файлов копирует содержимое из файла1 (или вообще копирует заданное значение в самом скрипте) в файл2, после чего удаляет себя.
необходимо запускать на винХР

Автор: olexande Aug 17 2012, 16:16

Если file существует, то копируем ...

if exist file copy ...


парни помогите решить задачку.
- есть файл1 с содержимым (например 2 или 3 строки)


копировать нужно ВСЕ или только 2-ю и 3-тю строки? Если все, то это простое объединение файлов командой копи

Автор: javelin Sep 24 2012, 18:41

Вот вам bulletproof скрипт упорядочения рабочего стола d.gif

http://www.techrepublic.com/article/organize-windows-desktop-with-virtual-program-groups/5034408

Автор: ArxistratiG Oct 15 2012, 16:37

(ArxistratiG @ Oct 15 2012, 17:05) Перейти к цитате

Доброго времени суток!

Подскажите скрипт (через выполнения заданий виндовс) чтоб проводить ротацию логов Squid
Спасибо!



(UUVtQD @ Oct 15 2012, 17:22) Перейти к цитате

Алоха!
Якщо використовується squid для Windows то буде щось типу цього (сам не перевіряв, але кажуть що працює smile.gif ) :

@echo off

SET SQUID_LOG_PATH=C:\squid\var\logs

net stop pcnetprovider

net stop squidnt

FOR /F "tokens=1-4 delims=/, " %%i in ('date /t') do set YYYYMMDD=%%l-%%k-%%j

ren "%SQUID_LOG_PATH%\access.log" "access-%YYYYMMDD%.log"

net start squidnt

net start pcnetprovider

Зупиняє squid, акркйменовує лог в access-YYYY-MM-DD.log і стартує squid. Юзати через Windows Task Scheduler.
Enjoy!


@echo off

REM
REM Squid Log Rotation Script by PaperCut Software Int. Pty Ltd
REM


REM The location of the squid log files
SET SQUID_LOG_PATH=E:\Storage\Logs\Squid



REM Stop the squid service
net stop squid

FOR /F "tokens=1-4 delims=/, " %%i in ('date /t') do set YYYYMMDD=%%l-%%k-%%j

REM Rename the log file
ren "%SQUID_LOG_PATH%\access.log" "access-%YYYYMMDD%.log"
ren "%SQUID_LOG_PATH%\store.log" "store-%YYYYMMDD%.log"


скрипт роботает только место даты файлу присваивает access-----.log

Подскажите как ету строку(FOR /F "tokens=1-4 delims=/, " %%i in ('date /t') do set YYYYMMDD=%%l-%%k-%%j

) заставить брать правильное время и дату

Автор: fli Oct 16 2012, 9:04

Есть ли в cmd аналог unix команды echo $?
?

Автор: ArxistratiG Oct 16 2012, 10:37

Скрипт ротаци и архивирывания лог файлов сквида Windows.

@echo off

REM
REM Squid Log Rotation Script by PaperCut Software Int. Pty Ltd
REM



REM Stop the squid service
net stop squid

@SET CPATH=E:\Storage\Logs\Squid
@SET BCPATH=E:\Storage\Logs\Squid
@SET RARSTR=D:\Progra~2\winrar\winrar.exe a -ac -idp -m5 -md4096 -os -r -t -y -ep1 -ms -df -ag+YYYY_MM_DD_A_NN -ilogd:\windows\log_sq.log
@SET FILENAME=-access
@SET FILENAME1=-store

@%RARSTR% %BCPATH%\%FILENAME%.rar %CPATH%\access.log
@%RARSTR% %BCPATH%\%FILENAME1%.rar %CPATH%\store.log

REM Restart the squid service
net start squid


__________________________________________________________________________
#@SET RARSTR (Место где у Вас седит Winrar)
#log d:\windows\log_sq.log (место кудада ложиться лог рара)
#@SET CPATH, @SET BCPATH деректори откуда будут браться и куда будут складываться файлы
#SET FILENAME имена файлов + дата время месяц создания и прядковй номер (ag+YYYY_MM_DD_A_NN ) _01 _02 есле запускать несколько раз в день
#Progra~2 ето на х64 винде Program Files х86, Progra~1 обычная Program Files

Автор: zlobster Nov 26 2012, 23:07

Нужен Спец, который поможет или объяснит, как написать скрипт VB, PS, CMD.
Идея такая:
Есть файл в котором записаны:
- полный путь файла
- размер файла который прочитан, т.е. если он прочитан до конца, то соответствует размеру файла указанному в пути
и так много раз файл/прочитанный размер
Есть каталог, в котором эти файлы.
Надо из файла взять записи и сверяя их перемещать те которые прочитаны до конца в папку.
Что курить, где копать?!

Автор: fli Dec 14 2012, 15:33

подскажите как зеркалировать папку bat скриптом?
аналог rsync -av --delete

Автор: olexande Dec 29 2012, 14:00

robocopy /mir

Умеет еще докачивать и ограничивать нагрузку на канал. Используем найденный почти максимум - 2050

Автор: -AiD- Dec 29 2012, 14:28

(fli @ Oct 16 2012, 9:04) Перейти к цитате

Есть ли в cmd аналог unix команды echo $?
?

echo %errorlevel%

Автор: -AiD- Jan 31 2013, 15:48

Проверить, входит ли Username в группу Active Directory Groupname:

NET GROUP "Groupname" /DOMAIN | find /I /C "Username"

Возвращает "1" если входит и "0" - если нет.

Автор: PRIHOD Feb 5 2013, 11:41

буду благодарен тем, у кого есть готовое решение(скрипт).
задача слить с фтп бекапы(архивы).
сверить список директорий локального и удаленного пк.
слить файлы, которых нет на локальном пк.


Автор: mzk Mar 13 2013, 15:32

Есть файл типа .xml - там всякая херня не нужная и нужные ссылки. Ссылки в тегах <href>http://site.name</href>. Их довольно таки много, около 2к сайтов и надо их достать оттуда. Есть ли скрипт, который будет дергать то, что в тегах и писать в отдельный файлик ?

Автор: Sintorres Mar 13 2013, 15:34

http://yandex.ua/yandsearch?text=%D0%BF%D0%B0%D1%80%D1%81%D0%B5%D1%80%20xml&clid=1771360&lr=143&ncrnd=426 Не?

Автор: mzk Mar 14 2013, 15:11

В общем такое решение моей задачи: самописный скрипт на php, вдруг кому пригодится.


<?php

$buff = file_get_contents("shops.xml");

$result = "";
$second_pos = 0;
$first_pos = strpos($buff, "<href>", $second_pos);

while ($first_pos != FALSE)
{
    $first_pos = $first_pos + 6;
    $second_pos = strpos($buff, "</href>", $first_pos);
    if ($second_pos == FALSE)
        break;
    $str_size = $second_pos - $first_pos;
    $str = substr($buff, $first_pos, $str_size);
    $result = $result.$str."\r\n";
    $first_pos = strpos($buff, "<href>", $second_pos + 7);
}

$to_file = fopen('g:\test.txt', 'a+');
fwrite($to_file,$result);
fclose ($p);

?>

Автор: olexande Mar 17 2013, 19:34

(PRIHOD @ Feb 5 2013, 11:41) Перейти к цитате

буду благодарен тем, у кого есть готовое решение(скрипт).
задача слить с фтп бекапы(архивы).
сверить список директорий локального и удаленного пк.
слить файлы, которых нет на локальном пк.

для заливки\скачки файлов по ftp пользовался штатной утилиткой с аналогичным названием.
Умеет работать из .bat-файлов, по т. н. скриптам, в которых указываются параметры авторизации и с чего сделать.

синхронизировать каталоги не пробовал

Автор: Freestyler May 31 2013, 9:12

Была потребность сделать скрипт на винде, который будет блочить учетки, lastlogin которых больше 90 дней.
Можно добавлять исключения, есть лог файл, который по выполнении скрипта отправляется на почту.
Делалось это все не для домена.

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: Neuromancer Sep 4 2013, 10:07

В каждой учетке домена прописано выполнение скрипта:

On Error Resume Next

Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName

strDriveLetter = "z:"
strRemotePath = "\\сервер\Шара$"
strNewName = "Общая папка"
mapped = false

Set objNetwork = CreateObject("WScript.Network")
Set oDrives=objNetwork.EnumNetworkDrives

For i = 0 to oDrives.Count - 1 Step 2
If oDrives.Item(i)=strDriveLetter Then mapped = true

Next
If mapped Then objNetwork.RemoveNetworkDrive strDriveLetter
If mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
If Not mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

WScript.Quit

Он подключает сетевой диск.Кто может объяснить?Нужно чтобы вместе с папкой "Общая папка" монтировалься еще один диск "\\Общая папка\Договора" если у юзера есть доступ к ней. (Да я понимаю что Общая папка уже содержит папку договора,но нужен отдельный сетевой диск).

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: lSnakel Oct 3 2013, 14:26

(Neuromancer @ Sep 4 2013, 11:07) Перейти к цитате

В каждой учетке домена прописано выполнение скрипта:
...

Set objNetwork = CreateObject("WScript.Network")
Set oDrives=objNetwork.EnumNetworkDrives
Отримує список при'єднаних мережевих дисків

For i = 0 to oDrives.Count - 1 Step 2
If oDrives.Item(i)=strDriveLetter Then mapped = true
Next
Перевіряє, чи є серед них z:

If mapped Then objNetwork.RemoveNetworkDrive strDriveLetter
If mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
If Not mapped Then objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
Якщо z: підключений, то відключити його, і перепідключити з заданими параметрами. Якщо ні, просто підключити(тут, як на мене, правильніше було б обійтися одним if-then-else)

Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
Присвоює диску ім'я.

В принципі, можна просто зкопіпастити код від strDriveLetter до objShell.NameSpace(strDriveLetter).Self.Name, тільки присвоїти нові значення потрібним змінним.
Щодо перевірки доступа, тут скоріше за все доведеться лізти в WMI, якщо питання ще актуальне, стукни в ПМ, спробую допомогти.

Автор: BANDIT(filmmaniac) Oct 18 2013, 9:02

Может у кого есть готовый скрипт для следующей задачи:
- периодически делать копии одного и того же файла на файловом сервере
ОС - WinSrv 2012
Просто не хочется из-за такой мелочи какой-то софт ставить.

Автор: Celin Oct 18 2013, 9:17

(BANDIT(filmmaniac) @ Oct 18 2013, 10:02) Перейти к цитате

Может у кого есть готовый скрипт для следующей задачи:
- периодически делать копии одного и того же файла на файловом сервере
ОС - WinSrv 2012
Просто не хочется из-за такой мелочи какой-то софт ставить.

С этим справится планировщик заданий и командная строка. Можно ещё архиватор вцепить для сжатия.

Автор: Sintorres Oct 18 2013, 9:43

Включить фичу Windows Server Backup, настроить, пользоваться.
Можно заюзать Robocopy из Windows Resource Kit (с WS2K8 должна быть доступна в как стандартный компонент) + планировщик.
ПС Ротация архивов нужна?

Автор: BANDIT(filmmaniac) Oct 18 2013, 9:45

Та не, там всё проще. Один файл где-то мб 10.
Планировщик + cmd подходят. Буду пробовать.
Спасибо.

Автор: Sintorres Oct 18 2013, 9:49

Robocopy с примерами скриптов http://www.cyberforum.ru/cmd-bat/thread792016.html

Автор: armageddon Nov 19 2013, 12:29

Ребят, помогите скриптиком, пожалуйста smile.gif Нужно проверять доступность компа в сети по пингу, и если он не доступен в течении, скажем, 10-20 минут бутать комп, на котором запущен скрипт. Спасибо

Автор: olexande Dec 18 2013, 20:57

Пингал, потом "смотрел" ERRORLEVEL - покажет "уровень ошибки завершения последней задачи, используется в батниках" в аналогичных ситуациях.

По памяти:

ping 127.0.0.1 -n 1
echo ERRORLEVEL

Пропингует себя 1-м пакетом и выплюнет оную.
По желанию можно прикрутить условие и дальше действовать по обстоятельствам.

Автор: Toyota Feb 18 2014, 0:22

Добрый вечер, помогите сделать батник чтоб:
- С папки HP копировались все файлы в папку STD
- А в папке log создавался файлик txt с названием файлов, а также с датой и временем когда был скопирован каждый файл.

*Надо чтоб выводилось время копирования каждого файла по отдельности.
Так как файлы по несколько гигов, так и время появления в папке у них разное должно быть.

Автор: Neuromancer May 13 2014, 11:11

Исправил

Автор: daysleeper Jul 28 2014, 11:46

powershell
нужно оставлять 4 последних файла бэкапа, и удалять те, которые старше.
удалять старше 4х дней непроблема. как оставлять последние 4 файла, что-бы на выходные и на праздники не перекрывались?

Get-ChildItem $backup | Where-Object { $_.LastWriteTime -lt $CurrentDate.AddDays(-4) } | Remove-Item

Автор: daysleeper Jul 29 2014, 17:31

(daysleeper @ Jul 28 2014, 11:46) Перейти к цитате

powershell
нужно оставлять 4 последних файла бэкапа, и удалять те, которые старше.
удалять старше 4х дней непроблема. как оставлять последние 4 файла, что-бы на выходные и на праздники не перекрывались?

Get-ChildItem $backup | Where-Object { $_.LastWriteTime -lt $CurrentDate.AddDays(-4) } | Remove-Item


разобрался.
может кому пригодится.
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: I00matolog Feb 26 2015, 11:45

Задача банальна - раскидать всем юзерам на рабочий стол ярлык
Сервер 2008 вынь без домена.
т.е.

copy /y c:\tmp\LINK.lnk C:\Users\$I\Desktop

где $I - это перебор файлика с именами профилей

как это на винде делается?
for $i (cat list.txt)
do
copy /y c:\tmp\LINK.lnk C:\Users\$I\Desktop
done

?

Автор: Spectral Feb 26 2015, 11:51

(I00matolog @ Feb 26 2015, 11:45) Перейти к цитате
где $I - это перебор файлика с именами профилей
Не туда копаешь. В винде есть такой юзер, как дефолтный профиль Default. Его ярлыки будут у всех юзеров. Так проще, если у тебя нет отдельных юзеров, кому этот ярлык нельзя.

Автор: I00matolog Feb 26 2015, 11:54

(Spectral @ Feb 26 2015, 11:51) Перейти к цитате

Не туда копаешь. В винде есть такой юзер, как дефолтный профиль Default. Его ярлыки будут у всех юзеров. Так проще, если у тебя нет отдельных юзеров, кому этот ярлык нельзя.

дело в том - что мне необходимо заменить уже существующий ярлык у пользователей.
Через defult юзера - не получится.
Так юзера уже залогинились

Автор: Dr.Sydorenko Feb 26 2015, 12:02

(I00matolog @ Feb 26 2015, 11:45) Перейти к цитате

Задача банальна - раскидать всем юзерам на рабочий стол ярлык
Сервер 2008 вынь без домена.
т.е.

copy /y c:\tmp\LINK.lnk C:\Users\$I\Desktop

где $I - это перебор файлика с именами профилей

как это на винде делается?
for $i (cat list.txt)
do
copy /y c:\tmp\LINK.lnk C:\Users\$I\Desktop
done

?


Ну, FOR /? wink.gif

Терминальник с кучей профилей?
Как-то так:

for /F %i IN ('dir /AD /B c:\users') DO copy /y c:\tmp\LINK.lnk  "C:\Users\%i\Desktop\"


хмм...
должно быть (а не странный значек вместо слешей):

for /F %i IN ('dir /AD /B c:\users') DO copy /y c:\tmp\LINK.lnk "C:\Users\%i\Desktop\"

Автор: I00matolog Feb 26 2015, 12:21

так, термінальнік

Непредвиденное появление IN

(Dr.Sydorenko @ Feb 26 2015, 12:02) Перейти к цитате


for /F %i IN ('dir /AD /B c:\users') DO copy /y c:\tmp\LINK.lnk  "C:\Users\%i\Desktop\"


хмм...
должно быть (а не странный значек вместо слешей):

for /F %i IN ('dir /AD /B c:\users') DO copy /y c:\tmp\LINK.lnk "C:\Users\%i\Desktop\"


Автор: Dr.Sydorenko Feb 26 2015, 12:24

если в cmd/bat-файле, то должно быть %%i


В пакетных файлах для команды FOR используется запись %%переменная вместо %переменная. Имена переменных учитывают регистр букв (%i отличается от %I).

Автор: I00matolog Feb 26 2015, 12:34

(Dr.Sydorenko @ Feb 26 2015, 12:24) Перейти к цитате

если в cmd/bat-файле, то должно быть %%i

а теперь рисует что "Ошибка в синтаксисе команды"
и выводит строку команды


C:\Users>for /F %i IN ('dir /AD /B C:\Users\')

Автор: Koka-ftp Feb 26 2015, 21:19

мож сюды копнуть)?

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\bla.lnk")
$Shortcut.TargetPath = "C:\Program Files (x86)\blabla\bla.exe"
$Shortcut.Save()


ну и как вариант
strDesktop = WshShell.SpecialFolders("AllUsersDesktop" )
set oShellLink = WshShell.CreateShortcut(strDesktop & "\bla.lnk" )
oShellLink.TargetPath = "c:\bla\bla.exe"
oShellLink.WindowStyle = 1
oShellLink.IconLocation = "c:\bla\bla.ico"
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = "c:\bla"
oShellLink.Save


зы нужно создать всем или неким из файла?

Автор: Dr.Sydorenko Feb 26 2015, 23:04

(I00matolog @ Feb 26 2015, 12:34) Перейти к цитате

а теперь рисует что "Ошибка в синтаксисе команды"
и выводит строку команды


C:\Users>for /F %i IN ('dir /AD /B C:\Users\')


Странно, должно работать (это из 7-ки, 2008-й нет под рукой - нужно в справке перепроверить):
Microsoft Windows [Version 6.1.7601]
© Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Windows\system32>for /F %i IN ('dir /AD /B c:\users') DO dir "C:\Users\%i\Desktop\"

C:\Windows\system32>dir "C:\Users\All\Desktop\"
Системе не удается найти указанный путь.

C:\Windows\system32>dir "C:\Users\Classic\Desktop\"
Системе не удается найти указанный путь.

C:\Windows\system32>dir "C:\Users\Default\Desktop\"
Том в устройстве C не имеет метки.
Серийный номер тома: 20E0-9137

Содержимое папки C:\Users\Default\Desktop

14.07.2009 04:34 <DIR> .
14.07.2009 04:34 <DIR> ..
0 файлов 0 байт
2 папок 4 157 923 328 байт свободно

...

Автор: Dr.Sydorenko Feb 26 2015, 23:17

судя по https://technet.microsoft.com/en-us/library/cc754900.aspx в 2008-й тоже можно в in (<Set>) указывать выполнение команд

Автор: olexande May 13 2015, 11:20

Як варіант - через пошук (адміном) можна їх усі знайти та видалити, а 1-н потрібний "правильно" покласти ...

Автор: mukolaich May 16 2015, 19:39

Успешно и много пишу на PowerShell, напишу Форумчанам за наличие его потом в портфолио wink.gif

Автор: Fanta May 16 2015, 22:45


(mukolaich @ May 16 2015, 20:39) Перейти к цитате

Успешно и много пишу на PowerShell, напишу Форумчанам за наличие его потом в портфолио wink.gif

можно бросать заявки на скрипты?

Если да то вот один
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: olexande May 21 2015, 9:33

Де плануєте зберігати строк дії vpn-доступу?

Автор: Fanta May 21 2015, 9:49

(olexande @ May 21 2015, 10:33) Перейти к цитате

Де плануєте зберігати строк дії vpn-доступу?

це проблема smile.gif
щоб не городити городи вирішили створювати групу на кожен день smile.gif
тобто якщо юзеру дають ВПН до 01.12.2015 то в окремій ОУ створюється група "01-12-2015" і туди вноситься юзер
кожного вечора в 23.50 запускається скрипт який бере сьогоднішню дату і порівнює її з назвою групи.
якщо така група є то скрипт всім юзерам цієї групи виключає Network Access Permison і (опціонально) видаляє юзера з групи

ось такий велосипед який "централізує" все це діло.

Автор: olexande May 21 2015, 11:46

Теоретично, Вам може допомогти розширення схеми MS AD дублікатом поля користувача, як приклад "whenCreated".

Там як раз формат дата-час. Питання залишаэться, як зручно продивлятись, редагувати та слідкувати за "цими" датами...

Як варіант, можна створити і свою оснастку, чи тіпа сайту ...

Автор: Fanta May 21 2015, 11:57

(olexande @ May 21 2015, 12:46) Перейти к цитате

Теоретично, Вам може допомогти розширення схеми MS AD дублікатом поля користувача, як приклад "whenCreated".

Там як раз формат дата-час. Питання залишаэться, як зручно продивлятись, редагувати та слідкувати за "цими" датами...

Як варіант, можна створити і свою оснастку, чи тіпа сайту ...

так в тому то і фішка що можна кучу всього наворотити
але простіше тупо ставити юзеру галку і додавати його в групу. все інше має бути автоматизовано

Автор: Fanta May 26 2015, 10:13

(mukolaich @ May 16 2015, 20:39) Перейти к цитате

Успешно и много пишу на PowerShell, напишу Форумчанам за наличие его потом в портфолио wink.gif

ще один:
вивести список файлів (і їх розташування) у яких довжина шляху більше 256 символів

Автор: biqbo Jul 13 2015, 21:04

Доброго времени суток.
Возникла проблема что сетка ложится по 5-6 раз в день, на минуты 3-4.
Устройсва которые подключены по wi-fi остаются подключены к точкам доступа, но "теряют" свои сетевые адреса. Тоже самое и на ПК которые подключены шнурком.

Есть ли у кого скрипт cmd/bat для пинга и сохранения результатов в текствой файл?
Поделитесь пожалуйста, с меня "+"
Заранее спасибо.

ПС. Паралельно гуглю в поисках )

Автор: gonivo Jul 13 2015, 23:10

ping i.ua >c:\1

Автор: HEAVY Jul 13 2015, 23:47

ping i.ua >c:\1.txt

Автор: mak_v_ Aug 5 2015, 11:42

Господа, нужен батник (под Шиндовс 2003) следующего содержимого:
1) Имеем список файлов в директории.
2) Необходимо пройтись по списку файлов и составить текстовй файл.

Например: имеем 3 файла:
file1, file2, file3
Необходимо на выходе получить текстовый файл с таким содержанием:
client.exe --sql="UPDATE row_files SET val='added_rowfile1' WHERE val='skipped_rowfile1' and type='well'"
client.exe --sql="UPDATE row_files SET val='added_rowfile2' WHERE val='skipped_rowfile2' and type='well'"
client.exe --sql="UPDATE row_files SET val='added_rowfile3' WHERE val='skipped_rowfile3' and type='well'"

Просю помощи....

Автор: Dr.Sydorenko Aug 5 2015, 12:03

(mak_v_ @ Aug 5 2015, 12:42) Перейти к цитате
Господа, нужен батник (под Шиндовс 2003) следующего содержимого:
Как-то так (для всех файлов в директории):

for /F %i IN ('dir /A /B c:\dir') DO @echo client.exe --sql="UPDATE row_files SET val='added_row%i' WHERE val='skipped_row%i' and type='well'" >> file.txt

Если в батнике, то заменить на %%i

если список файлов хранится в файле, то как-то так:

for /F %i IN (c:\dir\list.txt) DO @echo client.exe --sql="UPDATE row_files SET val='added_row%i' WHERE val='skipped_row%i' and type='well'" >> file.txt

Автор: mzk Aug 18 2015, 8:18

Ребята, нужна помощь в написании скрипта на PowerShell

Копирование файлов по сети (порядка 30-40 тысяч мелких файлов)

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Сначала нужно удалить всю папку "Библиотека" а потом скопировать новую из $source в $dest1 и $dest2 и тд... (всего 6).
Удаление происходит нормально, копирование тоже, но как только скрипт доходит до $dest2 удаляет там, то удаление происходит так же и в $dest1, одновременно короче.

Как это сделать по очереди?
Сначала $dest1, потом $dest2 и тд ?

В PowerShelle не силен, поэтому прошу помощи russian_ru.gif


Автор: Spyder3W Aug 18 2015, 10:41

(mzk @ Aug 18 2015, 9:18) Перейти к цитате



В конце каждого добавь
| Out-Null

Автор: mukolaich Aug 28 2015, 20:12

(mzk @ Aug 18 2015, 9:18) Перейти к цитате

Ребята, нужна помощь в написании скрипта на PowerShell

Копирование файлов по сети (порядка 30-40 тысяч мелких файлов)

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Сначала нужно удалить всю папку "Библиотека" а потом скопировать новую из $source в $dest1 и $dest2 и тд... (всего 6).
Удаление происходит нормально, копирование тоже, но как только скрипт доходит до $dest2 удаляет там, то удаление происходит так же и в $dest1, одновременно короче.

Как это сделать по очереди?
Сначала $dest1, потом $dest2 и тд ?

В PowerShelle не силен, поэтому прошу помощи russian_ru.gif

В принципе все правильно в скрипте, все отрабатывает последовательно и по очереди.
Единственное, нужно поменять Write-Output на Write-Host, это разные командлеты по принципу, использовать их тоже нужно в разных кейсах.
Out-Null нигде писать не надо.

(biqbo @ Jul 13 2015, 22:04) Перейти к цитате

Доброго времени суток.
Возникла проблема что сетка ложится по 5-6 раз в день, на минуты 3-4.
Устройсва которые подключены по wi-fi остаются подключены к точкам доступа, но "теряют" свои сетевые адреса. Тоже самое и на ПК которые подключены шнурком.

Есть ли у кого скрипт cmd/bat для пинга и сохранения результатов в текствой файл?
Поделитесь пожалуйста, с меня "+"
Заранее спасибо.

ПС. Паралельно гуглю в поисках )


Для этого есть 2 командлета:
Test-NetConnection -ComputerName www.contoso.com -InformationLevel Detailed | Out-File 'C:\Path\to\file.txt
Test-Connection -ComputerName www.contoso.com -Count 100500 | Out-File 'C:\Path\to\file.txt

Автор: Aleha Sep 8 2015, 11:33

Привет всем.
Нужна помощь со скриптом на vbs.

Задача стоит такая: есть пользователи в AD, есть компьютеры там же. Надо чтобы при логине пользователя на компьютер, в поле Description пользователя прописывалось имя компьютера.

Пока пришел к такому решению:

Dim adsinfo, ThisComp, oUser

' Определяем объекты
Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://" & adsinfo.UserName)

' Заносим данные в AD

'В поле Description учетки пользователя пишем имя компьютера
oUser.put "Description", ThisComp.cn
oUser.Setinfo
wscript.quit


Но так не подходит т.к. пользователи своими доменными УЗ заходят и на терминальные сервера, т.е. надо как то исключить их.
Все компьютеры названы одним и тем же паттерном (LND-WS0001, CPR-WS0001 и так далее, у нас четыре локации) а вот сервера бывают разные.
Думаю про какой то if then else, но язык vbs знаю из рук вон плохо.

Автор: Fanta Sep 8 2015, 14:05

(Aleha @ Sep 8 2015, 12:33) Перейти к цитате

Но так не подходит т.к. пользователи своими доменными УЗ заходят и на терминальные сервера, т.е. надо

Зазвичай такі скрипти треба "вішати" на ОУ де є ПК і зазвичай для ПК і Севрерів юзаються різні ОУ.
Якщо ж все погано то ви на ГПО де юзається цей скрипт повісьте ВМІ-фільтр який буде фільтрвувати ТС і на них ця політика не буде примінятися!

Автор: Aleha Sep 9 2015, 13:48

(Fanta @ Sep 8 2015, 15:05) Перейти к цитате

Зазвичай такі скрипти треба "вішати" на ОУ де є ПК і зазвичай для ПК і Севрерів юзаються різні ОУ.
Якщо ж все погано то ви на ГПО де юзається цей скрипт повісьте ВМІ-фільтр який буде фільтрвувати ТС і на них ця політика не буде примінятися!
Так скрипт предназначен для пользователя же, это logon-скрипт, потому отфильтровать так не получится, ни первым ни вторым способом.

Автор: lAero Dec 4 2015, 21:26

(Aleha @ Sep 8 2015, 11:33) Перейти к цитате

Привет всем.
Нужна помощь со скриптом на vbs.

Задача стоит такая: есть пользователи в AD, есть компьютеры там же. Надо чтобы при логине пользователя на компьютер, в поле Description пользователя прописывалось имя компьютера.

Пока пришел к такому решению:

Dim adsinfo, ThisComp, oUser

' Определяем объекты
Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://" & adsinfo.UserName)

' Заносим данные в AD

'В поле Description учетки пользователя пишем имя компьютера
oUser.put "Description", ThisComp.cn
oUser.Setinfo
wscript.quit


Но так не подходит т.к. пользователи своими доменными УЗ заходят и на терминальные сервера, т.е. надо как то исключить их.
Все компьютеры названы одним и тем же паттерном (LND-WS0001, CPR-WS0001 и так далее, у нас четыре локации) а вот сервера бывают разные.
Думаю про какой то if then else, но язык vbs знаю из рук вон плохо.




было бы логично и в компьютер прописывать пользователя, кто залогинен. у нас есть куча компьютеров и мы не знаем чьи они. идеи?smile.gif

Автор: olexande Dec 10 2015, 21:02

Через пакет psexec можна дистанційно збирати за потребою ...
Без перезавантаження при перелогоні відпрацює правильно?

Автор: romchikss Jan 28 2016, 17:46

Приветствую!
OS Windows 2012 R2. Есть каталог с подкаталогами (очень много), у каждой папки нарезаны свои права, унаследование отключено. Нужно через powershell нарезать на каждый каталог/подкаталог доменному пользователю право Read only. Есть возможность ? Спасибо

Автор: mak_v_ Jan 28 2016, 18:33

https://technet.microsoft.com/ru-ru/library/cc753525(WS.10).aspx

Автор: artem.ultra Aug 26 2016, 14:58

нужен батник smile.gif
1. подключаем сетевую шару с логином и паролем доменным \\192..168.150.150\back
2. проверяем файлы в этой шаре, если старше 30 дней - удаляем что там есть
3. копируем в эту шару файлы C:\Back
4. очищаем шару
5. размонтируем шару
как то так smile.gif
запускать хочется через планировщика

Автор: Dik Aug 29 2017, 16:11

Господа, подмогните! Может кто где то видел или знает скрипт, который позволит делать выборки:
пользователи.тхт --->выборка AD ---> User+PC.txt
PC.txt ---> выборка AD ---> PC+User.txt

Тоесть выборка из АД данных на основе списков.

Автор: Koka-ftp Aug 29 2017, 16:32

не совсем понятнo описана задача)
если смотреть в сторону PS, то выборку из списка\текста можно делать командлетом Import-CSV
далее как-то так)

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «

Автор: Dik Aug 30 2017, 9:50

(Koka-ftp @ Aug 29 2017, 17:32) Перейти к цитате

не совсем понятнo описана задача)
если смотреть в сторону PS, то выборку из списка\текста можно делать командлетом


Имеется в виду, что есть список пользователей (например 100 имен), все учетки с указанными дескрипшинами (например есть логин Pupkin.V с дескрипшином Пупкин Василий).
Список записан в файл, тхт или csv ...
И вот задача вытащить из АД, по очереди используя список, и создать список в виде логин/дескрипшн юзера/имя ПК/время входа и записать это в файл.
Или наоборот, по имени ПК вытащить то же самое но про пользователя.

Автор: mak_v_ Sep 28 2017, 9:30

Можт у кого-то есть под рукой скриптик для АД (2к3) выгребающий список локальных админов со всех раб.станций?
Ну и в идеале конечно смена паролей для них-же.

Автор: Morftimg Apr 20 2018, 10:32

Помогите сделать людский скрипт для копирования профиля и данных пользователя и всех данных с диска Д.

Наваял скриптец но он не универсальный и не делает что я хочу.

NET USE \\Server\IPC$ /u:Server\user *password*

@echo off

set day=%date:~0,2%

set month=%date:~3,2%

set year=%date:~6,4%

Robocopy c:\users\Karpov \\Server\UserBackup\karpov%day%%month%%year%\ /E /A /DCOPY:T /R:2 /W:5 /MT:64

Что надо чтоб было СИСТЕМА WIN 10:
Авторизация на сетевой шаре и после бекапа размонтирование шары.

1. Универсальный скрипт, чтоб копировал профиль пользователя (только профили реальных пользователей, а не всех юзеров типа администратор и тд)
2. Все содержимое раздела D:\ исключая системный папки корзины и тд
3. К названию конечной папки чтоб дописывалась текущая дата, и вообще класно было бы если б было доступ 5 папок с датам допустим Karpov20042018 Karpov21042018 Karpov22042018 чтоб когда пишет 6 папку самая старая удалялась.
4. Хочется чтоб был батник, чтоб можно было вставить в обычный планировщик.

Очень надо срочно ) Спасибо.

Автор: Morftimg Apr 22 2018, 21:29

Помогите со скриптом, уже срочно надо sad.gif

Автор: olexande Sep 9 2018, 20:19

Что надо чтоб было СИСТЕМА WIN 10:
Авторизация на сетевой шаре и после бекапа размонтирование шары.


Чим не влаштовує збережені системно паролі / мережеві диски ?

Простим перейменуванням можна організувати "глибину історії збереження" чи аналізувати дату створення

Рекомендую дату як частину імені файлу вивести в підкаталог (чи продублювати).


Автор: Morftimg Jan 18 2019, 16:45

Напомните простой скрип для удаления файлов с датой более надцать дней от сегодня?

Автор: qazzy Jan 18 2019, 22:28

(Morftimg @ Jan 18 2019, 16:45) Перейти к цитате

Напомните простой скрип для удаления файлов с датой более надцать дней от сегодня?


Как-то так

find /path/to/files -type f -mtime +5 -exec rm {} \;

Должно удалять старше 5 дней. Перед использованием проверить где-то, память она такая - лучше перепроверить.

Автор: mak_v_ Jan 18 2019, 23:35

(qazzy @ Jan 18 2019, 22:28) Перейти к цитате

Как-то так

find /path/to/files -type f -mtime +5 -exec rm {} \;

Должно удалять старше 5 дней. Перед использованием проверить где-то, память она такая - лучше перепроверить.

Люто плюсую!

Автор: Sintorres Jan 19 2019, 9:53

(Morftimg @ Jan 18 2019, 16:45) Перейти к цитате
Напомните простой скрип для удаления файлов с датой более надцать дней от сегодня?
Опубликовано sv (не проверено) в Пнд, 2015-03-09 16:40.

Раньше тоже так делал. Пока не пришло осознание, что лучше старый бекап, чем никакого. Все бывает, верно? И если по каким-то причинам бекап перестал выполняться, то find все также будет удалять файлы, пока не останется ни одного. При этом сообщение об ошибке при выполнении бекапа, например, на тот же email, также не помешает.

(qazzy @ Jan 18 2019, 22:28) Перейти к цитате
Как-то так

find /path/to/files -type f -mtime +5 -exec rm {} \;

Должно удалять старше 5 дней. Перед использованием проверить где-то, память она такая - лучше перепроверить.
А это вообще законно, для винды? smile_upsidedown.png

https://sysadmin-note.ru/udalenie-fajlov-starshe-n-dnej/ и https://bdseo.ru/kak-udalyat-fajly-starshe-10-dnej-na-windows
И для винды "http://forum.oszone.net/thread-263677.html"

Автор: qazzy Jan 19 2019, 14:35

(Sintorres @ Jan 19 2019, 9:53) Перейти к цитате

А это вообще законно, для винды? smile_upsidedown.png

https://sysadmin-note.ru/udalenie-fajlov-starshe-n-dnej/ и https://bdseo.ru/kak-udalyat-fajly-starshe-10-dnej-na-windows
И для винды "http://forum.oszone.net/thread-263677.html"


Упс, не обратил внимание smile.png

Автор: Alekssander Oct 23 2021, 9:23

Помогите плиз со скриптом.
Нужен скрипт для создания локального пользователя с правами администратора.
Десяток перепробовал, не работают.

Автор: Sub Focus Nov 4 2021, 19:55

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

Делал через Powershell

» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... «


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

Invision Power Board
© Invision Power Services