Лёгкое программирование под Autodesk Vault. Часть 13
Для получения информации пользователя необходимо вызвать методов Get*:
Объект |
Опция |
Название метода |
AllUsers |
GetAllUsers |
|
User |
ByUserId |
GetUserByUserId |
MemberUsers |
ByGroupId |
GetMemberUsersByGroupId |
UserInfo |
ByUserId |
GetUserInfoByUserId |
UserInfos |
ByUserIds |
GetUserInfosByUserIds |
Самый простой – это GetAllUsers(), который возвращает всех пользователей, и при этом не требует входных параметров. После этого вы можете вывести все объекты, либо отфильтровать необходимые. В PowerShell фильтрацию можно осуществить при помощи командлета Where-Object:
- 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)
- # Получаем всех пользователей
- $allUsers = $g_login.WebServiceManager.AdminService.GetAllUsers()
- #Осуществляем выборку по всем активным пользователям
- #Аналогично вы можете найти пользователя по имени
- $UserName = 'Босх'
Зная ID пользователя, можно получить конкретного пользователя.
- 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)
- $UserID = 2
- $GroupId = 'Художники северного возрождения'
- # Получаем и выводим пользователей по имеющимся данным
- $user1 = $g_login.WebServiceManager.AdminService.GetUserByUserId($UserID)
- $user1 | Out-GridView -Title ('Пользователь с ID='+ $UserID)
- $users1 = $g_login.WebServiceManager.AdminService.GetMemberUsersByGroupId($GroupId)
- $users1 | Out-GridView -Title ('Пользователи группы с ID='+ $GroupId)
Однако класс User не хранит исчерпывающую информацию о пользователе. Существует расширяющий его класс UserInfo. Получить экземпляры объектов этого класса также можно при помощи вызова соответствующих методов.
- 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)
- $UserID = 2
- $UserIDs = 2,3
- # Получаем информацию по пользователям на основании имеющихся данных
- $groupInfo = $g_login.WebServiceManager.AdminService.GetUserInfoByUserId($UserID)
- $groupInfo.Roles | Out-GridView -Title ('Роли пользователя с ID='+$UserID)
- $groupInfo.User| Out-GridView -Title ('Информация пользователя с ID='+$UserID)
- $groupInfo.Vaults | Out-GridView -Title ('Хранилища, доступные пользователю с ID='+$UserID)
- $groupsInfos = $g_login.WebServiceManager.AdminService.GetUserInfosByUserIds($UserIDs)
- $groupsInfos | Out-GridView -Title ('Информация пользователей с ID='+$UserIDs)
Автор перевода: Дмитрий Емельянов
Обсуждение: http://adn-cis.org/forum/index.php?topic=676
Опубликовано 13.04.2014Отредактировано 06.08.2014 в 15:01:56