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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: 1 | 2
 
   

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

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

 
    Внимание   !  !  !  

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

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

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

Windows Script Host (WSH) &  VBScript  &  JScript


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

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

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

 
Подробнее...
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
Jovanotti

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 21:07 23-05-2011 | Исправлено: djremix, 14:12 25-04-2022
DeisGood



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Бодрого дня всем!!!
В последнее время нередко приходилось чистить dhcp от всяких мобильных устройств, поэтому наваял скрипт на vbs. вдруг кому пригодиться.
 
Подробнее...
Если найдете ошибку или будут вопросы и пожелания в шапке скрипта аська есть.

Всего записей: 161 | Зарегистр. 18-11-2005 | Отправлено: 09:00 16-04-2018
userrus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kaurych
Пример на Диспетчере печати
Службы - Закладка "Восстановление" - Действия при сбое - все три выбираем "Запуск программы"
Далее Выполнение программы - Программа: - указываем полное имя батника с путем.
Содержимое батника:
 
@rem Убеждаемся в остановке службы
net stop Spooler
@rem Ожидаем остановки 20 сек.
timeout /t 20 /nobreak >nul
@rem Удаляем что нужно
del /f /q c:\Windows\System32\spool\PRINTERS\*.*
@rem Запускаем службу
net start Spooler
exit

Всего записей: 88 | Зарегистр. 27-09-2005 | Отправлено: 10:25 16-04-2018 | Исправлено: userrus, 10:50 16-04-2018
andzhej10



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задача: нужно на ОС Windows Server 2008 проверять залогирован ли в системе некий пользователь, если нет - то нужно его залогинить. Кто такое делал и как? Права админа есть.

Всего записей: 108 | Зарегистр. 07-09-2010 | Отправлено: 12:21 21-05-2018
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andzhej10
Цитата:
Кто такое делал и как?
Делали, но совершенно противоположную задачу.
Для проведения профилактических работ на информационной системе
нужно было выяснить, кто залогинен на терминальном сервере,
и выполнить принудительный выход их из системы с закрытием
запущенных программ.
Сделать это можно массой способов, вот пример для PowerShell:
https://gallery.technet.microsoft.com/scriptcenter/List-of-logged-in-users-3da6ca51
Но вот как абстрактно залогинить юзера - сие непонятно.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17278 | Зарегистр. 13-06-2007 | Отправлено: 19:34 21-05-2018
DenSyo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andzhej10
из сеанса админа (не важно на самом деле) на сервере открыть рдп-сеанс того другого пользователя и закрыть окно сеанса.  
с командами комрады помогут

Всего записей: 218 | Зарегистр. 19-01-2008 | Отправлено: 10:29 22-05-2018
andzhej10



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DenSyo
тут сказали, что програмнное залогирование не возможно сделать никаким скриптом-батником. Я ниже там описал, что мне нужно, тут еще повторю - нужно, чтоб при перезагрузки/включения сервера данный пользователь програмно залогинивался, а другие пользователи интерактивно. И еще осуществлялась проверка - залогинин ли данный пользователь в данный момент, если нет (выбило что-то) автозалогинить его.

Всего записей: 108 | Зарегистр. 07-09-2010 | Отправлено: 11:44 22-05-2018 | Исправлено: andzhej10, 11:45 22-05-2018
DenSyo

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

Всего записей: 218 | Зарегистр. 19-01-2008 | Отправлено: 12:11 22-05-2018
andzhej10



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

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

пришли к тому с чего начинали...Ситуация: под неким пользователем выполняються регл.задачи 1С 7.7, поэтому этот пользователь обязательно должен быть залогинен (особенности 1С 7.7). И здесь для этого скрипта пользователь должен быть залогинен...

Всего записей: 108 | Зарегистр. 07-09-2010 | Отправлено: 14:58 22-05-2018
DenSyo

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такой вариант пробовали?
https://support.microsoft.com/ru-ru/help/324737/how-to-turn-on-automatic-logon-in-windows
http://www.ekzorchik.ru/2017/10/how-to-configure-autologon-on-server-2016/
http://expert-advice.org/windows-server/how-to-set-up-auto-login-windows-server-2012-and-2016/
http://microsoftgeek.com/?p=2375
вы задачу не правильно изначально описали, я вам и дал решение под условие. а проверять ничего не надо, надо просто отключить всякое закрытие локального сеанса. либо, если эта спец учетка для 1с не админ, а это правильно, на сервере стоит завершение/закрытие сессии при бездействии, то локально автологиним админа, ставим правило не завершать сеанс локального администратора, и от его имени периодически стартуем сеанс рдп с 1с пользователем.

Всего записей: 218 | Зарегистр. 19-01-2008 | Отправлено: 15:22 22-05-2018 | Исправлено: DenSyo, 15:34 22-05-2018
andzhej10



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

Всего записей: 108 | Зарегистр. 07-09-2010 | Отправлено: 15:48 22-05-2018
caspara



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Можно ли как-то написать ЛДАП запросы к домену.
Имеется такая задача (для себя).
Домен, права в домене у меня только на мою область. Но запросы написать можно
Вот стандартный запрос на учетные записи отделений, которые неправильно вводят логин\пароль 5 раз.
Запрос успешно отрабатывается.

 
Вопрос 1.
Почему мой запрос на пользователей не отрабатывается?

 
Задачка 2
Стандартный запрос на пк, которые не логинились в домен 60 дней сначала пишет  
 

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

 
Вопрос 2 - как написать запрос аналогично для пользователей, ну например, по полю lastlogoff ?
 
ЗЫ из Экселя я могу выгрузить запрос по фильтрам
- люди из моей ветки (Донецкая)
- активные пользователи (512 параметр)
- ласт логон и логоф, и далее уже в экселе сравнить текущую дату с одной из этих выгруженных. Но это чуть дольше, чем хочется.

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

Всего записей: 468 | Зарегистр. 04-08-2004 | Отправлено: 14:46 16-08-2019 | Исправлено: caspara, 15:00 16-08-2019
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1 скорее всего твой запрос должен выглядеть примерно так  
(&(objectCategory=user)(objectClass=user)(userPrincipalName=*)(badPwdCount>=5))
 
2 в мастере напротив имени ( соответствует) ставите * и галку "откл учетные записи", т.к. по умолч если чел не логинелся 1 месяц его учетка откл.  
 
возмона будет что-то типо этого (&(objectCategory=user)(objectClass=user)(userPrincipalName=*)(date-LastLogoff>=80))
 
(я хз в каком формате там вр в date и LastLogoff возмона в Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]]))
 
см: https://social.technet.microsoft.com/wiki/contents/articles/8077.active-directory-ldap-ru-ru.aspx
_________________
Добавлено:

Цитата:
надо просто отключить всякое закрытие локального сеанса.
НИКОГДА ТАК НЕ ДЕЛАЙТЕ! Систеема должна выгружать не активные сеансы дабы норм работали процессы баз данных иначе вам придется перегружать сервак раз-2 в день!

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 13:48 20-08-2019 | Исправлено: YNY, 15:15 20-08-2019
caspara



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
Спасибо за помощь. Так случилось, что написав ЛДАП запросы в оснастке и скрипты в повершелле для домена, у нас забрали права областных админов домена, что привело практически к бесполезности моей работы.  
Но как доберусь до рабочего пк, хоть сюда выложу рабочие скрипты повершелла.
В оснастке осталось только запросы на 5 неудачных паролей, а повершелл фильтровал по локедюзерс, кажется. Еще раз спасибо.

Всего записей: 468 | Зарегистр. 04-08-2004 | Отправлено: 19:55 02-09-2019
us0r



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени.
 
Есть такая штука:
 

Код:
wmic path Win32_NetworkAdapter WHERE "AdapterType like '%802%' AND PNPDeviceID like '%PCI%'"

При запуске выдаёт нужную инфу (параметры сетевого адаптера).
 
В батнике оформил это так:

Код:
 
@echo off
cls
for /f %%i in ('wmic path Win32_NetworkAdapter WHERE ^"AdapterType like ^'^%^%802^%^%^' AND PNPDeviceID like ^'^%^%PCI^%^%^'^" ^| find /I "NetConnectionID"') do (
echo %%i)
 

 
При запуске батника, на выходе, выдаёт следующее:

Код:
 
No Instance(s) Available.
ECHO is off.
ECHO is off.
 
 

 
Батник запускаю от имени админа. CMD тоже от имени админа запущена.
 
Интернеты лазил, ничего дельного. Подозреваю, что запрос составлен неправильно, но что не так - непонятно.

Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 14:10 28-10-2019
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
us0r А всё не правильно. Почитай, что дает на выходе команда find . В команде FOR /F ты должен парсить в переменные по какому-то критерию результат от wmic и затем в do ( )  обработать.  
Что ты хочешь получить на выходе ? Приведи пример. А еще лучше озвучь всю свою  задачу целиком.
 


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 11735 | Зарегистр. 10-12-2003 | Отправлено: 15:45 28-10-2019 | Исправлено: ipmanyak, 15:50 28-10-2019
alexnov66



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

Код:
@ECHO OFF
set NETWORK=
for /f "tokens=2 delims==" %%a in ('WMIC PATH Win32_NetworkAdapter WHERE ^"AdapterType like ^'%%802%%^' AND PNPDeviceID like ^'PCI^'^" GET NetConnectionID /VALUE') do set NETWORK=%%a
echo %NETWORK%
 
pause
exit

Всего записей: 1232 | Зарегистр. 29-08-2005 | Отправлено: 16:24 28-10-2019
us0r



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ipmanyak
В данном случае, в for попадает результат вывода

Код:
wmic path Win32_NetworkAdapter WHERE "AdapterType like '%802%' AND PNPDeviceID like '%PCI%'"

который был, по конвееру, передан в find для вычленения одной строки, и вот конечный результат всего этого присваивается переменной. Но проблема здесь далеко не в find и присвоении результата. Проблема здесь в WQL-запросе, о чём недвусмысленно намекает вывод.
 
alexnov66
Скопировал, вставил. Запустил.

Код:
No Instance(s) Available.
ECHO is off.
Press any key to continue . . .

 
Может в системе что-то не установлено?

Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 18:24 29-10-2019
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в варианте alexnov66 надо и PCI в проценты сделать
Подробнее...

----------
Мы все умрём. (-:

Всего записей: 4905 | Зарегистр. 23-04-2009 | Отправлено: 18:41 29-10-2019
vklp

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прорекламирую свою платформу для скриптов:
https://github.com/vikilpet/Taskopy/blob/master/readme_ru.md
Там внизу есть примеры.
 
Вытаскивание адаптера как в этом посте:
http://forum.ru-board.com/topic.cgi?forum=8&topic=41227&start=340#14
будет как-то так:
 

Код:
 
def wmic_adapter_demo():
    out = app_start('wmic', 'path Win32_NetworkAdapter', capture_output=True)[1]
    print(re_find(out, r'.+?802.+?PCI\\')[0])
 

Всего записей: 132 | Зарегистр. 21-02-2019 | Отправлено: 13:24 10-02-2020
likbez



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
долго искали решение, но так и не нашлось:
имеется локальная сеть с обычными стационарными компьютерами и ноутбуками (более 30 единиц, установленных на протяжении 10 лет - XP, Vista, Win10Pro, Win10Home = потому что всё только лицензионное) + server 2008 standard DC и DHCP + NAS с SMB1 + несколько виртуальных под VMWARE WS (хост - Win10Pro) + несколько виртуальных (CentOS и т.п.) под ESXI.
часть физических машин в АД, часть - нет.
плавающая, но ежедневная проблема:  
в "Сети" отображаются периодически некоторые компьютеры. из некоторых на некоторые нельзя зайти, а через пару минут уже можно. на некоторые "невидимые" можно зайти через адресную строку \\computer025\ , а на другие выдает ошибку "не найден сетевой путь", но тогда удается зайти через \\192.168.0.25\, но часто и так выдает "нет доступа". В этой проблеме не прослеживаются закономерности, доступ пропадает и появляется хаотически.
 
найденные на форумах "умные" инструкции, конечно же, не работают:
типа включить старый SMB в компонентах, включить через NETBios в WINS, отключить и удалить лицензионный корпоративный антивирус, добавить в регистр ключи типа,  
"SMB1"=dword:00000000  
в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters]
 
SmbDeviceEnabled тип dword, значение 1
в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters  
 
"NodeType"=dword:00000001  
в [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]  
 
и т.п. Добавление таких ключей только уменьшает количество видимых и доступных расшаренных ресурсов.
при этом ping проходит во всех направлениях.
 
теперь вопрос: как этот зоопарк автоматизировать (кроме апгрейда ВСЕХ до Win10)?
важно чтобы КАЖДЫЙ пользователь рабочей станции имел возможность чтения расшаренных папок с КАЖДОЙ другой рабочей станции независимо от AD.

Всего записей: 1089 | Зарегистр. 10-05-2002 | Отправлено: 17:41 18-02-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru