Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Автоматизация администрирования. Часть 2

Автор: dub_derevo
Дата сообщения: 24.11.2009 17:47
Всем спасибо, с проблемой справился))
Проблема таки в кодировке была))
Автор: Attid
Дата сообщения: 25.11.2009 18:11
а можно как нибуть из cmd скрипта сделать замену строки в текстовом файле ?
номер строки известен, но желательно к нему не привязываться.
Автор: GRom_V
Дата сообщения: 27.11.2009 02:54
Подскажите - как можно создать командой пустой документ WordPad, с расширением rtf.
Пустой текстовый можно так - echo.>>~.txt
Но echo.>>~.rtf - гон!?
Автор: monsoon
Дата сообщения: 27.11.2009 10:34
GRom_V
У rtf-файла есть структура. Проще всего сделать так: в WordPad создай новый документ, выстави шрифт, размер и набор символов, какие нужны чтоб высталялись при открытии документа и сохрани. Открой файл в Блокноте и эту строку вставляй в echo, например:

Код: echo {\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}} \viewkind4\uc1\pard\f0\fs20\par }>qqq.rtf
Автор: brizerr
Дата сообщения: 28.11.2009 07:30
Перейду сразу к делу. Инет под рукой не на долго, так что прошу не пинать, а помочь. Очень нужно. И так, есть Винда ХР сп2 на ней установлен pgadmin3 и cygwin. Пароль администратора забыли и по этому нет возможности изменять системные настройки винды! Как получить доступ администратора? Что ни делаю, не получается, везде обламывает с доступом, даже в безопастном режиме. Комп не в домене.
Автор: Attid
Дата сообщения: 28.11.2009 10:33
brizerr
загрузится с Hirent`s boot CD и скинуть пароль локального админа.
Автор: dmitrytkachev2008
Дата сообщения: 28.11.2009 10:48
Как автоматизировать удаление всех файлов из определенной папки по расписанию?
Система windows 7
Автор: vicwanderer
Дата сообщения: 29.11.2009 21:49
Есть w2k3 домен. Есть WXP рабочие станции
скрипт
Set wShell = CreateObject("WScript.Shell")
wShell.Run "regedit.exe /s \\mydomain\NETLOGON\123.reg",0,True
установлен через групповые политики на логон пользователя в систему. Когда пользователь логонится в систему ему выдается запрос типа "Вы хотите внести данные в реестр?". Как сделать так, что бы этот вопрос не задавался, а данные вносились в реестр автоматически?
Автор: d0r0fey
Дата сообщения: 29.11.2009 22:35
можно ещё работать с реестром через StdRegProv

когда просто сценарий прописать
имя: regedit
параметры: /s 123.reg
тоже спрашивает?
Автор: YNY
Дата сообщения: 30.11.2009 11:45

Цитата:
vicwanderer

regedit всегда будет спрашивать, тока используя скрипт мона избавиться от вопросов! Примеры см на ср ранее или в шапке: там где "Подробнее..."
Автор: el_verdugo
Дата сообщения: 03.12.2009 07:53
dmitrytkachev2008
Вариантов несколько
Запускать скрипт через
1. nncron
2. Использовать стандартный планировщик Windows
Минусы: на админе обязательно должен быть пароль
Плюсы: фиолетово на перевод времени
2. Утилита AT или через WMI Job(Win32_ScheduledJob)
Минусы: при переводе времени - сбивается
не редактируется
Плюсы: запускается от имени системы(фиолетово на присутствие пароля администратора)
4. Написать скрипт - монитор

vicwanderer
Может, стоит напрямую через скрипт обращаться к реестру?
Set wShell = CreateObject("WScript.Shell")
regKey = wShell.RegRead ...
If Err.Number <> 0 Then
'...
Err.Clear
'...
End If
wShell.RegWrite ...
Автор: Lovec
Дата сообщения: 03.12.2009 15:42
Народ!

Есть желание записывать через в БД скрипт логона информацию о логине пользователей в домене (имя компа, юзера, ip и т.д.). На текущий момент скрипт написан на AutoIt, а в качестве БД испольуется файл XML. При попытке одновременной записи в него файл оказывается заблокирован для второго и следующих пользователей и это не удобно. Есть желание писать в MySQL.

Вопросы:
1) Кто какую БД использует для этих целей?
2) Щас для записи информации в MySQL требуется сначала установить на клиентском компьютере Connector ODBC v5.1, а очень хочется писать без установки дополнительного софта. Видел примеры как в MySQL пишут через API на С, а как это сделать на AutoIt - не знаю . Может кто посоветует что?

Спасибо.
Автор: Attid
Дата сообщения: 03.12.2009 22:43
Lovec
писать инфо в файл а потом его парсить и заносить в любую БД.
у меня писались в батнике через echo %uswrname%>>file вроде без конфликтов.
Автор: el_verdugo
Дата сообщения: 04.12.2009 01:46
Lovec
Как вариант, писать во временный xml файл, а потом скидывать в один...
...или писать в бд access, примеров в сети достаточно находил...
Автор: ShafMAN
Дата сообщения: 06.12.2009 20:25
Хочу проверить наличие активного подключения через rasdial:

Код:
var aa =WshShell.Run ("rasdial | find \"nameconnection\"",0,true);
Автор: Refugee
Дата сообщения: 06.12.2009 22:57
ShafMAN

Код:
var aa =WshShell.Run ("cmd /c rasdial | find \"nameconnection\"",0,true);
Автор: ShafMAN
Дата сообщения: 07.12.2009 04:27
Refugee
Спасибо, не догадался.
Автор: YNY
Дата сообщения: 07.12.2009 05:26

Цитата:
Lovec

скажи, а зачем изобретать велосипед когда, при наличии АД на серваке или в журнал безопасности на компе, в соотв журнал пишется данная инфа??? Хорошо, что ты в докторы не пошел, а то аж оторопь берет: как представлю твой подход к лечению больных!!!
Автор: strani
Дата сообщения: 07.12.2009 09:19
Не бейте сильно, если данные вопросы уже обсуждались Есть несколько вопросов к знающим.

1. Как на локальной машине скопировать профиль администратора в профиль по умолчанию? Имеется в виду, как это сделать не ручками.

2. Как на удаленной машине скопировать профиль администратора в профиль по умолчанию? Имеется в виду, как это сделать не ручками.

3. Как на удаленной машине установить программу (exe или msi), которая что-то пишет в системные папки, а что-то в папки пользователей? Возьмем для примера Tоtal Commander. При установке свои программные файлы он хранит в Program Files, настройки (wincdm.ini) в профиле пользователя, местоположение настроек в реестре пользователя. Придираться не надо, это просто пример. Хотелось бы, чтобы при установке программы (именно установке, разовой, а не при логоне пользователя) пользовательские настройки прописались бы во всех существующих на машине профилях. Вроде что-то подобное делается во время установки vmWare Worksatation (ярлык быстрого запуска прописывается во все профили), поэтому мне кажется, что это возможно. Пока я все пользовательские настройки делал или по методу в вопросе 1 или прописывал в скрипте подключения пользователя.
Автор: Varset
Дата сообщения: 07.12.2009 11:41

1. Навскидку, как-то так:
set defprof="C:\Documents and Settings\Default User"
set adminprof="C:\Documents and Settings\Администратор"
rem -- создаем копию дефолтного профиля, на всякий случай ---
md %DEFPROF%.1
shadowcopy.exe %DEFPROF% %DEFPROF%.1 /s /i /y /r
rem -- удаляем дефолтный профиль и создаем новый, с содержимым админского
rd %defprof% /S /Q
start /min shadowcopy.exe %adminprof% %defprof% /s /i /y /r
attrib +H %defprof%

Прога Shadow Copy позволяет скопировать открытые системные файлы, в том случае, когда требуется перенести файлы учетки, будучи залогиненным в ней же.


2. Используй пакет утилит PsTools от Марка Руссиновича, в частности утилитку psexec.exe, примерно так:
pxexec.exe -c \\computer\вышеописанный_батник.cmd

И непременно с ключом -c.

3. Можешь установить программу в All Users, обычно при установке проги она позволяет выбрать, как ставить - для текущего пользователя или для всех. Тебе надо посмотреть ключи установки программы, для пакетов msi очень гибкие настройки установки. Просто запусти устанавливаемую прогу с ключем /? и она тебе все покажет.
Автор: strani
Дата сообщения: 07.12.2009 12:13
Varset
1. shadowcopy где взять? Будут ли в этом способе присвоены нужны права на файлы и реестр профиля по умолчанию?!
3. За совет спасибо, но это не подходит. Мне нужна именно та установка, что я описал.
Автор: Lovec
Дата сообщения: 07.12.2009 12:59
YNY

Цитата:
скажи, а зачем изобретать велосипед когда, при наличии АД на серваке или в журнал безопасности на компе, в соотв журнал пишется данная инфа???


Щас в базу пишется для каждого логина: дата, время, имя пользователя и компьютера, полное имя пользователя, все его IP и MAC адреса, версия ОС и сервис пака. И вся история хранится. Я всегда могу выяснить кто и когда и где логинился. Щас будет еще отслеживаться и изменение в железе. Не думаю что стандартные средства AD мне такое позволят.

А вообще каждый дрочит как он хочет Какая тебе разница какой из меня "дохтор"?..
Автор: Varset
Дата сообщения: 07.12.2009 16:28
strani

1. Лежит совершенно свободно на runtime.org. Права будут присвоены те, от которых ты будешь запускать pstools, но их можно поправить как надо, есть множество способов.

2. Существуют два варианта установки любой программы - для текущего пользователя или для все. И неважно, как она выполняется, удаленно или локально. Чтобы не ставить все руками. делается т.н. silent (unattended) установка, в сценарии которой в том числе и прописывается, как ты собираешься ее ставить. Ты же не сможешь нажимать все кнопки (типа License Agreement - Yes) ручками на удаленной машине, верно?
С другой стороны, если тебе нужно просто раскидать всем ярлыки для запуска, то это совсем элементарно - либо в каталог Quick launch каждого пользователя, либо в All Users - Главное меню.
Автор: strani
Дата сообщения: 07.12.2009 21:01
Varset

Цитата:
Права будут присвоены те, от которых ты будешь запускать pstools, но их можно поправить как надо, есть множество способов.

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

Из графического интерфейса:
На рабочем столе нажимаем правую кнопку мыши на ярлыке "Мой компьютер", выбираем команду Свойства, переходим на закладку Дополнительно, в блоке "Профили пользователей" нажимаем кнопку Параметры, из профилей выбираем профиль неактивного администратора, нажимаем кнопку Копировать, в блоке "Копировать профиль на" пишем "C:\Documents and Settings\Default User", в блоке "Разрешить использование" нажимаем кнопку Изменить, пишем Все, нажимаем копку ОК, в окне копирования профиля нажимаем кнопку ОК.

Как получить ТАКОЙ ЖЕ результат с помощью командной строки?


Цитата:
Существуют два варианта установки любой программы - для текущего пользователя или для все. И неважно, как она выполняется, удаленно или локально. Чтобы не ставить все руками. делается т.н. silent (unattended) установка, в сценарии которой в том числе и прописывается, как ты собираешься ее ставить. Ты же не сможешь нажимать все кнопки (типа License Agreement - Yes) ручками на удаленной машине, верно?

Это все понятно. Но мы все-таки друг друга, похоже, не поняли. Повторю:
Хотелось бы, чтобы при установке программы (именно установке, разовой, а не при логоне пользователя) пользовательские настройки прописались бы ВО ВСЕХ существующих на машине профилях. Я имею в виду как параметры в реестре, так и определенные файлы. Как частный случай,

Цитата:
если тебе нужно просто раскидать всем ярлыки для запуска, то это совсем элементарно - либо в каталог Quick launch каждого пользователя

Как это сделать (автоматически) для ВСЕХ существующих на машине профилей?????????
Автор: el_verdugo
Дата сообщения: 08.12.2009 04:41
strani
Есть утилиты, отслеживающие установку проги:
Какие файлы куда пишет
Какие записи пишет в реестр
Устанавливаешь прогу через подобную утилиту, а дальше пишешь свой скрипт, который делает все тоже самое + то, что тебе нужно или сделай свой инсталлятор в котором будут нужные тебе функции
Как еще один вариант - можно сделать скрипт, который будет делать те дополнительные функции, которые нужны...
Список профилей можно получить через WMI WIN32_Useraccount...
Автор: YNY
Дата сообщения: 08.12.2009 06:55

Цитата:
strani

))))))))))))))))))))))))), ярлык быстрого запуска прописывается во все профили))))))))))))))), однозначно -- зачет!
слуушай тебе лучше для начала почитать про то как усторена WINDOWS и ее реестр на хоть этом oszone.net или этом ресурсе, а уж потом тут вопросы задавать -- это дружеский совет!
Добавлено:

Цитата:
Lovec

да действительно не даром...............
1) у тя все пользователи асоциируются с софтом и железом или ты ярый поклонник матрицы?
2) все его IP... если у тя DHCP то эта инфа тебе врядли сильно поможет в отличии от MAC, который пользователь с соотв правами тоже могет поменять
Автор: strani
Дата сообщения: 08.12.2009 08:43
el_verdugo

Цитата:
Есть утилиты, отслеживающие установку проги

Постоянно такими пользуюсь (больше всего Total Uninstall нравится). Суть-то вопроса не в установке в общий профиль и не в установке в профиль текущего пользователя, а в установке в ПРОФИЛИ (и, если это возможно, РЕЕСТРЫ) всех пользователей.

Цитата:
WIN32_Useraccount

Можешь разжевать про это, с конкретным примером? Я wmi никогда не пользовался...

YNY
Не понимаю, что тут смешного. Если знаешь ответ, как это сделать, ответь лучше!!! Про реестр я знаю достаточно...
Автор: Varset
Дата сообщения: 08.12.2009 09:32

Цитата:
strani


Дружище, не обижайся, но YNY прав, тебе нужно по реестру пройтись... Впрочем, черт с ним, реестром, просто дело в том, что установка в ОБЩИЙ профиль - это и есть установка для ВСЕХ пользователей. Разом во все профили, понимаешь? Поэтому и в реестре существуют отдельные ветки для каждого профиля и общая ветвь для всех профилей. Таким образом, когда ты ставишь программу для всех профилей, ее настройки и параметры прописываются в эту самую общую ветвь, а также в каталог общего профиля (если можно его так назвать), вот сюда: C:\Documents and Settings\All Users.
Поэтому единственное, что тебе нужно выяснить, это с какими ключами программа ставится в режиме "для ВСЕХ пользователей".

Автор: YNY
Дата сообщения: 08.12.2009 10:01
strani

Цитата:
Подраздел DEFAULT, где хранится используемая конфигурация, когда ни один из пользователей еще не вошел в компьютер. То есть мы еще видим приглашение на вход в систему.
Внесение сюда изменений актуально для создания "пропатченного образа винды" дабы после установки все уже было настроено или дабы новые пользователи имели соотв дефолтные настройки -- подробная инфа есть на oszone.net!
Для централизованной установки приложений в домене есть соотв инструменты в виде групповых политик на локальных компах тоже есть такое, но несколько в обрезанном виде!
Если ты достаточно знаешь про реестр, то должен знать, что:
Цитата:
В Windows XP конфигурация пользователя по умолчанию (default user profile) не хранится в системном реестре. Она находится на системном диске в файле \Documents and Settings\Default User\Ntuser.dat.
, т.о. внеси на своем компе все нужные изменения, пепенеси на дефолтный профиль и затем залей по машинам его и проги в соотв папки -- должно ИМХО проканать но тока ск всего для тех кого ты создаш потом а не сейчас, для них тупо пользуйся советом выше про то, куда чего пишется при инсталлинге. Если у тя <=20 компов то не ленись и сделай руками!
Все описанные мной операции, как-то: запись в реестр и копирование из шар, в общем смысле, уже излогались на сраницах данного форума ранее -- пожалса исчи!
Автор: strani
Дата сообщения: 08.12.2009 20:19
Varset
Это все понятно, что ты написал. Но НЕ все программы хранят настройки в общем профиле. Согласен? Примеры: Total Commander, The Bat. Данные проги хранят настройки у каждого пользователя отдельно. Вот меня и интересует (в одном из вопросов), можно ли залить подобные настройки автоматом или нет.

YNY
Профилем Default я постоянно пользуюсь, но в том и дело, что это годится, если профили пользователей еще не созданы. Я изначально в вопросе поставил задачу по другому: как залить настройки в уже СУЩЕСТВУЮЩИЕ профили.

Господа, давайте я повторю свои вопросы.

1.
Из графического интерфейса:
На рабочем столе нажимаем правую кнопку мыши на ярлыке "Мой компьютер", выбираем команду Свойства, переходим на закладку Дополнительно, в блоке "Профили пользователей" нажимаем кнопку Параметры, из профилей выбираем профиль неактивного администратора, нажимаем кнопку Копировать, в блоке "Копировать профиль на" пишем "C:\Documents and Settings\Default User", в блоке "Разрешить использование" нажимаем кнопку Изменить, пишем Все, нажимаем копку ОК, в окне копирования профиля нажимаем кнопку ОК.

Как получить ТОЧНО ТАКОЙ ЖЕ результат с помощью командной строки? Есть готовое решение?
Так, похоже решение найдено! Это утилита под названием CopyProfile от Microsoft. Может быть загружена по адресу: http://www.microsoft.com/downloads/details.aspx?FamilyID=ed182a96-f3a6-4fdd-862b-1ae03dc130c1&DisplayLang=en
Возможно, эта инфа кому-то пригодится. Я сам подобную прогу искал несколько лет

2.
Как с помощью командной строки выполнить копирование определенной папки с файлами во все существующие на компе профили? Не в DEFAULT, не в ALLUSERS, а именно в профили пользователей? Опять же, наверно, существует готовое решение? Как я понимаю, с помощью групповых политик это не сделать!?

3.
Как с помощью командной строки выполнить копирование определенной ветки реестра во все существующие на компе профили? Не в DEFAULT, не в ALLUSERS, а именно в профили пользователей? Вообще возможно ли это?

P.S. В принципе, для вопросов 2 и 3 существует решение (я им частично пользуюсь), когда в скрипте пользователя прописывается заливка рег-файла или копирование файлов, но, соответственно, процесс запускается для данного конкретного пользователя, когда он логинится в систему. Меня интересует, существуют ли другие решения, когда настройки прописываются по моей команде и не зависят от того, залогинен пользователь, или нет.
P.S.S. Мне без разницы, требуется ли умный скрипт для решения или существует какая-то умная прога, позволяющая это сделать.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.