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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
FreemanRU



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

Цитата:
Прописывает IP, Маску подсети, Default Gateway (не знаю что это).


Код:
 
netsh interface ip set address name="Local Area Connection" source=static addr=10.5.0.221 mask=255.255.255.0  
netsh interface ip set address name="Local Area Connection" gateway=10.5.0.1 gwmetric=0  
netsh interface ip set dns name="Local Area Connection" source=static addr=10.4.0.121 netsh interface ip add dns name="Local Area Connection" addr=10.4.0.15 index=2  
netsh interface ip set wins name="Local Area Connection" source=static addr=none  
 


Цитата:
Затем включает пользователя Guest, если он не включен  


Код:
 
net user Guest /active:yes
 


Цитата:
и прописывает такую-то рабочую группу (ну, которую я задам).

А вот тут я подъофигел.... Потому как как работать с "net config workstation" я так и не понял
 
 
 
Добавлено:
Alan Mon
я долго искал как рабочую группу сделать

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 21:52 15-07-2005 | Исправлено: FreemanRU, 21:58 15-07-2005
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
larryOnOff
Сетевые настройки можно сохранить из командной строки:
netsh dump > файл
и восстановить обратно:
netsh exec файл
Сначала настраиваешь одну конфигурацию, сохраняешь. Затем настраиваешь другую и опять сохраняешь в другой файл. Теперь из командных файлов можно оперативно менять конфигурацию. А можно не сохраняя в файлы менять параметры по отдельности.
 
Для работы с пользователями можно использовать стандартную команду net (смотри net user help)
 
Добавлено:
Пока писал, уже ответили

Всего записей: 3215 | Зарегистр. 09-02-2003 | Отправлено: 22:10 15-07-2005
larryOnOff



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ооо. Вот спасибо. Будем пробовать.

Всего записей: 453 | Зарегистр. 16-12-2004 | Отправлено: 11:28 16-07-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопрос такой:
Почему  
odbcconf configsysdsn "sql server" ....
не принимает UID и PWD ?

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 14:31 18-07-2005 | Исправлено: FreemanRU, 14:33 18-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreemanRU
зависит через какого провайдера работаешь, у разных провайдеров название этих полей может отличаться. Напр,
 
SQL ODBC connection strings
"Driver={SQL Server};Server=Your_Server_Name;Database=Your_Database_Name;Uid=Your_Username;Pwd=Your_Password;"
 
SQL OLE DB connection strings
"Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog=Your_Database_Name;User Id=Your_Username;Password=Your_Password;"  
 
как видишь, во втором случае используется не "uid/pwd", а "User Id/Password"
 
если же речь действительно идет об ODBC, то он должен брать именно "uid/pwd", если не стоит "Trusted_Connection=yes"
 
приведи полную строку, тогда будет яснее о чем идет речь (настоящий пароль естественно не нужен)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 14:48 18-07-2005 | Исправлено: AlexSSS, 14:52 18-07-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexSSS
Я ж специально указал драйвер: "sql server".
Похоже разобрался - при создании DSN для MSSQL действительно не принимается UID/PWD, т.к. не хранится в системе. А вообще голяк - хелпа по odbcconf вообще нету. Если бы не опыт програмирования - не знаю чего бы делал.
 
Для будущих поколений:
SQL-аутинтификация

Код:
 
odbcconf /a {configsysdsn "SQL Server" "DSN=sql-connect|SERVER=server.mydomain.local|trusted_connection=no"} /Lv c:\log.log
 

Win-аунтентификация

Код:
 
odbcconf /a {configsysdsn "SQL Server" "DSN=sql-server|SERVER=server.mydomain.local|trusted_connection=yes"} /Lv c:\log.log
 

 


----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 15:47 18-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreemanRU
я вообще не знал, что такая  odbcconf есть ;o)
писал просто про connection string
 
работать через connectionstring получается гораздо практичнее - не надо заморачиваться созданием DSN
Если же интересует создание DSN из кода, могу посмотреть свои старые проги, раньше я именно так и делал
 
похоже я был не прав - я действительно создавал DSN из кода через SQLConfigDataSource IN odbccp32.DLL
Но учетную запись-пароль передавал уже позже из проги.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:52 18-07-2005 | Исправлено: AlexSSS, 16:06 18-07-2005
Klesk



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Как автоматически (из командной строки) задать полное имя локальному пользователю (не пользуясь lusrmgr.msc)?
 
2. Как с бОльшей точностью автоматизированно получить список компьютеров с Windows 9х, как включенных в домен, так и находящихся в рабочих группах локальной сети (в обоих случаях есть компьютеры, административный доступ к которым в силу ряда причин отсутствует). Ищу альтернативу сканирования сети программой Net View.

Всего записей: 208 | Зарегистр. 19-10-2003 | Отправлено: 19:40 20-07-2005
Smitis



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

Цитата:
1. Как автоматически (из командной строки) задать полное имя локальному пользователю (не пользуясь lusrmgr.msc)?

см. net help user
а конкретно
net user пользователь /fullname:"полное_имя"

Всего записей: 3215 | Зарегистр. 09-02-2003 | Отправлено: 22:29 20-07-2005 | Исправлено: Smitis, 22:54 20-07-2005
WereWolf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможен ли запуск скрипта vbs из скрипта же vbs с правами другого пользователя?
и можно ли этому скрипту передать параметр?
Поясняю. Ноги растут отсюда: http://forum.ru-board.com/topic.cgi?forum=8&topic=8563&start=#17
Решения вопрос так и не получил. Проблема в том, что при запуске скрипта от имени пользователя он не выполняется по недостатку прав (а давать им эти права совершенно не хочется). При запуске же от имени администратора теряется имя пользователя.
 
В скриптах понимаю крайне мало, но если возможен такой вариант:
 
if username=user1 then
   runas /user:admin script2.vbs 192.168.0.101
end if
if username=user2 then
   runas /user:admin script2.vbs 192.168.0.102
end if
 
проблема бы решилась...
(сорри за смесь vb и cmd)
 
Можно, конечно, запускать скрипты из bat, но тогда пароли будут лежать в открытом виде, а скрипт можно хотя бы зашифровать.

Всего записей: 33 | Зарегистр. 28-10-2002 | Отправлено: 10:51 22-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> Возможен ли запуск скрипта vbs из скрипта же vbs с правами другого пользователя?  
запуск того же RUNAS из VBS
RunAs не берет пароль из командной строки, но скриптом это решается - скрипт запускает RunAs, а чуть позже передает туда пароль, как бы набранный с клавиатуры.
Есть еще вариант - использовать PsExec от SysInternals - утилита позволяет из командной строки запускать процессы под именем любого пользователя (и даже на удаленном компьютере)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 11:28 22-07-2005
WereWolf

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

Цитата:
скрипт запускает RunAs, а чуть позже передает туда пароль, как бы набранный с клавиатуры

а как, простите, это сделать?

Всего записей: 33 | Зарегистр. 28-10-2002 | Отправлено: 11:52 22-07-2005
FreemanRU



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

Код:
 
Set Shell = WScript.CreateObject("WSCript.Shell")  
WScript.Sleep 100
Shell.SendKeys "ThisIsMyPassword"
WScript.Sleep 100
WshShell.SendKeys "{ENTER}"
 


----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 12:04 22-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> а как, простите, это сделать?
подобный пример с микрософта
http://www.microsoft.com/technet/scriptcenter/solutions/appcompat/scenario2-vbs.mspx
 
большую часть выбрасываешь

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 12:43 22-07-2005
FreemanRU



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

Цитата:
The user must enter the local Administrator password

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

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 12:50 22-07-2005 | Исправлено: FreemanRU, 12:51 22-07-2005
WereWolf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, попробую...
А насчет передачи параметра в скрипт?

Всего записей: 33 | Зарегистр. 28-10-2002 | Отправлено: 12:53 22-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ой,это я не посмотрел до конца, что делает скрипт.
сейчас найду рабочий вариант
 
Добавлено:
рабочий вариант с RunAs
 
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:domain\user notepad"
WScript.Sleep 100
WshShell.Sendkeys "password~"

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 12:57 22-07-2005
FreemanRU



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

Цитата:
А насчет передачи параметра  

А какие парметры? Если ты о имени пользователя, то ничего передовать не надо, прям используй %username%

Код:
 
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WScript.Echo WshShell.ExpandEnvironmentStrings("%Username%")
 

 
Добавлено:
AlexSSS
Опять же - см. мой предыдущий пост. Надо выводить логон скрипт на экран.

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:13 22-07-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreemanRU
> Опять же - см. мой предыдущий пост.
> Надо выводить логон скрипт на экран.
не понял.
WshShell.Run "runas /user:domain\user notepad" уже выведет окно дос промта на экран на доли секунд. Командную строку с именем пользователя еще можно разглядеть, но пароль увидеть все равно нельзя.
 
Или хочется, чтобы на экран вообще ничего не выводилось? Слету могу предложить только использование PSEXEC

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:28 22-07-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexSSS
Изначально у WereWolf стояла задача прикрутить это дело в логон-скрипт.
 
Но если этот скрипт установить в кач-ве логонного, то он не сработает, т.к. пароль некуда будет вводить. Вот и говорю, что надо в политике безопасноти править способ отображения логон-скриптов.


----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:42 22-07-2005
   

Страницы: 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