Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
 

                               Коллеги-администраторы  ....  


Часть 1


Думаю каждый из вас сталкивался с необходимостью выполнять некие несложные рутинные операции, на котороые уходит много драгоценного времени.
 Например, создать определенную структуру каталогов для каждого пользователя домена, изменить некие параметры в профилях всех или части пользователей, изменить полномочия/владельца однотипных файлов в разных каталогах т.д.  
Я, как сисадмин, тоже не раз был вынужден делать все это.  Руками делать это тоскливо и муторно, как вы понимаете. Должен заметить, что по неким "религиозным" убеждениям я всегда старался избегать любых отношений с бейсиком и его производными. Еще мой отец учил меня не иметь с ним никаких дел. Буквально. А теперь я учу своего сына тому же. Но, тем не менее, полностью избежать этого, по всей видимости, невозможно, тем более, что бейсик от M$ сейчас уже далеко не та "лапша", которой он был изначально, а современный структурированный язык, нашедший множество применений. Похоже, что для меня в очередной раз настала пора выучить еще что-то. Знаете, как курильщик много раз безуспешно пытается бросить курить, так и я не раз пытался подступиться к изучению VBScript, но пока никак не одолел. Лень, знаете ли. А инструмент в делах административных был бы весьма пользительный, должен заметить, для быстрого написания всякого рода скриптов.

 
    Внимание   !  !  !  

  • Поскольку данный топ весьма не мал, не забывайте  использовать "версию для печати" для более удобного поиска по теме. А также МЕГА ПОИСКОВИК от NEPa

  • Дабы не раздувать топ,  примеры своих  скриптов  заключаем в тег  "more"

Консольные команды. Командный интерпретатор

Windows Script Host (WSH) &  VBScript  &  JScript


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

    ТOOLS :
  1. Autoit+readme.rus
  2. Scriptologic
  3. AutoMate
  4. KIXTART
  5. nnCron-Планировщик с поддержкой скриптового языка --  РЕКОМЕНДУЮ
  6. WGET, GREP, GETMAIL, BLAT for Windows замечательные консольные утилиты
  7. 4dos/4nt -- отличная замена стандартного коммандного интерпретатора  
  8. JudoScript - java подобный скриптовый язык с исходниками

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI

 
>>HOW -  TO:
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
 Предложения по реформированию шапки принимаю в ПМ Jovanotti

 

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 08:55 13-12-2002 | Исправлено: FreemanRU, 17:29 11-12-2006
alexxxn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 north_crow
надо запустить установку эксча. и выбрать из нее только администрирование.

Всего записей: 20 | Зарегистр. 27-12-2002 | Отправлено: 10:37 14-11-2006
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
north_crow
 
Не парься, запускай на серваке.
Если ексель тя раздражает, перегони его содержимое в текстовик с разделителями.
 
вот те аналог твоего скрипта, тока со чтенияем из файла.
там же всякие штуки в комментах, типа создания ОУ, групп под юзеров, взятия имени файла из параметра командной строки и прочая.
 
Подробнее...
 
да, ещё, скрипт задуман под выполнение из под PrimalScript, поэтому внем полно вызовов WScript.Echo  чтобы видно было процесс
так что юзай cscript вместо wscript, иначе замучаешься окошки закрывать...

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 16:32 14-11-2006 | Исправлено: jONES1979, 16:34 14-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ладно, с удалением выбранных файлов я разобрался.
Теперь стоит задача передать имя папки для архивирования в рар (имя папки постоянно будет разное, поэтому нельзя просто путь в батник записать).
Я попытался сначала записать имя папки в текстовик:
cd >> 1.txt
Но не знаю, как его вернуть в рар:
rar.exe a archive.zip <имя папки>
Подскажите пожалуйста.

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 08:15 15-11-2006
north_crow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 jONES1979 Спасибо!
 
2 All
 
ребята... нужен еще один скрипт...
скрипт для удаления из списка пользователей на локальной машине всех учетных записей кроме доменной.
 
 
 
Добавлено:
2 jONES1979
по поводу приведенного тобой скрипта...
там у тебя разделитель - это запятая.
мне знаки препинания не подходят, т.к. знаки препинания у нас могут входить в пароль...
как поступить в этом случае???

Всего записей: 172 | Зарегистр. 04-12-2002 | Отправлено: 08:59 15-11-2006 | Исправлено: north_crow, 09:05 15-11-2006
Vby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Geduc
А если не
Цитата:
cd >> 1.txt
, а rar.bat <имя папки>,
где rar.bat:

Цитата:
rar.exe a archive.zip %1

 

Всего записей: 781 | Зарегистр. 16-09-2004 | Отправлено: 10:26 15-11-2006
fedmun

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто подскажет скрипт для следующей задачи?:
Outlook сохраняет открытые аттачи в папке %UserProfile%\Local Settings\Temporary Internet Files\OLKxx, где xx - различные комбинации.
Т.к. Outlook не всегда корректно чистит эту папку, необходимо при выходе из системы ее чистить.
Имя папки для каждого пользователя хранится в ключе реестра
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security]
"OutlookSecureTempFolder"
(например "OutlookSecureTempFolder" = "C:\\Documents and Settings\\User\\Local Settings\\Temporary Internet Files\\OLK2\\")
Т.е. надо прочитать значение ключа "OutlookSecureTempFolder" и удалить в этой папке все.
Может кто-то уже делал аналогичное?
p.s. изменение имени папки для всех пользователей на одинаковое для упрощения чистки - не подходит .
Чистка целиком "Temporary Internet Files" - также нежелательна.

Всего записей: 1385 | Зарегистр. 13-06-2002 | Отправлено: 10:48 15-11-2006 | Исправлено: fedmun, 10:51 15-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё такой вопрос:
как из командной строки создать архив (использую я rar.exe) с именем текущей папки и расширением zip, если имя папки неизвестно?
Заранее спасибо! =)

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 11:32 15-11-2006 | Исправлено: Geduc, 11:50 15-11-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Geduc
если нужно только сменить расширение то
move *.rar *.zip
 
а если нужно пожать в зиповом формате, то
тут 2 варианта  
использовать pkzip
либо
использовать ключ - afzip для винрара
типа WinRAR  a  -afzip  arc
НО (из справки) - ключ НЕ поддерживается в консольной версии

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 12:16 15-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uZver, тут проблема не в этом. Винрар в консоли отлично жмёт в zip, просто указав в имени архива *.zip. Проблема в том, чтобы присвоить архиву имя папки, в которой он создаётся.

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 12:22 15-11-2006
Vby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Geduc
Создай bat внутри которого rar с параметрами.
Используй bat <par1> <par2>
Пример: rar.bat archive_name source
rar.bat:
rar.exe a %2 %1

Всего записей: 781 | Зарегистр. 16-09-2004 | Отправлено: 12:38 15-11-2006
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
north_crow
 
используй любые другие разделители

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 12:46 15-11-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Geduc
папки одного уровня?
или типа
папка1 - папка2 - нужная папка
и  
папка1-папка2-папка3-нужная папка
 
Добавлено:
если папки одного уровня
например 2,т.е например c:\1\{2,3,...х}
то вот  

Код:
FOR /F "tokens=2-25 delims=\" %%i IN ("%CD%") DO rar a %%j *.*

если 3, т.е. c:\1\2\{3,4,6...х}, то надо вместо%%j, поставить %%k, и так  далее  
 
Добавлено:
+ для первого уровня %%i

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 14:25 15-11-2006 | Исправлено: uZver, 14:51 15-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё сделал, всем спасибо! =)
 

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 15:01 15-11-2006
VovaMozg



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
north_crow
у меня скрипт на vbs, который адаляет все профили в папке Documents and Settings кроме папок All Users, Default User, LocalService, NetworkService, Администратор. Ну в принципе сам смотри. Можно поставить условие другое
 
'comp_name.txt - файл, в котором находятся имена машин, с которых нужно удалять, он 'лежит рядом со скриптом, но можно поместить его хоть куда...
'Выносим профили
file_computer_name="comp_name.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile(file_computer_name)
Set TextStream = File.OpenAsTextStream(1)
While Not TextStream.AtEndOfStream
 'Имя компутера берём из файла  
  computer_name=TextStream.ReadLine()  
  path="\\"+computer_name+"\c$\Documents and Settings\"
  'проверяем - существует ли такой путь
  if (FSO.FolderExists(path) = true) then  
   'Смотрим все подкаталоги
    Set Folder = FSO.GetFolder(path)
    For Each SubFolder In Folder.SubFolders
     folder1=SubFolder.Name
     if folder1<>"All Users" and folder1<>"Default User" and folder1<>"LocalService" and folder1<>"NetworkService" and folder1<>"Администратор" then
      folder1=path+folder1
       if (FSO.FolderExists(folder1) = true) then  
        Set folder_for_delete = FSO.GetFolder(folder1)
        folder_for_delete.Delete(True)
       else MsgBox "Путь "+folder1+" не найден"  
       end if
     end if  
    Next
  end if
Wend
TextStream.Close
 
 
Надеюсь помог

Всего записей: 761 | Зарегистр. 02-06-2005 | Отправлено: 19:41 15-11-2006 | Исправлено: VovaMozg, 19:42 15-11-2006
north_crow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 VovaMozg
я наверно неправильно задал вопрос...
мне не нужно удалять папки с профилем... мне нужно удалить учетные записи с локального компа кроме админа и доменной записи...

Всего записей: 172 | Зарегистр. 04-12-2002 | Отправлено: 00:05 16-11-2006
MONEYMDF

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Покажите, пожалуйста, как должен выглядеть VBscript для автологина.
 
Программка, запускаемая в WindowsXP, выводит окошко для ввода логина и пароля.
 
Хотелось бы иметь возможность автоматического заполнения этой формы при ее появлении. Ну или ее заполнения путем запуска скрипта из бат-файла.
 
Название окошка "Идентификация пользователя"
Название поля для логина "Введите ваш логин"
Название поля для пароля "Введите ваш пароль"
 
Выручите, пожалуйста, кто знает.
 

Всего записей: 1 | Зарегистр. 16-11-2006 | Отправлено: 00:40 16-11-2006
Stranger2000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, Администраторы!
 
Возникла нетривиальная задача. Самостоятельно решить знаний не хватило, хотя я честно гулял по многим ссылками и учитался всякой информацией практически до раздвоения личности
 
ситуация:  
 
есть сеть, есть домен вин2к. Сеть 100+ машин.  
Подавляющие большинство профилей пользователей - перемещаемые.  постоянные профили, как водится, только у командования.  
 
На предприятии постоянная текучка кадров - каждый месяц кто-то уходит, кто-то приходит. Такова специфика - жруналисты, еклмн. Поскольку профили не привязаны к машинам, то уволившийся сотрудник оставляет за собой хвосты почти на всех машинах в виде локальных копий профилей. А хотелось бы, чтобы все копии профилей после удаления учетной записи из домена удалялись со всех машин. Хотелось бы узнать - возможно ли написать скрипт, который будет работать примерно по следующему алгоритму:
 
сам скрипт хочется повесить на вход пользователя домена в систему.
 
что должен делать:
хватает SID и Login всех живых и не заблокированных пользователей из АД.
сравнивает этот список со списком профилей на конкретной машине (где выполняется скрипт)
при условии, если есть одинаковые SID, но нет одинаковых login-name, привязанных к этому SID = учетная запись убивается.  
 
по русски: если в домене пользователя нет - копию профиля убиваем.
====
воть. надеюсь к решению задачки подошел с той стороны, жаль только что в скриптах не шарю. но если вы вдруг знаете, как эту проблему решить проще - я буду только рад. а то парит шарится по всем компам в отделах и убивать профили людей, которые уже год как не работают.  

Всего записей: 33 | Зарегистр. 31-10-2006 | Отправлено: 04:11 16-11-2006 | Исправлено: Stranger2000, 04:12 16-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, возникла ещё одна задача.
Возможно ли написать батник, чтобы он при запуске выдавал сообщение:  
"Введите имя:", а потом введённое с клавиатуры имя записывал в файл?
Заранее спасибо!

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 08:20 16-11-2006
Rurik



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Geduc

Код:
 
set /P VAR= ВВЕДИТЕ ...
echo %var% >file
 

Всего записей: 343 | Зарегистр. 07-05-2002 | Отправлено: 09:25 16-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rurik, О! спасибо большое, отлично работает!
Но в процессе работы возник ещё один вопрос. Пишу:

Код:
 
set DATE=%2
echo Created        : %date% 11:00>>%OUTPUTFILE%
 

А в готовом файле получаю:

Код:
Created        :—в 16.11.2006 11:00

Как убрать это "-в"?
И ещё.. разобрался, как вставить время, но %TIME% вставляет время вплоть до милисекунд, а мне нужны только часы и минуты, как это возможно сделать?
Вроде можно использовать %PATH с какими-то параметрами, которая выводит только определённое кол-во знаков, но пока с этим не разобрался.

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 09:45 16-11-2006 | Исправлено: Geduc, 10:03 16-11-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru