我正在尝试弄清楚如何使用vbscript将本地组添加到(按需)发布点。
该组只需要对其进行读取访问。该小组(当然)已经首先创建。
系统:带有Media Services 2008的Windows Server 2008 R2 x64(适用于R2)。它不是域控制器,没有Active Directory。
上下文:使用一个Pub运行媒体服务器。每部电影的点数,并使用该组允许/拒绝访问该Pub。基于每个用户的点/电影。 我可以手动添加组,但我真的想用(vb)脚本来完成它。
手动完成: (首先创建一个本地组)。 在服务器管理器中,单击按需发布点,“属性”选项卡,“授权”,“WMS发布点ACL授权”(当然必须启用),右键单击它 - 选择“属性”。 奇怪的是,默认情况下,组未在对象类型中启用,因此必须专门使它们能够添加组。
我能找到的最接近的例子是:(它在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
任何人都可以提出将组添加到发布点的正确方法吗?
答案 0 :(得分:0)
最后一行必须是:
Set objACE = AccessCtrlList.Add("MEDIESERVER\test", 16 )
出于某种原因,我确信最后的行为是加入了 小组不应该在前面有一套“Set”。我以为这只是 用于创建或定义对象,但显然它也用于填充 他们用实际数据。令人讨厌的是,它几乎与“Set”一起工作 失踪,这让我觉得我只是有一些小细节错了,但是 无法知道它是什么。
心理记录:用数据填充对象不像设置一样 变量或常数。