jONES1979, strizhakovs большое спасибо. Счас буду дописывать скрипт.
» Автоматизация администрирования
совсем глупый вопрос:
есть следующая переменная:
strLine = "\\mffl01\Data\Shared\test Domen\Domain AdminsOI)(CI)F"
Как используя функции для работы с текстом получить из этой переменной две,
strLine1 = "Domen\Domain Admins" и strLine2 = "(OI)(CI)F"
есть следующая переменная:
strLine = "\\mffl01\Data\Shared\test Domen\Domain AdminsOI)(CI)F"
Как используя функции для работы с текстом получить из этой переменной две,
strLine1 = "Domen\Domain Admins" и strLine2 = "(OI)(CI)F"
strizhakovs
Цитата:
прога показывает диф, те еили пермишены на дочерних папках/файлах соотв родительской - такие папки/файлы не выводяться
Цитата:
пробовать выщемить с помощью InStr([start, ]string1, string2[, compare])
те чтото около того:
Цитата:
Цитата:
Вообщем прога, которую предложил 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
Цитата:
пробовать выщемить с помощью 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
Биг сенкс, я так и думал
Есть такой скрипт:
Код: 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
Код: 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
strizhakovs
Итак, XLS-евский файл, считывающий пермишенсы с укзанной папки и её подкаталогов готов. Я cделал прямо в екселе, на VBA. Пермишенсы читаю с помощью WMI, UNC-пути не поддерживаются, тоесть шару надо подключать как "сетевой диск"
Полученная структура Win32_ACE, точнее её поле AccessMask, раскидывается по ключевым битам, на каждого пользвателя, и на его тип доступа
Файл выложил тут http://www.megaupload.com/?d=4KIIDH6K
Итак, XLS-евский файл, считывающий пермишенсы с укзанной папки и её подкаталогов готов. Я cделал прямо в екселе, на VBA. Пермишенсы читаю с помощью WMI, UNC-пути не поддерживаются, тоесть шару надо подключать как "сетевой диск"
Полученная структура Win32_ACE, точнее её поле AccessMask, раскидывается по ключевым битам, на каждого пользвателя, и на его тип доступа
Файл выложил тут http://www.megaupload.com/?d=4KIIDH6K
jONES1979
Огромное спасибо, только вот я не могу скачать с мегааплоада ты не мог бы его выложить на slil.ru?
Огромное спасибо, только вот я не могу скачать с мегааплоада ты не мог бы его выложить на slil.ru?
по уму, там надо добавить фильтр, чтобы не выводились права для "NT AUTHORITY\SYSTEM", "\СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ" и "\ВСЕ"
Добавлено:
http://slil.ru/23331634
Добавлено:
http://slil.ru/23331634
jONES1979
ну слушай, скрипт просто супер!!!
С меня магарыч!))))
У меня к тебе вот какой еще вопрос. А можно ли будет включить в него такую логику, чтобы если в подпаке такие права, как и в материнской папке, то ее просто писать в столбец путь, а в столбце пользователь писать (ну допустим "тоже"), а если отличается, тогда писать как обычно. ну и так приминительно ко всем папкам и подпапкам...
Ну и твоя идея с фильтрами тоже супер! Только как ее туда включить...
Это реально?
ну слушай, скрипт просто супер!!!
С меня магарыч!))))
У меня к тебе вот какой еще вопрос. А можно ли будет включить в него такую логику, чтобы если в подпаке такие права, как и в материнской папке, то ее просто писать в столбец путь, а в столбце пользователь писать (ну допустим "тоже"), а если отличается, тогда писать как обычно. ну и так приминительно ко всем папкам и подпапкам...
Ну и твоя идея с фильтрами тоже супер! Только как ее туда включить...
Это реально?
strizhakovs
http://slil.ru/23336169
- добавлен фильтр для "NT AUTHORITY\SYSTEM" и прочих.
- кнопка "стоп"
для проверки совпадений прав в подпапках надо слишком много отслеживать параметров: пользователя, тип доступа и значение + положение в иерархии... Это целая куча делов. На такой подвиг я не способен, звиняй
http://slil.ru/23336169
- добавлен фильтр для "NT AUTHORITY\SYSTEM" и прочих.
- кнопка "стоп"
для проверки совпадений прав в подпапках надо слишком много отслеживать параметров: пользователя, тип доступа и значение + положение в иерархии... Это целая куча делов. На такой подвиг я не способен, звиняй
Цитата:
для проверки совпадений прав в подпапках надо слишком много отслеживать параметров: пользователя, тип доступа и значение + положение в иерархии... Это целая куча делов. На такой подвиг я не способен, звиняй
А если отслеживать только пользователя? или пользователя и AccessMask?
Так возможно?
это того же уровня гемморой
Цитата:
это того же уровня гемморой
Ясно...да забей... ))
И еще раз ОГРОМНОЕ спасибо!!!!
strizhakovs
ага, пожалуйста.
чего-нить ещё спрашивай!
ага, пожалуйста.
чего-нить ещё спрашивай!
Вопрос оффтопный.
Я с помощью скрипта раздаю права доступа к папке.
Цитата:
Цитата:
Проблема - необходимо, чтобы скрипт при разграничение прав доступа к папке, группе Creator Owner выдавались права на чтение, удаление, запись, выполнение. Но с условием - эти операции будут выполняться только с подкаталогами и файлами в папке. К самой папке эти операции запрещены.
Я с помощью скрипта раздаю права доступа к папке.
Цитата:
Первый шаг
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 выдавались права на чтение, удаление, запись, выполнение. Но с условием - эти операции будут выполняться только с подкаталогами и файлами в папке. К самой папке эти операции запрещены.
jONES1979
Цитата:
Уже спросил смотри ПМ
Цитата:
чего-нить ещё спрашивай!
Уже спросил смотри ПМ
Ребята!!!
помогите плиз. весь форум и весь инет облазил в поисках и так и не нашел ответа на проблему
есть вот такой скрипт для создания юзеров в 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
помогите плиз. весь форум и весь инет облазил в поисках и так и не нашел ответа на проблему
есть вот такой скрипт для создания юзеров в 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
Долго мурыжился, но так до конца и не нашел возможности переименовать имя подключения по локальной сети с текущего (которое может быть каким угодно) в "новое имя"
Помогите ПЖЛСТ сделать ЭТО при помощи командной строки.
Нашел такой вот способ, НО он как-то не так (только с подтверждением или я не там ставлю "/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 "Имя"
Помогите ПЖЛСТ сделать ЭТО при помощи командной строки.
Нашел такой вот способ, НО он как-то не так (только с подтверждением или я не там ставлю "/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 "Имя"
для north_crow
надо поставить кусок администрирование из дистрибутива эксча.
надо поставить кусок администрирование из дистрибутива эксча.
Ребят, такой вопрос. Нужна или прога или батник (желательно батник) для поиска и удаления файлов.
Алгоритм такой:
Запуск батника с путём к папке, где лежат файлы. И по заданной в батнике маске удалить файлы.
Проблема в том, что там очень много подпапок и имена папок всегда разные. Неизменными остаются только маски.
Алгоритм такой:
Запуск батника с путём к папке, где лежат файлы. И по заданной в батнике маске удалить файлы.
Проблема в том, что там очень много подпапок и имена папок всегда разные. Неизменными остаются только маски.
north_crow
Код: Set objMailbox = objUser
Код: Set objMailbox = objUser
можно ли автоматизировать след. процесс
есть файл с таким содержанием
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
есть файл с таким содержанием
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
Задача:
1.Запуск батника в нужное время.
2. выполнение кода.
3. самоуничтожение.
Реально ли? Интересуют первый и третий пункты......
1.Запуск батника в нужное время.
2. выполнение кода.
3. самоуничтожение.
Реально ли? Интересуют первый и третий пункты......
Last_raven
del.bat
1. Стандартными средствами ОС
2. ping ya.ru
3. del /q del.bat
del.bat
1. Стандартными средствами ОС
2. ping ya.ru
3. del /q del.bat
Спасибо, работает. А если время запуска не стандартными средствами, а именно средствами самого батника? Или даже лучше запуск батника при запуске определенного приложения, скажем блокнота?
Last_raven
Цитата:
Schtasks /?
Цитата:
именно средствами самого батника
Schtasks /?
Geduc
Цитата:
Открываю страшную тайну, есть такая штука как Помощь.
Так вот:
del /s
Цитата:
Цитата:
Нужна или прога или батник (желательно батник) для поиска и удаления файлов.
Алгоритм такой:
Запуск батника с путём к папке, где лежат файлы. И по заданной в батнике маске удалить файлы.
Проблема в том, что там очень много подпапок и имена папок всегда разные. Неизменными остаются только маски.
Открываю страшную тайну, есть такая штука как Помощь.
Так вот:
del /s
Цитата:
/S Удаление указанных файлов из всех подкаталогов.
2 alexxxn
поставил я себе adminpac.msi всеравно не получается
2 jONES1979
а как можно его получить?
поставил я себе adminpac.msi всеравно не получается
2 jONES1979
а как можно его получить?
Цитата:
Открываю страшную тайну, есть такая штука как Помощь.
Так вот:
del /s
Если честно, то не знаю, что произошло... но на работе пришлось вызывать системщиков ))
Прописал:
del /s c:\папка *.exe, *.txt, *.bak и ещё кучу всяких масок.
В итоге он всё правильно сделал, сначала удалил все ненужные файлы в указанной папке, а потом перешёл к остальным файлам на диске С:\
2 north_crow
надо запустить установку эксча. и выбрать из нее только администрирование.
надо запустить установку эксча. и выбрать из нее только администрирование.
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Зеркалирование дисков Win2000
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.