Управление локальными секциями
В качестве альтернативы созданию и настройке локальных секций с помощью средства администрирования служб компонентов можно программно управлять секциями с помощью коллекций и свойств, относящихся к секциям COM+.
Примечание.
Служба секций COM+ не включена по умолчанию. Чтобы использовать службу секций COM+, необходимо включить ее с помощью средства администрирования служб компонентов или изменить свойство PartitionsEnabled в коллекции LocalComputer на True.
В следующем подразделе, написанном в скрипте Visual Basic, показано, как создать секцию на локальном компьютере:
Sub CreatePartition (PartitonGuid, PartitionName)
Set cat = CreateObject("COMAdmin.COMAdminCatalog")
Set collPartitions = cat.GetCollection("Partitions")
collPartitions.Populate
Set part = collPartitions.Add
' If you don't specify a partition GUID, one is created for you.
' Otherwise, you can specify one this way:
part.Value("ID") = PartitonGuid
part.Value("Name") = PartitionName
collPartitions.SaveChanges
Set part = Nothing
Set collPartitions = Nothing
Set cat = Nothing
End Sub
В следующем подразделе, написанном в скрипте Visual Basic, показано, как удалить секцию с локального компьютера:
Sub DeletePartition (PartitionName)
Set cat = CreateObject("COMAdmin.COMAdminCatalog")
Set collPartitions = cat.GetCollection("Partitions")
collPartitions.Populate
numPartitions = collPartitions.Count
' Begin with the last partition, and work forward through the list.
For i = numPartitions - 1 To 0 Step -1
If collPartitions.Item(i).Value("Name") = PartitionName Then
collPartitions.Remove i
End If
Next
collPartitions.SaveChanges
Set collPartitions = Nothing
Set cat = Nothing
End Sub
В следующем подразделе, написанном в скрипте Visual Basic, показано, как задать секцию по умолчанию для пользователя:
Sub SetDefaultPartitionForUser(UserName, PartitionGuid)
Set cat = CreateObject("COMAdmin.COMAdminCatalog")
Set collUsers = cat.GetCollection("PartitionUsers")
collUsers.Populate
Set user = collUsers.Add
user.Value("AccountName") = UserName
user.Value("DefaultPartitionID") = PartitionGuid
collUsers.SaveChanges
Set collUsers = Nothing
Set cat = Nothing
End Sub
В следующем подразделе, написанном в скрипте Visual Basic, показано, как удалить секцию по умолчанию для пользователя:
Sub RemoveDefaultPartitionForUser(UserName)
Set cat = CreateObject("COMAdmin.COMAdminCatalog")
Set collUsers = cat.GetCollection("PartitionUsers")
collUsers.Populate
numUsers = collUsers.Count
' Begin with the last user, and work forward through the list.
For i = numUsers - 1 To 0 Step -1
If collUsers.Item(i).Value("AccountName") = UserName Then
collUsers.Remove i
End If
Next
collUsers.SaveChanges
Set collUsers = Nothing
Set cat = Nothing
End Sub
См. также