我正在尝试为Exchange命令行管理程序编写powershell脚本,将联系人列表从csv文件导入到通讯组.
我开始了
Import-csv C:\filename.csv | forEach-Object {New-MailContact .......}
Run Code Online (Sandbox Code Playgroud)
这很有效,除了我的csv文件中的某些条目有一个空白的电子邮件地址,并且由于ExternalEmailAddress为空,因此创建新联系人会崩溃.所以,我尝试过:
Import-csv C:\filename.csv | ForEach-Object { Where-Object {$_.ExternalEmailAddress -ne "" } | New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress....}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用 - 它没有过滤掉带有空白电子邮件地址的条目.
我究竟做错了什么?
我想你可能想先用它Where-Object,ForEach-Object因为它会过滤沿管道传递的对象.
根据New-MailContact cmdlet支持的内容,您可以将结果直接传递给它,或者您可能必须逐个传递它们.
一次性(不使用ForEach-Object):
Import-csv C:\filename.csv | Where-Object {$_.ExternalEmailAddress -ne "" } | New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress }
Run Code Online (Sandbox Code Playgroud)
逐个(通过使用ForEach-Object):
Import-csv C:\filename.csv | Where-Object {$_.ExternalEmailAddress -ne "" } | ForEach-Object { New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30974 次 |
| 最近记录: |