Autodesk Vault 程序员手册/登录/登录 Vault
外观
建立 Autodesk Vault 连接。
使用凭据参数从 Autodesk.Connectivity.WebServices.dll 创建 WebServiceManager。
#Connecting dll
Add-Type -Path "C:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.Connectivity.WebServices.dll"
#Retreiving read-only credentials
$cred = New-Object Autodesk.Connectivity.WebServicesTools.UserPasswordCredentials ("localhost", "Vault", "Administrator", "", $true)
#Creating manager
$webSvc = New-Object Autodesk.Connectivity.WebServicesTools.WebServiceManager ($cred)
WebServiceManager 是您通往 Vault API 花园的大门。而 IWebServiceCredentials 是这扇门的钥匙。
您可以通过至少 16 种不同的方式(A-P)获得 IWebServiceCredentials。
连接后,您可以获取有关连接的更多信息
方法 | 描述 |
---|---|
ReadOnly | 获取连接是否为只读。 |
RequiresSignIn | 获取一个值,指示在使用服务之前是否需要登录。 |
RequiresSignOut | 获取一个值,指示当服务超出范围时是否应调用注销。 |
SecurityHeader | 获取安全标头。 |
ServerIdentities | 获取服务器标识。 |
SupportsSignIn | 获取一个值,指示凭据是否可以登录。 |
SupportsSignOut | 获取一个值,指示凭据是否可以注销。 |
UserName | 获取用户名。 |
VaultName | 获取 Vault 名称。 |
连接是一个非常简单的操作,但对于任何需要连接到 Vault 服务器的程序来说都是基础。这是一个使用 UserPasswordCredentials 登录的算法
这是一个“cmd 版本”,它可以处理错误并提供更多详细的信息
param ($help,$VServer,$VVault,$VUser,$VPass,$VOut)
$WebServicesPath2014="C:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.Connectivity.WebServices.dll"
if ($help)
{
"Login Vault with read-only connection`n"
"Usage:"
" Login-VaultServer.ps1 -Vserver <server address> -VVault <vault name> -VUser <username> [-VPass <password>]`n"
"Arguments:"
" -Vserver Autodesk Vault server name. In any format: IP, DNS, IP:port, DNS:port."
" -VVault Vault name."
" -VUser Registered user name."
" -VPass Password."
"`nExample:"
" powershell .\Export-FileCategories.ps1 -Vserver localhost -VVault Vault -VUser Administrator -VPass pass`n"
exit
}
else{
if (!$VServer -or !$VVault -or !$VUser){"Invalid arguments. Use 'help' argument for more help"
exit}
}
try
{
"Trying to find Vault 2014 dll"
Add-Type -Path $WebServicesPath2014 #Vault 2014
}
Catch
{
"No dlls were found. Edit script or contact author."
exit
}
"Found - executing"
try{
$cred = New-Object Autodesk.Connectivity.WebServicesTools.UserPasswordCredentials ($VServer,$VVault,$VUser,$VPass,$true)
$webSvc = New-Object Autodesk.Connectivity.WebServicesTools.WebServiceManager ($cred)
Write-Output $webSvc
}
Catch
{"Login failed"
exit}
当然,最佳的登录方式是使用 VDF 中的对话框。
#Connect dll
Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
#Call login dialog and workflow, get credentials on successful login
$g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
这样,您将获得一个登录对话框,其中包含上次输入的信息。