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

» Автоматизация администрирования

Автор: BigPtica
Дата сообщения: 05.09.2006 09:55

Цитата:
а чем не устроил ответ Refugee

я не понял, он ответил или послал.
спасибо за комментарии. Проблема в том, что у меня win2000, а там я такую феньку не нашёл.

В скриптцентре нашёл как сбросить logonHours, а как его прочитать - примера не нашёл. при запросе типа этого свойства выдаёт 204, что это?

в общем, пока ни с чем не справился (
Автор: PerpleXOR
Дата сообщения: 05.09.2006 10:04
Не удается применять reg-файлы удаленно на компьютеры. Использую psexec, пишу такую команду:
psexec -d \\532-12 -s cmd " /c regedit c:\ie.reg"

и не получается ничего. Почему ?
Автор: uZver
Дата сообщения: 05.09.2006 10:37
BigPtica
sc.exe
В WinXP она включена по умолчанию, а для Win2000 входит в пакет Win2k Resource Kit.
{ИМХО: можно попробовать просто скопирвать из XP}

PS: вот только sc.exe http://slil.ru/23092190 (~25кб)
а вот тут полный Resource Kit: URL http://winfaq.com.ru/soft/rk/ResourceKit.rar (~40мб)
Автор: Jovanotti
Дата сообщения: 05.09.2006 11:03
PerpleXOR
Ну для начала нужно залогинится на удаленную машину.
Что бы гарантированно psexec отработала вначале строкой
net use r: \\%1\admin$\system32 /user:%2 %3

% -- парам комм. строки
Автор: PerpleXOR
Дата сообщения: 05.09.2006 12:11
Jovanotti
а что за параметры %2 и %3 ?

вообще psexec работает и так, например
psexec -i \\532-15 -d cmd запускает командную строку

Добавлено:
Jovanotti
кстати я включен в группу AdminPC на домене и потому имею права админа на машинах
Автор: Jovanotti
Дата сообщения: 05.09.2006 12:35
PerpleXOR
ну тогда ОК

Цитата:
а что за параметры %2 и %3 ?

а ты как думаешь ?
net use /?

эта строчка взята из батника в качестве паремтров которого стоят:

batnik.cmd compname_to_logon username_to_logon pass_to_logon
Автор: Baloven1
Дата сообщения: 05.09.2006 13:00
народ подсобите... не могу понять как на VBS закачть файл html с интернета?с конкретного адреса?
Автор: PerpleXOR
Дата сообщения: 05.09.2006 13:15
Jovanotti
сделал как ты посоветовал, сначала
net use r: \\532-14\admin$\system32 /user:perplex bla-bla-bla
затем
psexec -s \\532-14 -d cmd " /c regedit c:\ie.reg"

и снова ноль результатов.

на всякий выкладываю [more=содержимое reg-файла]Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main]
"Default_Page_URL"="about:blank"
"Start Page"="about:blank"

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="about:blank"
"Search Page"="about:blank"
[/more]
Автор: mozers
Дата сообщения: 05.09.2006 13:28
Baloven1
http://forum.ru-board.com/topic.cgi?forum=33&topic=1491&start=100#12
Автор: tedhome
Дата сообщения: 05.09.2006 14:23
VBS. Народ, подскажите Pls как из текстового файла вывести текст определенного номера строки. Пока получилось только выводить последнюю строчку в тексте. А по номерам никак не получается.

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("work.txt", 1)
Do Until objTextFile.AtEndofStream
strNextLine = objTextFile.Readline
arrServiceList = Split(strNextLine, ",")
k = arrServiceList (0)
For i=1 to Ubound(arrServiceList)
k = arrServiceList (i)
Next
Loop
Set f = objFSO.OpenTextFile("edit.txt", 2, True)
f.write k
f.close
objTextFile.close
Автор: unhappy
Дата сообщения: 05.09.2006 15:15
tedhome
Не понял. Наверное примерно так:

Код: a = 29 ' Здесь номер требуемой строки
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("work.txt", 1)
b = 1
Do Until objTextFile.AtEndofStream
c = objTextFile.Readline
if a = b then d = c
b = b + 1
Loop
if a >= b then d = "Запрошена строка #"&a&". В файле всего "&b-1&" строк."
Set f = objFSO.OpenTextFile("edit.txt", 2, True)
f.write d
f.close
objTextFile.close
Автор: tedhome
Дата сообщения: 05.09.2006 15:29
Спасибо ограменное! Именно так. Спасибо!
Автор: kabolt
Дата сообщения: 05.09.2006 17:28
написал скрипт на vbs для автоматичекого прописывания юзеров в ад, создание каждому своей папки. и тд. пользуясь разными примерами.

но вот не смог создать автоматический шаринг папки, которая создается (папка нужна для обмена)
Автор: urel
Дата сообщения: 05.09.2006 22:46
kabolt
а зачем тебе ее шарить? 1000 юзеров => 1000 шар?
шарь уровнем выше...
а cacls выдавай пермишины на созданую папку
Автор: nlssnlss
Дата сообщения: 06.09.2006 08:22
А как ВСЕМ пользователям в определенном OU поменять скриптом, к примеру название отдела? Кто поможет
Автор: urel
Дата сообщения: 06.09.2006 11:08
nlssnlss
Посмотри в ADSI какое поле менять, а в скрипт центре как.
и/или
dsquery /?
dsmod user /?

вроде такого dsquery user "dc=domain,dc=com" | dsmod user -dept "dept"


Добавлено:
и/или в ADUC выделяеш всех - Properties - Organization
Автор: nlssnlss
Дата сообщения: 06.09.2006 12:33
не получается. А в АДУКе - непонял, как.
Автор: urel
Дата сообщения: 06.09.2006 12:45
nlssnlss
А прав хватает? контейнер правильно указал? хелп читал? что пишет?
Возьми DN пользователя и примени dsmod user

Active Directory Users and Computers
Автор: nlssnlss
Дата сообщения: 06.09.2006 13:03
Вот в OU изменять получается ? а как со всеми пользователями в этом OU быть?

Const ADS_PROPERTY_UPDATE = 2

Set objContainer = GetObject _
("LDAP://ou=Manager,ou=UPK,dc=test,dc=ru")

objContainer.Put "street", "Улица" & vbCrLf & "С новой строки еще что-то"
objContainer.Put "l", "Город"
objContainer.Put "st", "Штат"
objContainer.Put "postalCode", "Индекс"
objContainer.Put "c", "RU"
objContainer.PutEx ADS_PROPERTY_UPDATE, _
"description", Array("Чего такое")
objContainer.SetInfo
Автор: urel
Дата сообщения: 06.09.2006 14:36
nlssnlss

Чего творят фины...


Цитата:
On Error Resume Next

Set objOU = GetObject("LDAP://ou=Employees,dc=domain,dc=com")
objOU.Filter = Array("user")

For Each objUser in objOU
Wscript.Echo objUser.DisplayName
Set objUser = GetObject("LDAP://"& objUser.distinguishedName )
objUser.Put "department", "tester"
objUser.SetInfo
Set objUser = Nothing
Next


аналогично в одну строчку:

Цитата:
dsquery user "ou=Employees,dc=domain,dc=com" | dsmod user -dept "tester"
Автор: nlssnlss
Дата сообщения: 06.09.2006 14:52
UREL спасибки большое

Добавлено:
Только компы в OU тож меняет
Автор: urel
Дата сообщения: 06.09.2006 18:17
nlssnlss
мухи отдельно - котлеты отдельно!

ну а если не катит - дырку залепить можно напрмер так:
Цитата:
NotComp=True
For Each oClass In objUser.objectClass
    If LCase(oClass )="computer" Then NotComp=False
Next
If NotComp Then
    Wscript.Echo objUser.distinguishedName
End If


Автор: nlssnlss
Дата сообщения: 07.09.2006 06:51
Куда вставить, чёт не срабатывает
Автор: tedhome
Дата сообщения: 07.09.2006 08:26
Нужна электронная книга-учебник по VBS и WSH желательно на русском!
И что хорошего по данному вопросу можно прикупить в бумажном виде?
Не могу решить слудующую задачу:

Есть папка с множество файлов c расширением eml. Как содержимое всех файлов c их именами записать в один файл txt? Очень нужно, pls!
Автор: pav
Дата сообщения: 07.09.2006 08:36
Возможно ли при помощи скрипта разлогинить всех находящихся в системе пользователей? AD не используется. Все пользователи входят через терминальные соединения. Сервер 2000. Требуется для проведения архивации баз, что невозможно, если часть файлов держат пользователи. Перезагруз - не подходит. Нужен именно скрипт или что-то ещё, чтобы выполнять по расписанию.
Автор: freegate
Дата сообщения: 07.09.2006 10:21
Так покрайней мере завершаются сеансы в терминальнике у меня, обязательное у меня условие сеансы бухгалтерии остаются висеть

REM Здесь обрабатываем рабочие сеансы, кроме текущего сеанса
For /F "eol=> skip=1 tokens=1,3 delims= " %%i in ('query user ^| Find "rdp-tcp"') Do @Call :splitgroups "%%i" "%%j"
    Goto :end1
:splitgroups
    Set UNT=%1
    Set UNT=%UNT:"=%
    Set USNT=%2
    Set USNT=%USNT:"=%
    REM Если не бухгалтерия сбрасываем
    IF NOT %UNT%==buh IF NOT %UNT%==gb-sks Logoff %USNT%
    Goto :EOF
:end1
REM Здесь обрабатываем отключенные сеансы, кроме текущего сеанса
For /F "eol=> skip=1 tokens=1,2 delims= " %%i in ('query user ^| Find /V "rdp-tcp"') Do @Call :splitgroups "%%i" "%%j"
    Goto :end2
:splitgroups
    Set UNT=%1
    Set UNT=%UNT:"=%
    Set USNT=%2
    Set USNT=%USNT:"=%
    REM Если не бухгалтерия сбрасываем
    IF NOT %UNT%==buh IF NOT %UNT%==gb-sks Logoff %USNT%
    Goto :EOF
:end2
rem тут пишеш архивацию
Автор: pav
Дата сообщения: 08.09.2006 08:32
freegate
Мну несколько легче должен быть скрипт - нужно вырубать всех!!! Дело в том, что отрабатывать он должен ночью, когда никого нет. Кстати, запуск пошедулерй от имени пользователя с админскими правами считается за выполнение в сеансе этого пользователя?
ЗЫ: архивация идёт отдельным средством.
Автор: veryom
Дата сообщения: 08.09.2006 11:02
tedhome

Создаём два файла скрипта

Первый файл write.cmd


Код: @echo off
echo. >> %1
echo %2 >> %1
echo. >> %1
more %2 >> %1
Автор: Yourbill
Дата сообщения: 08.09.2006 11:20
pav
Вот вырезал кусок со своего бат-файла. Выбери, что тебе нужно из этого подкорректируй и пользуйся на здоровье. Полный текст далее... [more]
@echo off
rem bat-файл начинает выполнятся по приходу письма на определенный e-mail
setlocal
set buh-3=d:\Work\db_1c\1c_77\Buh-3\Обновление
set buh=d:\Work\db_1c\1c_77\Buh\Обновление


rem %%a-имя пользователя %%b-имя пользователя %%c-имя сессии %%f-имя процесса
rem отключаем вход на терминал сервер
change logon /disable

rem удаляем пришедшее письмо для запуска bat-файла
del /q "C:\windows\ESMS SPOOL\Users\1c_obnov\*.*"

rem Проверяем у кого из влогиненых на ТС запущена 1С и рассылаем предупреждение и записываем имена пользователей в текстовик. Свой аккаунт (Yourbill) пропускаю
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe echo %%b %%c %%e %%f >> u_list_obn.txt))
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Через 3(ТРИ) минуты будет проводиться Обновление справочника ТМЦ для Актов И Бухгалтерии. Закройте запущенную(ые) у вас 1С!!! Обновление будет длиться 60-80 минут. Об окончании обновления вам будет послано сообщение."))

rem Ждем 2-ве минуты
sleep 120

rem Еще предупреждение
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Если вы не закроете сами 1С-Предприятие, то через 1(ОДНУ) минуту приложение будет закрыто принудительно!!! Возможна потеря данных!!! Об окончании обновления вам будет послано сообщение."))

rem Ждем 1-ну минуту
sleep 60

rem Все кто не вышел из 1С разлогиниваются автоматом. Нарушителей записываем в текстовик (u_list.txt) и отправляем на мыло админу

rem Прощальное предупреждение.
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Все!!! Кто не спрятался ... я не виноват"))
rem Записываем в текстовик время происходящего события
now > u_list.txt


for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe echo %%b %%c %%d %%e %%f >> u_list.txt))
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%e==1cv7s.exe echo %%b %%c %%d %%e >> u_list.txt))

if exist u_list.txt blat u_list.txt -t annl@trade.local -s "Нарушители спокойствия "

rem Принудительное разлогинивание... И послание провинившимся.
if exist u_list.txt for /F "tokens=2 skip=2 delims= " %%c in (u_list.txt) do (logoff %%c)
for /F "tokens=1-5 skip=2 delims=> " %%b in (u_list.txt) do (net send %%b "Ваше подключение к терминал серверу было отключено принудительно!!! По всей видимости вы не прочитали предыдущих сообщений или забыли закрыть 1с уходя с рабочего места. Сейчас проводиться Обновление справочника ТМЦ для Актов И Бухгалтерии.")
if exist u_list.txt del /q u_list.txt

REM НА СЕРВЕРЕ ЛИШНИХ НЕТ МОЖНО АРХИВИРОВАТЬ

rem Включаем вход на ТС
change logon /enable

rem Рассылка сообщения всем кто работал на ТС в момент запуска bat-файла
for /F "tokens=1-5 delims=> " %%b in (u_list_obn.txt) do (net send %%b "Обновление справочника ТМЦ для Актов И Бухгалтерии Окончено. Желающие (если такковые имеються) могут приступить к работе")
if exist u_list_obn.txt del /q u_list_obn.txt
[/more]
Автор: kabolt
Дата сообщения: 08.09.2006 11:58
urel

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

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Зеркалирование дисков Win2000


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