11/04/2014
Лёгкое программирование под Autodesk Vault. Часть 9
Добавление групп представляет собой довольно простую операцию – для этого достаточно осущзествить вызов соответствующего метода AddGroup(). Самым проблематичным в данной ситуации является получение всех требуемых параметров, а именно идентификаторов ролей и хранилищ.
Коды требуемых хранилищ можно получить по их именам при помощи метода GetKnowledgeVaultsByNames. ID ролей по именам можно получить путём фильтрации всех объектов по требуемым критерию «Name»:
Собственно, полный код программы:
Код - PowerShell: [Выделить]
- Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
- $global:g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
- $groupName = 'New group'
- $atype = 'ActiveDir' # or 'Vault'
- $isActive = $true
- $emailDL = 'newGroup@email.com'
- $roleNameArray = "Редактор документа (уровень 2)", "Диспетчер ERP"
- $vaultNameArray = "Vault", "Vault Test-Drive"
- # Получаем ID хранилищ по именам
- $vaultIdArray = $g_login.WebServiceManager.FilestoreVaultService.GetKnowledgeVaultsByNames($vaultNameArray).Id
- # Получаем ID ролей по именам
- $roleIdArray = ($g_login.WebServiceManager.AdminService.GetAllRoles() | Where {$roleNameArray -contains $_.Name}).Id
- #Создаём группу
- $newGroup = $g_login.WebServiceManager.AdminService.AddGroup($groupName, $atype, $isActive, $emailDL, $roleIdArray, $vaultIdArray)
- # Выводим результат
- $newGroup | Out-GridView -Title 'Новая группа'
Автор: Дмитрий Емельянов
Автор перевода: Дмитрий Емельянов
Отредактировано 06.08.2014 в 15:04:05
Автор перевода: Дмитрий Емельянов
Обсуждение: http://adn-cis.org/forum/index.php?topic=668
Опубликовано 11.04.2014Отредактировано 06.08.2014 в 15:04:05