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

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

Автор: Sk1f
Дата сообщения: 01.11.2006 10:00
jONES1979, strizhakovs большое спасибо. Счас буду дописывать скрипт.

Автор: strizhakovs
Дата сообщения: 01.11.2006 10:02
совсем глупый вопрос:
есть следующая переменная:
strLine = "\\mffl01\Data\Shared\test Domen\Domain AdminsOI)(CI)F"
Как используя функции для работы с текстом получить из этой переменной две,
strLine1 = "Domen\Domain Admins" и strLine2 = "(OI)(CI)F"
Автор: urel
Дата сообщения: 01.11.2006 10:39
strizhakovs

Цитата:
Вообщем прога, которую предложил urel не совсем коректно работает, они отображает не все подпапки, как устанавливать пермишенсы я разобрался (кому надо могу показать на примере). осталось соорудить скрипт который получит инфу о текущих пермишенсах на все папки и подпапки, jONES1979 твоя помощь еще ой как актуальна!!!


прога показывает диф, те еили пермишены на дочерних папках/файлах соотв родительской - такие папки/файлы не выводяться


Цитата:
Как используя функции для работы с текстом получить из этой переменной две,
strLine1 = "Domen\Domain Admins" и strLine2 = "(OI)(CI)F"

пробовать выщемить с помощью InStr([start, ]string1, string2[, compare])
те чтото около того:

Цитата:
strLine = "\\mffl01\Data\Shared\test BRUNSWICK\Domain AdminsOI)(CI)F"
domain="BRUNSWICK"
l1=Right(strLine,Len(strLine)-InStr(strLine,":"))
l2=Mid(strLine,InStr(strLine,domain),InStr(strLine,":")-InStr(strLine,domain))
WScript.Echo l1
WScript.Echo l2

Автор: strizhakovs
Дата сообщения: 01.11.2006 11:08

Цитата:
пробовать выщемить с помощью InStr([start, ]string1, string2[, compare])
те чтото около того:

Цитата:strLine = "\\mffl01\Data\Shared\test BRUNSWICK\Domain AdminsOI)(CI)F"
domain="BRUNSWICK"
l1=Right(strLine,Len(strLine)-InStr(strLine,":"))
l2=Mid(strLine,InStr(strLine,domain),InStr(strLine,":")-InStr(strLine,domain))
WScript.Echo l1
WScript.Echo l2


Биг сенкс, я так и думал
Автор: veryom
Дата сообщения: 01.11.2006 11:26
Есть такой скрипт:

Код: strCurDir = Wscript.Arguments(0)


Const OverwriteExisting = TRUE
Const FOR_READING = 1

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objFileConfig=objFSO.OpenTextFile(strCurDir & "\config.cfg",FOR_READING)

strTargetPath=objFileConfig.ReadLine
strNameShortCut=objFileConfig.ReadLine
strDescription=objFileConfig.ReadLine
strFileListComps=objFileConfig.ReadLine

objFileConfig.Close
Set objFileConfig=Nothing

Set objFileListComps=objFSO.OpenTextFile(strCurDir & "\" & strFileListComps,FOR_READING)
Set objFileErrors=objFSO.OpenTextFile(strCurDir & "\errors.log",2,True)

While Not objFileListComps.AtEndOfStream
    strComputer=objFileListComps.ReadLine

    'Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile strCurDir & "\CreateShortcut.vbs", "\\" & _
        strComputer & "\C$\", OverWriteExisting

    Set objWMIService = GetObject _
    ("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")

    Error = objWMIService.Create _
    ("cscript c:\CreateShortcut.vbs " & strTargetPath & " " & strNameShortCut & " " & strDescription, null, null, _
    intProcessID)
    objFileErrors.WriteLine Error

    Wscript.Sleep(1000)

Wend

objFileErrors.Close
objFileListComps.Close
Set objFileListComps=Nothing

Set objFSO=Nothing
Автор: jONES1979
Дата сообщения: 01.11.2006 13:24
strizhakovs

Итак, XLS-евский файл, считывающий пермишенсы с укзанной папки и её подкаталогов готов. Я cделал прямо в екселе, на VBA. Пермишенсы читаю с помощью WMI, UNC-пути не поддерживаются, тоесть шару надо подключать как "сетевой диск"

Полученная структура Win32_ACE, точнее её поле AccessMask, раскидывается по ключевым битам, на каждого пользвателя, и на его тип доступа

Файл выложил тут http://www.megaupload.com/?d=4KIIDH6K
Автор: strizhakovs
Дата сообщения: 01.11.2006 14:09
jONES1979

Огромное спасибо, только вот я не могу скачать с мегааплоада ты не мог бы его выложить на slil.ru?
Автор: jONES1979
Дата сообщения: 01.11.2006 14:27
по уму, там надо добавить фильтр, чтобы не выводились права для "NT AUTHORITY\SYSTEM", "\СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ" и "\ВСЕ"

Добавлено:
http://slil.ru/23331634
Автор: strizhakovs
Дата сообщения: 02.11.2006 11:48
jONES1979
ну слушай, скрипт просто супер!!!
С меня магарыч!))))
У меня к тебе вот какой еще вопрос. А можно ли будет включить в него такую логику, чтобы если в подпаке такие права, как и в материнской папке, то ее просто писать в столбец путь, а в столбце пользователь писать (ну допустим "тоже"), а если отличается, тогда писать как обычно. ну и так приминительно ко всем папкам и подпапкам...
Ну и твоя идея с фильтрами тоже супер! Только как ее туда включить...
Это реально?
Автор: jONES1979
Дата сообщения: 02.11.2006 13:55
strizhakovs

http://slil.ru/23336169

- добавлен фильтр для "NT AUTHORITY\SYSTEM" и прочих.
- кнопка "стоп"

для проверки совпадений прав в подпапках надо слишком много отслеживать параметров: пользователя, тип доступа и значение + положение в иерархии... Это целая куча делов. На такой подвиг я не способен, звиняй
Автор: strizhakovs
Дата сообщения: 02.11.2006 14:59

Цитата:
для проверки совпадений прав в подпапках надо слишком много отслеживать параметров: пользователя, тип доступа и значение + положение в иерархии... Это целая куча делов. На такой подвиг я не способен, звиняй

А если отслеживать только пользователя? или пользователя и AccessMask?
Так возможно?
Автор: jONES1979
Дата сообщения: 02.11.2006 15:00
это того же уровня гемморой
Автор: strizhakovs
Дата сообщения: 02.11.2006 15:10

Цитата:
это того же уровня гемморой

Ясно...да забей... ))
И еще раз ОГРОМНОЕ спасибо!!!!
Автор: jONES1979
Дата сообщения: 02.11.2006 18:17
strizhakovs
ага, пожалуйста.

чего-нить ещё спрашивай!
Автор: Sk1f
Дата сообщения: 03.11.2006 08:29
Вопрос оффтопный.
Я с помощью скрипта раздаю права доступа к папке.

Цитата:

Первый шаг
path = pathTestUpravl
Folder_Adm = "xcacls """ & path & """" _
& " /G " & """Administrators"":F /Y"
Folder_CrOwn = "xcacls """ & path & """" _
& " /G " & """Creator Owner"":EDWX /Y /E"
Folder_Sys = "xcacls """ & path & """" _
& " /G " & """System"":F /Y /E"
Call WshShell.Run(Folder_Adm)
Call WshShell.Run(Folder_CrOwn)
Call WshShell.Run(Folder_Sys)


Цитата:

Второй шаг
PathTestUpravl = "C:\Test\" & Upravl ' путь к папке управления
strLocal = TestUpravl 'Локальная группа
DLocalFolder_1_lvl = "Subinacl " & "/subdirectories " & """" & PathTestUpravl & """" _
& " /Grant=" & """" & "TestDomen\" & strLocal & """=REW"

Call WshShell.Run(DLocalFolder_1_lvl)


Проблема - необходимо, чтобы скрипт при разграничение прав доступа к папке, группе Creator Owner выдавались права на чтение, удаление, запись, выполнение. Но с условием - эти операции будут выполняться только с подкаталогами и файлами в папке. К самой папке эти операции запрещены.
Автор: strizhakovs
Дата сообщения: 07.11.2006 14:00
jONES1979


Цитата:
чего-нить ещё спрашивай!


Уже спросил смотри ПМ
Автор: north_crow
Дата сообщения: 12.11.2006 14:32
Ребята!!!
помогите плиз. весь форум и весь инет облазил в поисках и так и не нашел ответа на проблему
есть вот такой скрипт для создания юзеров в AD по списку из экселя:

Код: 'On Error Resume Next
path_file="D:\SHARE_ALL\Crow\VBS\new_users.xls"
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open (path_file)

intRow = 2 ' начальная строчка в excel где начинается список
Do Until objExcel.Sheets("New_user").Cells(intRow, 1).Value = ""    'Продолжаем пока не встретим пустую ячейку

'Вытаскиваем данные из ячеек
Familiya = objExcel.Sheets("New_user").Cells(intRow, 1).Value 'Фамилия
Imya = objExcel.Sheets("New_user").Cells(intRow, 2).Value 'Имя
Otchestvo = objExcel.Sheets("New_user").Cells(intRow, 3).Value 'Отчество
Login = objExcel.Sheets("New_user").Cells(intRow, 4).Value 'Login
Password = objExcel.Sheets("New_user").Cells(intRow, 5).Value 'Пароль
FIO = Familiya & " " & Imya & " " & Otchestvo    'Полное ФИО

'Создаем пользователя в AD
Set objOU = GetObject("LDAP://OLCON-DC01/ou=Test,dc=olcon,dc=severstalgroup,dc=com")
Set objUser = objOU.Create("user", "cn=" & FIO)
objUser.sAMAccountName = Login 'Login
objUser.GivenName = Imya 'Имя
objUser.SN = Familiya 'Фамилия
objUser.userPrincipalName = "" & Login & "@olcon.severstalgroup.com" 'Учетная запись
'objUser.Put "mail", "" & Login & "@olcon.ru" 'E-mail
objUser.mailNickname = Login 'Псевдоним Exchange
objUser.company = "Олкон" 'Организация
objUser.displayName = FIO 'Выводимое имя
objUser.SetInfo
'Задаем пароль и включаем акаунт
objUser.SetPassword Password 'Пароль
objUser.AccountDisabled = False
objUser.Put "userAccountControl", &h10000    'Срок действия пароля неограничен
objUser.SetInfo

'Создаем пользователю ящик в Exchange
Set objMailbox = objUser
objMailbox.CreateMailbox "LDAP://CN=Mailbox Store (OLCON-DC01),CN=First Storage Group," & _
"CN=InformationStore,CN=OLCON-DC01,CN=Servers,CN=AG-Olgsk-OLCON," & _
"CN=Administrative Groups,CN=Severstalgroup,CN=Microsoft Exchange," & _
"CN=Services,CN=Configuration,DC=severstalgroup,DC=com"
objUser.SetInfo

intRow = intRow + 1
Loop
objExcel.Quit
Автор: maGELan
Дата сообщения: 12.11.2006 19:02
Долго мурыжился, но так до конца и не нашел возможности переименовать имя подключения по локальной сети с текущего (которое может быть каким угодно) в "новое имя"
Помогите ПЖЛСТ сделать ЭТО при помощи командной строки.

Нашел такой вот способ, НО он как-то не так (только с подтверждением или я не там ставлю "/y") срабатывет ...? (к слову, Нужен ли второй ключ моего скрипта?)


Код:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{9DA79BA9-4817-4800-9425-30B4E7067E83}\Connection" /v Name /t reg_sz /d "Имя"
reg add "HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{9DA79BA9-4817-4800-9425-30B4E7067E83}\Connection" /v Name /t reg_sz /d "Имя"
Автор: alexxxn
Дата сообщения: 13.11.2006 10:20
для north_crow

надо поставить кусок администрирование из дистрибутива эксча.
Автор: Geduc
Дата сообщения: 13.11.2006 13:55
Ребят, такой вопрос. Нужна или прога или батник (желательно батник) для поиска и удаления файлов.
Алгоритм такой:
Запуск батника с путём к папке, где лежат файлы. И по заданной в батнике маске удалить файлы.
Проблема в том, что там очень много подпапок и имена папок всегда разные. Неизменными остаются только маски.
Автор: jONES1979
Дата сообщения: 13.11.2006 14:23
north_crow


Код: Set objMailbox = objUser
Автор: tech_max
Дата сообщения: 13.11.2006 15:57
можно ли автоматизировать след. процесс
есть файл с таким содержанием
213.210.177.214
76.17.115.53
76.17.115.53
80.100.127.32
217.126.149.20
88.102.57.240
81.220.165.214
213.163.40.238
87.117.8.151
195.210.186.2
необходимо определить диапазон и страну, сейчас это реализовано след. образом
иду на сайт https://www.nic.ru/whois/?ip=213.210.177.214
ввожу адрес и вижу диапазон
213.210.177.0 - 213.210.177.255
на выходе необходимо получить такой файл
213.210.177.0 - 213.210.177.255 ; CZ
76.16.0.0 - 76.23.255.255 ; US


Автор: Last_raven
Дата сообщения: 13.11.2006 16:04
Задача:
1.Запуск батника в нужное время.
2. выполнение кода.
3. самоуничтожение.
Реально ли? Интересуют первый и третий пункты......
Автор: Vby
Дата сообщения: 13.11.2006 16:34
Last_raven
del.bat
1. Стандартными средствами ОС
2. ping ya.ru
3. del /q del.bat
Автор: Last_raven
Дата сообщения: 13.11.2006 17:11
Спасибо, работает. А если время запуска не стандартными средствами, а именно средствами самого батника? Или даже лучше запуск батника при запуске определенного приложения, скажем блокнота?
Автор: Vby
Дата сообщения: 13.11.2006 17:54
Last_raven

Цитата:
именно средствами самого батника


Schtasks /?
Автор: FreemanRU
Дата сообщения: 13.11.2006 20:06
Geduc

Цитата:
Нужна или прога или батник (желательно батник) для поиска и удаления файлов.
Алгоритм такой:
Запуск батника с путём к папке, где лежат файлы. И по заданной в батнике маске удалить файлы.
Проблема в том, что там очень много подпапок и имена папок всегда разные. Неизменными остаются только маски.

Открываю страшную тайну, есть такая штука как Помощь.
Так вот:
del /s

Цитата:

/S Удаление указанных файлов из всех подкаталогов.
Автор: north_crow
Дата сообщения: 13.11.2006 20:52
2 alexxxn
поставил я себе adminpac.msi всеравно не получается
2 jONES1979
а как можно его получить?

Автор: Geduc
Дата сообщения: 14.11.2006 07:36

Цитата:
Открываю страшную тайну, есть такая штука как Помощь.
Так вот:
del /s

Если честно, то не знаю, что произошло... но на работе пришлось вызывать системщиков ))
Прописал:
del /s c:\папка *.exe, *.txt, *.bak и ещё кучу всяких масок.
В итоге он всё правильно сделал, сначала удалил все ненужные файлы в указанной папке, а потом перешёл к остальным файлам на диске С:\
Автор: alexxxn
Дата сообщения: 14.11.2006 09:37
2 north_crow
надо запустить установку эксча. и выбрать из нее только администрирование.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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