2017-05-05 87 views
1

从屏幕截图中可以看到,运行脚本时出现错误,但是当我从Write-Host中获取输出并粘贴时,它会成功运行,发生了什么?为什么在此Set-MailContact -EmailAddresses行会返回一个错误?

对于测试我注释了New-Mailcontact并在最后加上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 
     } 

ISE Screenshot

回答

0

得到它从Spiceworks还在用户的工作如下。

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

$proxy = $proxies -split ';'

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

相关问题