2017-05-05 2 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パラメータには、コンマで区切られた1つの文字列ではなく、文字列の配列 が必要です。これでそれを試してみる:

$proxy = $proxies -split ';'

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

関連する問題