如何修复 "add-member : Cannot add a member with the name "“因为同名成员已存在”

How To fix "add-member : Cannot add a member with the name "" because a member with that name already exists"

我需要在 LogicApp 服务上列出多个 FTP 连接并将此列表导出到 csv 文件。此导出用于查看 SSL 协议连接是否激活。我的脚本生成此错误。

add-member : 无法添加名称为 "FTP" 的成员,因为已存在名称为该名称的成员。无论如何要覆盖该成员,请将 Force 参数添加到您的命令中。

LogicApp FTP 连接: https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-ftp

我需要在 excel 上以这种格式添加这些 FTP 连接:

format need

            $LogicApp_temp = $null
            $LogicApp_obj = @()
            $LogicApp_temp = new-object PSObject

            $FTPAll = Get-AzResource -ResourceGroupName $RG -ResourceType Microsoft.Web/connections

            foreach ( $FTPAlls in $FTPAll ) {

            $FTPName = $FTPAlls.name

            $FTPName1 = Get-AzResource -ResourceGroupName $RG -ResourceType Microsoft.Web/connections -Name $FTPName 

            foreach ($FTPName2 in $FTPName1) {

            $FTPcheckType = $FTPName2.Properties.api.name

            if ( $FTPcheckType -eq  "ftp") {

            $FTPSSL1 = $FTPName1.Properties.parameterValues.isSSL

            }

            else {

            }
                $LogicApp_temp | add-member -MemberType NoteProperty -Name "FTP" -Value "$FTPName2.Properties.displayName $FTPSSL1"
            }

            }
            $LogicApp_obj += $LogicApp_temp
            Write-Output "LogicApp Name : $Name Ressource Group : $RG OK"

            # CSV Exports : 
            $LogicApp_obj | Export-Csv $csvPath -Append -NoTypeInformation

提前感谢您的帮助

因为PSObject 属性一次只能设置一个值,如果使用-Force,会覆盖之前的值

如果您想获得与您提供的格式相同的 .csv 文件,我们可以先附加每个字符串,例如 joyftp True

我的工作示例:

$RG = "<resource group name>"  

$LogicApp_obj = @()
$value = ""

$FTPAll = Get-AzResource -ResourceGroupName $RG -ResourceType Microsoft.Web/connections

foreach ( $FTPAlls in $FTPAll ) {

$FTPName = $FTPAlls.name

$FTPName1 = Get-AzResource -ResourceGroupName $RG -ResourceType Microsoft.Web/connections -Name $FTPName 

foreach ($FTPName2 in $FTPName1) {

$FTPcheckType = $FTPName2.Properties.api.name
$displayname = $FTPName2.Properties.displayName
$LogicApp_temp = New-Object -TypeName PSObject

if ( $FTPcheckType -eq  "ftp") {


$FTPSSL1 = $FTPName1.Properties.parameterValues.isSSL

$value += "$displayname $FTPSSL1 | "
$LogicApp_temp | add-member -MemberType NoteProperty -Name "FTP" -Value "$value" -Force 

}

}

}

Write-Output "LogicApp Name : $Name Ressource Group : $RG OK"

# CSV Exports : 
$LogicApp_temp | Export-Csv -Path "C:\Users\joyw\Desktop\ftp.csv" -NoTypeInformation

.csv 文件: