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

28/05/2014

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

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

Обновление пользователей

Обновление пользователя крайне похоже на создание пользователя. В отличии от групп, есть несколько похожих методов для разных наборов свойств.

Объект

Метод

User

UpdateUser

UserInfo

UpdateUserInfo

Password

UpdatePassword

Давайте сравним эти наборы параметров.

Параметр

AddUser

UpdateUser

UpdateUserInfo

UpdatePassword

userID

 

+

+

+

userName

+

 

+

 

password

+

 

 

+

atype

+

 

+

 

firstName

+

+

+

 

lastName

+

+

+

 

email

+

+

+

 

isActive

+

 

+

 

roleIdArray

+

 

+

 

vaultIdArray

+

 

+

 

Данную таблицу можно представить в виде гистограммы:

 

Теперь осуществим обновление пользователя.

Код - PowerShell: [Выделить]
  1. Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
  2. $global:g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
  3. $userID = 2
  4. $userName = 'Bosch'
  5. $password = '12345'
  6. $atype = 'Vault' # или 'ActiveDir'
  7. $firstName = 'Ерун Антонисон'
  8. $lastName = 'ван Акен'
  9. $email = 'bosch@painter.com'
  10. $isActive = $true
  11. $userIdArray = 3, 8, 10
  12. $groupIdArray = 2, 5, 7
  13. # Получаем ID хранилищ по именам
  14. $vaultIdArray = $g_login.WebServiceManager.FilestoreVaultService.GetKnowledgeVaultsByNames($vaultNameArray).Id
  15. # Получаем ID ролей по именам
  16. $roleIdArray = ($g_login.WebServiceManager.AdminService.GetAllRoles() | Where {$roleNameArray -contains $_.Name}).Id
  17. # Обновляем информацию пользователя
  18. $g_login.WebServiceManager.AdminService.UpdateUserInfo($userId, $userName,  $atype, $firstName, $lastName, $email, $isActive, $roleIdArray, $vaultIdArray)
  19. # Обновляем пользователя
  20. $g_login.WebServiceManager.AdminService.UpdateUser($userId, $firstName, $lastName, $email)
  21. # Обновляем пароль пользователя
  22. $g_login.WebServiceManager.AdminService.UpdatePassword($userId, $firstName, $lastName, $email)

Стоит отметить, что ни один из этих методов не возвращает никакого значения.

 

 

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

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

Опубликовано 28.05.2014
Отредактировано 06.08.2014 в 14:57:38