gpt4 book ai didi

使用 where-object 编写 Powershell 脚本

转载 作者:行者123 更新时间:2023-12-04 17:27:54 25 4
gpt4 key购买 nike

我正在尝试为 Exchange 命令行管理程序编写一个 powershell 脚本,将联系人列表从 csv 文件导入到通讯组。

我开始

Import-csv C:\filename.csv | forEach-Object {New-MailContact .......}

这很有效,除了我的 csv 文件中的某些条目有一个空白的电子邮件地址,并且因为 ExternalEmailAddress 是空白的,所以创建新的联系人会失败。所以,我试过:
Import-csv C:\filename.csv | ForEach-Object { Where-Object {$_.ExternalEmailAddress -ne "" } | New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress....}

但这似乎不起作用 - 它没有过滤掉带有空白电子邮件地址的条目。

我究竟做错了什么?

最佳答案

我想你可能想使用 Where-Object之前 ForEach-Object因为它将过滤沿管道传递的对象。

根据 New-MailContact cmdlet 支持的内容,您可能能够将结果直接通过管道传输到其中,或者您可能必须将它们一一传递。

一次全部(不使用 ForEach-Object ):

Import-csv C:\filename.csv | Where-Object {$_.ExternalEmailAddress -ne "" } | New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress }

一一(通过使用 ForEach-Object ):
Import-csv C:\filename.csv | Where-Object {$_.ExternalEmailAddress -ne "" } | ForEach-Object { New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalEmailAddress }

关于使用 where-object 编写 Powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com