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

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

Автор: FreemanRU
Дата сообщения: 18.05.2006 13:52
KapralBel
Oldster
Он показывает только текущий каталог.
Т.е. чтобы получить разрешения для определнного каталога, нам надо перейти в папку уровнем выше, вызвать cacls *, потом отсеять весь мусор и получить нужный каталог. ИМХО геморой еще тот. И это не называется, что cacls может показать разрешения для ОПРЕДЕЛЕННОГО каталога.

Добавлено:
ЗЫ перечитал вопрос Sk1f еще раз, в принципе ему может подойти и cacls. Но всё выше изложенное это не отменяет.
Автор: KapralBel
Дата сообщения: 18.05.2006 14:11
FreemanRU
Sk1f

fld_acl.cmd

Код: @Echo Off
For /R F:\Work\1 %%a In (.) Do Call :_P %%a
GoTo :EOF

:_P
Set fld=%*
Cacls "%fld:~0,-2%" >>Folder.txt

Автор: Sk1f
Дата сообщения: 18.05.2006 14:19
FreemanRU точно cacls. А точнее один из его производных.
Вообще кто будет связан с такими задачами советую subinacls или xcacls. Дело в том, что cacls не может изменять все permissions.
Информация по subinAcls:

http://www.osp.ru/win2000/worknt/advice/28adv09.htm
http://net.mpei.ru/lang/rus/faqw2kxp/jsifaq/rh8530.htm
http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en

Информация по xcacls:

http://net.mpei.ru/lang/rus/faqw2kxp/jsifaq/rh8225.htm
http://www.support.microsoft.com/?id=825751
http://www.support.microsoft.com/?id=318754
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q243330

Автор: FreemanRU
Дата сообщения: 18.05.2006 14:21
KapralBel
Нэ силен я в cmd-писании.... так что...
Мне проще на VBS
Еще надо учесть, что запуск может быть с указанием сетевого пути (т.е. если путь UNC - подцепить диск). А так может вполне и пойдет...
Автор: KapralBel
Дата сообщения: 18.05.2006 14:31
FreemanRU
И UNC - работатет

Код:
For .R \\Srv1\Allnet ...
Автор: FreemanRU
Дата сообщения: 18.05.2006 15:33
Разбирали проблему Oldster, и нашел, что JSCript не понимает массив Array Of Variant. Я когда-то читал, что это как0то обходится. Если у кого-о есть ссылки - просьба помочь.
Автор: Refugee
Дата сообщения: 19.05.2006 02:47
FreemanRU
var desc=(new VBArray(objRecordSet.Fields("description").Value)).toArray();
WScript.Echo(desc[0]);

кстати, array of variant в JScript делается через (Scripting.Dictionary).Items()
Автор: listadm
Дата сообщения: 19.05.2006 05:52
Я уже писал может кто то поможет
******************************************
Помогите решить задачу:
есть текстовый файл такового содержания:
*********************
ХХХХХХХХХХХХХХХХХХХХХ
ХХХХХХХХХХХХХХХ
!!!!!!!!!!!!!!ХХХХХХХХХХХХ

ХХХХХХХХХХХХХХХХХХХ
ХХХХХХХХХХХХХХХХХХХХ
************************

Нужно удалить пустую строку в этом файле.
Можно VB.
Автор: Sk1f
Дата сообщения: 19.05.2006 08:32
listadm Тебе нужно только пустую строку?
А еще пустые ячейки есть?
Посмотри метод Replace(), но дело в том, что он тебе грохнет и все пустые ячейки.
Автор: AleXeyS55
Дата сообщения: 19.05.2006 11:58
До сих пор бьюсь над задачей: нужно удалить из некоторой группы на локальном компе локальных пользователей, а доменных не трогатью Проблема еще может остложниться тем что там могут быть пользователи локальный и доменный с одинаковыми именами, например Anton и AD\Anton.
Может кто нибудь помочь?
Автор: Jovanotti
Дата сообщения: 19.05.2006 18:23
listadm
Если VBS умеет регулярные выражения
то примерно так:

Код: s/^.*$//
Автор: serstr
Дата сообщения: 22.05.2006 10:54
Подскажите пппллззз...
В Exel есть такой вот кусок:

Set objConnection = CreateObject("ADODB.Connection")
objConnection.provider = "ADsDSOObject"
objConnection.Open ("Active Directory Provider")

CommandText = "Select cn, name, Description, distinguishedName, MemberOf, employeeID, sAMAccountName"
CommandText = CommandText + " from 'LDAP://DC=bubsw,DC=com'"
CommandText = CommandText + " where objectClass='person' and objectClass<>'computer'"
CommandText = CommandText + " ORDER BY cn"

Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.Open CommandText, objConnection

это запрос в Ад на получения следующей инфы: cn, name, Description, distinguishedName, MemberOf, employeeID, sAMAccountName. Вопрос состоит в следующем, где можно посмотреть как описываются остальные данные для запроса из properties. Вот я хочу также вытащить инфу о Home folder и Profile Path и возможно еще несколько жанных, как их можно добавить в текущий запрос? и не подскажите где можно почитать описания этих завпросов?


=========================================
с Home folder и Profile Path разобрался сам, вопрос теперь в другом.
Как из Exel создать юзера в АД используя инфу из Exel-листа. Допустим в каждой строке инфа о пользоватиле: cn, name, Description, distinguishedName, MemberOf, employeeID, sAMAccountName, profilePath, homeDirectory.

Автор: FreemanRU
Дата сообщения: 22.05.2006 11:20
serstr

Цитата:
как описываются остальные данные

Platform SDK: Active Directory Schema - Parameters
Автор: serstr
Дата сообщения: 22.05.2006 11:26
FreemanRU
Спасибо! Очень полезная ссылка!!!



А ктонить может помоч с созданием юзера в АД по средствам Exel и VBA...
Автор: FreemanRU
Дата сообщения: 22.05.2006 11:28
serstr
Посмотри пример:
Create a User Account and Add it to a Group and an OU
Автор: serstr
Дата сообщения: 22.05.2006 11:34

Цитата:
Посмотри пример:
Create a User Account and Add it to a Group and an OU


Так это же не VBA. Или в данном случае если тоже писать как макрос Exel, синтаксис будет идентичен? Заисключением того, что информацию буду брать из соответсвующих ячеик. Так?
Автор: FreemanRU
Дата сообщения: 22.05.2006 12:16
serstr

Цитата:
Или в данном случае если тоже писать как макрос Exel, синтаксис будет идентичен? Заисключением того, что информацию буду брать из соответсвующих ячеик. Так?

Именно. Синтаксис VBA и VBS на 90% идентичен.
Автор: serstr
Дата сообщения: 22.05.2006 16:51
Да все получилось! Большое спасибо за совет.

В догонку еще такой вопросик. Как создать бинарный ключ со значением: 44,00,69,00,73,00,63,00,6c,00,61,00,69,00,6d,00,65,00,72,00,00,00
Это записано слово Disclaimer
Вот такая команда не прокатывает:
WshShell.RegWrite "HKCU\MyRegKey\New Signature", _
"44,00,69,00,73,00,63,00,6c,00,61,00,69,00,6d,00,65,00,72,00,00,00", "REG_BINARY"

Подскажите как правильно
Автор: FreemanRU
Дата сообщения: 22.05.2006 17:10
serstr
Могу только показать кусочек примера из MSDN:

Код:
....
WshShell.Reg "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
....
Автор: serstr
Дата сообщения: 23.05.2006 08:13
FreemanRU
Не совсем тебя понял. Как я смогу передать весь массив(причем состоящий не только из цифр но и букв) в одной записи. Это же не может выглядеть вот так:
WshShell.Reg "HKCU\Software\ACME\FortuneTeller\", Array(), "REG_BINARY"

И еще вопрос: Массив задавать каким образом?
Array(1) = 44
Array(2) = 69
Array(3) = 73
....
Array(5) = "4c"
....
Так?
Сорри за такие глуппые вопросы.
Автор: FreemanRU
Дата сообщения: 23.05.2006 10:18
serstr


Цитата:
состоящий не только из цифр но и букв

Это 16ричное представление чисел
4с = 76 н-р.
В VBS число в 16ричное представлении записывает как &hчисло, н-р &h4c

Код:
WScript.Echo &h4c
Автор: serstr
Дата сообщения: 23.05.2006 10:45
Вставляю эту строку:

Цитата:
Код:WshShell.Reg "HKCU\Software\ACME\FortuneTeller\", (&h44,0,&h69,0,&h73,0,&h63,0,&h6c,0,&h61,0,&h69,0,&h6d,0,&h65,0,&h72,0,0,0 ), "REG_BINARY"

выдает ошибку: Char: 52
Error: Expected ')'
Code: 800A03EE

Вроде же все номрально....


FreemanRU

Насколько я понял, так массив в данном случае задовать нельзя...

Вопрос остается открытым!

Перерыл кучу инфы из инета по этой проблеме, так ничего и не нашел
Оказывается создавать длиный бинарный ключ - это не такая уж тревиальная задача, которую я досихпор не смог решить (
Нужен HELP!!!!
Автор: serstr
Дата сообщения: 24.05.2006 10:31
Всем спасибо!
Решил проблему вот так:

set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKCU\MyRegKey\", ""
strComputer = "."
Const HKEY_CURRENT_USER = &H80000001
Set objRegProvider = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
regPath = "MyRegKey"
regValueName = "New Signature"
binValueData = Array(&H44, &H0, &H69, &H0, &H73, &H0, &H63, &H0, &H6C, &H0, &H61, &H0, &H69, &H0, &H6D, &H0, &H65, &H0, &H72, &H0, &H0, &H0)
objRegProvider.SetBinaryValue HKEY_CURRENT_USER, regPath, regValueName, binValueData
Автор: serstr
Дата сообщения: 25.05.2006 15:42
Всем Доброго времини суток!

В процессе работы возникла вот такая проблемма.
Как по средствам VBS вытащить информацию о том какой Mailbox Store у юзера записан в АД! Это параметр Exchange сервера. Там нужно построить запрос через CDOEXM объект.
Сначало создать объект: Set oDB = CreateObject("CDOEXM.MailboxStoreDB")

Только вот как дальше формировать запрос? и Как организовать чтобы он пробегал по все юзерам?
Автор: urel
Дата сообщения: 25.05.2006 18:59
serstr

есть атрибут у в свойствах пользователя homeMDB - он указывает на стор
Автор: serstr
Дата сообщения: 26.05.2006 07:54
urel

Цитата:
есть атрибут у в свойствах пользователя homeMDB - он указывает на стор


А можно об этом чуть поподробнее...
Что за атрибут? как по средствам VBS дойти до homeMDB?
Автор: niichavo
Дата сообщения: 26.05.2006 09:18
Человеки!
Может знает кто-нить как с помощью скрипта отследить то, что записывается на USB-накопители, т.е. флэшки, а также на floppy и CD? Я имею в виду файлы, папки, включая их пути. С сидюком, вроде проще. Нужно, как я понимаю, следить за папкой "C:\Documents and Settings\Некий Юзверь\Local Settings\Application Data\Microsoft\CD Burning". Или я не прав? ...А вот как следить за тем, что записывается на floppy и флэшки?..

И ещё. Как отрубить запись (только!) на floppy? Как отрубить весь флопак я знаю. Тему по адресу я читал, но там ничего из того, что мне нужно не нашёл.
Автор: serstr
Дата сообщения: 26.05.2006 10:11

Цитата:
urel

Цитата:есть атрибут у в свойствах пользователя homeMDB - он указывает на стор


А можно об этом чуть поподробнее...
Что за атрибут? как по средствам VBS дойти до homeMDB?


Разобрался сам спасибо!
Автор: listadm
Дата сообщения: 26.05.2006 13:35
уже писал может кто то поможет
******************************************
Помогите решить задачу:
есть текстовый файл такового содержания:
*********************
ХХХХХХХХХХХХХХХХХХХХХ
ХХХХХХХХХХХХХХХ
!!!!!!!!!!!!!!ХХХХХХХХХХХХ

ХХХХХХХХХХХХХХХХХХХ
ХХХХХХХХХХХХХХХХХХХХ
************************

Нужно удалить пустую строку в этом файле.
Файл текстовый.
скажем user.txt
Автор: alexxxn
Дата сообщения: 26.05.2006 14:28
может попробовать читать файл по строкам, и если length строки <> 0 - то копировать эту строку во временный файл. по окончании - временный файл переименовать.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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