У меня есть функция, которая возвращает PartnerID CustomerID и работает нормально
function Get-MicrosoftPartnerCustomers {
[CmdletBinding()]
param (
)
begin {
}
process {
$Customers = Get-PartnerCustomer
$Customers.ForEach({
Write-Output $_.CustomerId
})
}
end {
}
}
Я создал другую функцию для получения подписки Partner Client (входной параметр CustomerID, который будет предоставлен функцией Get-MicrosoftPartnerCustomers)
function Get-MicrosoftSubscriptionData {
[CmdletBinding()]
param (
# Customer ID from Microsoft Partner Center
[Parameter(Mandatory=$true,ValueFromPipeline=$true)][string[]]$CustomerId
)
process {
$CustomerId.ForEach({
$CustomerId = $_
echo $CustomerId
$Subscriptions = Get-PartnerCustomerSubscription -CustomerId $CustomerId
} }}
Сначала позвоните Get-MicrosoftPartnerCustomers
, чтобы получить идентификатор клиента для каждого клиента и предоставить вывод (CustomerID) для Get-MicrosoftSubscriptionData
$custIDs = Get-MicrosoftPartnerCustomers
foreach ($custID in $custIDs)
{
Get-MicrosoftSubscriptionData -CustomerId $custID
}
И получите эту ошибку:
Get-PartnerCustomerSubscription: Невозможно преобразовать 'System.String []' в тип> System.String, требуемый параметром CustomerId. Указанный метод> не поддерживается
Я прогуглил его, и эта ошибка может указывать на то, что Get-PartnerCustomerSubscription
одновременно предоставляется несколькими CustomerId
параметрами, но не знаю, как предоставить один за другим CustomerId