Powershell将AzureDataFactory作为变量传递给

时间:2017-10-30 19:01:11

标签: powershell

我正在尝试将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".

所以最终,我有点困惑我应该如何编码......

任何帮助表示感谢。

0 个答案:

没有答案