Так что, прежде всего, я довольно новичок в PowerShell (в течение последнего года). Я многое его понимаю сейчас, однако теперь API-вызовы для меня новы.Службы веб-службы Powershell API
У меня есть вопрос, как сделать вызовы API с помощью веб-вызовов, которые не требуют каких-либо значений. Или те, которые не требуют массива значений. Например: $ BSSPrincipalManagementWSP.ReadAccount («1_V4-0119341»)
Возвращает все, что я хочу. Но если я вхожу во что-то необычное, как веб-вызов для $ BSSPrincipalManagementWSP.UpdateAccountValues, первой переменной является внешний ID учетной записи, но второй переменной требуется accountValues в массиве.
Я пытался что-то вроде этого, чтобы выполнить его:
function Update-AccountValues
(
[string]$accountExternalId,
[array]$accountValues = @(Import-Csv -Path $ImportPath)
)
{
$accountValues
$BSSPrincipalManagementWSP.UpdateAccountValues($accountExternalId, $accountValues)
}
Update-AccountValues "1_V4-0119341"
Но я получаю следующее сообщение об ошибке:
Cannot convert argument "accountValues", with value: "System.Object[]", for "UpdateAccountValues" to type "BSSPrincipalManagementNS.AccountValue[]": "Cannot convert value
"@{Key=ScreenSaverTimeoutMinutes; Value=60}" to type "BSSPrincipalManagementNS.AccountValue". Error: "Cannot convert the "@{Key=ScreenSaverTimeoutMinutes; Value=60}" value of type
"System.Management.Automation.PSCustomObject" to type "BSSPrincipalManagementNS.AccountValue".""
At C:\Users\Matt Bergeron\AppData\Local\Temp\ff88f967-9d7c-4f6f-a424-212298a69655.ps1:61 char:2
+ $BSSPrincipalManagementWSP.UpdateAccountValues($accountExternalId, $accountValu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument
Я думал передать его «массив объектов accountValue» как это попросил о.
Все, что находится в файле CSV, это 2 столбца, 1 перечисленные как Ключи, а остальные - как значения. Они называются точно так, как их назвал файл OSS/BSS CHM.
Может ли кто-нибудь еще сказать, где я поступил не так? Любая помощь приветствуется.
Как я уже сказал, я действительно новичок в вызовах API, есть ли у вас рекомендации относительно того, где искать другой API для создания массива? спасибо за ваш вклад. – chamele0n
@ chamele0n Извините, но я ничего не знаю об этом API. Можете ли вы связаться с тем, кто создал веб-службу, чтобы получить указатель на документы? –