ADN Open CIS
Сообщество программистов Autodesk в СНГ

09/04/2014

Лёгкое программирование под Autodesk Vault. Часть 5

НазадСодержаниеДалее


Если вы администратор Autodesk Vault, возможно ваша служба теперь будет более удобной – на подходе пакет скриптов на языке PowerShell. С их помощью вы сможете работать c сервером имея лишь Vault SDK и PowerShell.

Для более лёгкого управления и редактирования этого пакета предлагается использовать PowerGUI. А вот собственно и пакет: Autodesk Vault 2014 PowerPack.

Предлагаю пробежаться по скриптам, чтобы понять принцип их функционирования. Скрипт позволяет получить информацию о пользователях и их ролях. Обратите внимание, что описание функции предшествует её вызову

Код - PowerShell: [Выделить]
  1. #4. Определение функции
  2. Function global:Add-PowerGUIVaultUser {
  3. #5. Принимаемые функцией параметры
  4.   param ($obj)
  5.   #6. Получение объекта текущего подключения
  6.   $cur = [quest.powergui.hostfactory]::current.application.navigation.currentitem;
  7.   #7. Функция AddChild добавляет дочерний узел, и возвращает объект, так что можно выставить его метку и сод
  8.   $ch = $cur.AddChild()
  9.    #8.Задание значения метки узла
  10.   $ch.Name = $_.Name
  11.   #9. Описание кода, который будет выполнен при создании новой роли.
  12.   $ch.Script = '$g_login.WebServiceManager.AdminService.GetUserByUserId('+$_.Id+')'
  13.     #10. Возврат объекта обратно. Например, в  представление сеткой
  14.   $_
  15. }
  16. #1. Проверка наличия подключения. Если его нет, то установить.
  17. if ($g_login -eq $null)
  18. #2. Подключение файла библиотеки VDF из Vault SDK.
  19.                 {
  20.                 Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
  21. #3. Объявляем объект полномочий глобальным
  22. #он будет доступен в пределах всего сеанса PowerGUI.
  23.                 $global:g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
  24.                 }
  25. $g_login.WebServiceManager.AdminService.GetAllusers() | foreach {Add-PowerGUIVaultUser $_}

Из Украины с любовью!

Автор: Дмитрий Емельянов
Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=661

Опубликовано 09.04.2014
Отредактировано 06.08.2014 в 15:06:14