Powershell "ExternalEmailAddress 无法转换 system.collection.arraylist



我的目标:

使用Powershell批量创建邮件联系人。我的程序要求我手动输入ExternalEmailAddres。当我这样做的时候,程序就工作了。我不能这样做,因为要创建大量的邮件联系人。

我只是不知道我的错误在哪里。有人能帮忙吗?请

我的代码:

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://xxx.yyy.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session -DisableNameChecking
Import-Module ActiveDirectory
$User = Import-CSV C:CREATE-MAIL-CONTACT.csv
$Params = @{
Name = $user.Name
ExternalEmailAddress = $User.PrimarySmtpAddress
OrganizationalUnit = "OU=Mail Contacts,DC=xxx,DC=com"
}
New-MailContact @Params
My CSV:
------
Displayname Name        PrimarySmtpAddress
John Smith  John Smith  john.smith@abc.com

您的代码缺少的是对CSV的每一行进行迭代,其中一种方法是使用ForEach-Object:

Import-CSV C:CREATE-MAIL-CONTACT.csv | ForEach-Object {
try {
$Params = @{
Name                 = $_.Name
ExternalEmailAddress = $_.PrimarySmtpAddress
OrganizationalUnit   = "OU=Mail Contacts,DC=xxx,DC=com"
}
New-MailContact @Params
}
catch {
# error handling here
Write-Warning $_.Exception.Message
}
}

相关内容

最新更新