我正在尝试将PSDataFactory传递给Powershell中的函数。 但我一直遇到错误。 这是脚本。
function DeleteAPipeline ([Microsoft.WindowsAzure.Commands.Utilities.PSDataFactory] $ldf, $lplName)
{
try
{
$lpl = Get-AzureRmDataFactoryPipeline -DataFactory $ldf -Name $lplName -EA SilentlyContinue
if ($lpl)
{
Remove-AzureRmDataFactoryPipeline -DataFactory $ldf -Name $lplName -Force
}
}
catch
{
Write-Host ("Try-Catch during DeleteAPipeline : $($lplName)")
}
}
$rgName = "RGR-LabScenario003"
$dfName = "df-cern-xml"
$path = "C:\Cernv2\"
$AZcontext = "C:\CernV2\Powershell\ProfileContext.ctx"
Import-AzureRmContext -Path $AZcontext
$df = Get-AzureRmDataFactory -ResourceGroupName $rgName -Name $dfName
DeleteAPipeline ($df, "ledw-BL_GT")
我得到的错误是
DeleteAPipeline : Unable to find type [Microsoft.WindowsAzure.Commands.Utilities.PSDataFactory].
迁移的问题是声明是错误的,但这是我在https://docs.microsoft.com/en-us/powershell/module/azurerm.datafactories/get-azurermdatafactory?view=azurermps-4.4.1上的函数中找到的
但是当我没有声明'type'并且只是编写函数DeleteAPipeline($ ldf,$ lplName)时,错误变为
Cannot convert 'System.Object[]' to the type 'Microsoft.Azure.Commands.DataFactories.Models.PSDataFactory' required by parameter
使用最后的参考结果则是一个奇怪的错误
Cannot convert the "System.Object[]" value of type "System.Object[]" to type "Microsoft.Azure.Commands.DataFactories.Models.PSDataFactory".
所以最终,我有点困惑我应该如何编码......
任何帮助表示感谢。