Powershell 为什么此对话框中的Set-MailContact-EmailAddresses行返回错误?

Powershell 为什么此对话框中的Set-MailContact-EmailAddresses行返回错误?,powershell,csv,office365,Powershell,Csv,Office365,正如您从屏幕截图中看到的,我在运行脚本时出错,但当我从Write Host获取输出并将其粘贴到中时,它成功运行,发生了什么 对于测试,我注释掉了newmailcontact,并在末尾添加了Write Host $CSVpath = Read-Host -Prompt "Enter the path of the contacts .csv" Import-Csv "$CSVpath" | ForEach-Object { $name = $_.displayName

正如您从屏幕截图中看到的,我在运行脚本时出错,但当我从
Write Host
获取输出并将其粘贴到中时,它成功运行,发生了什么

对于测试,我注释掉了
newmailcontact
,并在末尾添加了
Write Host

$CSVpath = Read-Host -Prompt "Enter the path of the contacts .csv"
Import-Csv "$CSVpath" | ForEach-Object {
        $name = $_.displayName
        $proxies = $_.proxyAddresses
        $proxy = $proxies.replace(";",",")
        #New-MailContact -ExternalEmailAddress $_.Mail -Name "`"$name`"" -Alias $_.sAMAccountName -DisplayName $name -FirstName $_.givenName -Initials $_.initials -LastName $_.sn
        Set-MailContact -Identity $_.sAMAccountName -CustomAttribute1 "CreatedWithScript"
        Set-MailContact -Identity $_.sAMAccountName -CustomAttribute3 $_.extensionAttribute3 
        Set-MailContact -Identity $_.sAMAccountName -EmailAddresses $proxy
        Write-Host "New contact created: Name="$_.displayName 
        Write-Host "                     UPN="$_.userPrincipalName
        Write-Host Set-MailContact -Identity $_.sAMAccountName -EmailAddresses $proxy
        }

从Spiceworks用户那里获得了以下信息

我认为-EmailAddresses参数需要一个字符串数组 而不是一个逗号分隔的字符串。试试这个:

$proxy=$proxies-split';'

Set MailContact-Identity$\.sAMAccountName-EmailAddresses$proxy


从一个Spiceworks用户那里获得了以下内容

我认为-EmailAddresses参数需要一个字符串数组 而不是一个逗号分隔的字符串。试试这个:

$proxy=$proxies-split';'

Set MailContact-Identity$\.sAMAccountName-EmailAddresses$proxy