Как я могу добавить локальную группу в Publishing Point с помощью VBScript? - PullRequest
1 голос
/ 09 ноября 2011

Я пытаюсь выяснить, как добавить локальную группу в точку публикации (по требованию) с помощью vbscript.

Группе просто необходим доступ для чтения к ней.Группа (конечно) была создана первой.

Система: Windows Server 2008 R2 x64 с Media Services 2008 (для R2).Это не контроллер домена, там нет Active Directory.

Контекст: запуск медиа-сервера с одним пабом.Укажите на фильм и используйте группу, чтобы разрешить / запретить доступ к этому пабу.Точка / фильм для каждого пользователя.Я могу добавить группу вручную, но я действительно хотел бы сделать это с помощью скрипта (vb).

Чтобы сделать это вручную: (сначала создайте локальную группу).В диспетчере сервера щелкните точку публикации по требованию, вкладка Свойства, Авторизация, Авторизация ACL точек публикации WMS (которая, конечно, должна быть включена), щелкните ее правой кнопкой мыши и выберите Свойства.Как ни странно, группы по умолчанию не включены в типах объектов, поэтому нужно специально включить их, чтобы иметь возможность добавлять группу.

Ближайший пример, который мне удалось найти, это: (это в VB.Net)
http://msdn.microsoft.com/en-us/library/dd875036%28v=VS.85%29.aspx

Мой (почти работающий) скрипт на данный момент:

Dim Server
Dim ODPubPoint
Dim Plugin
Dim ACLCheckAdmin
Dim AccessCtrlList
Dim objACE

' Create a new WMSServer object.
Set Server = CreateObject("WMSServer.server","localhost")

' Create a new ODPubPoint object.
Set ODPubPoint = Server.PublishingPoints.Item("supersizeme")

' Retrieve the plug-in to be configured.
Set Plugin = ODPubPoint.EventHandlers.Item("WMS Publishing Points ACL Authorization")

' Retrieve the custom interface of the plug-in.
Set ACLCheckAdmin = Plugin.CustomInterface

' Retrieve the list of access control entries.
Set AccessCtrlList = ACLCheckAdmin.AccessControlList

' Create an object to be able to add to the access control list.
Set objACE = CreateObject("AccessControlEntry")

objACE = AccessCtrlList.Add("MEDIESERVER\hest", 16 )


Группа действительно добавляется, но скрипт умирает с ошибкой:
ppaddgroup.vbs (27, 2) Ошибка времени выполнения Microsoft VBScript: объект не поддерживает это свойство или метод.

В примере VB.Net он говорит WMS_ACCESS_CONTROL.WMS_ACL_ALLOW_ALL, который я понятия не имею, какконвертировать из VB.Net в VBScript.Я думал, что это просто константа, но, видимо, нет.
(и я просто хочу разрешить доступ для чтения, как в WMS_ACL_ALLOW_READ).

Я нашел константы на этой странице:
http://include.wutils.com/com-dll/constants/constants-WMSServerLib.htm

Может кто-нибудь придумать правильный способ добавить группу в пункт публикации?

1 Ответ

0 голосов
/ 10 ноября 2011

За Предыдущее редактирование Грейлиона :

Последняя строка должна быть:

Set objACE = AccessCtrlList.Add("MEDIESERVER\test", 16 )

По какой-то причине ябыл убежден, что в заключительном акте о добавлении группы не должно быть «Сета» впереди.Я думал, что это было только для создания или определения объектов, но, очевидно, это также для заполнения их фактическими данными.Досадно, что это почти сработало с отсутствием «Set», из-за чего я подумал, что у меня просто не все мелкие детали неверны, но нет способа узнать, что это было.

Ментальное примечание: заполнение объекта данными НЕ похожеустановка переменной или константы.

...