所以我得到了这段代码:
$MailboxName = "email@domain.com"
$MessageId = "<54bb33d72d7ed2b1928e9fb9edfa0ca2@swift.generated>"
$TargetFolder = "\Inbox\random"
Connect-EXRMailbox -MailboxName $MailboxName
Find-EXRMessageFromMessageId -MailboxName $MailboxName -MessageId $MessageId | ForEach-Object{
Move-EXRMessage -MailboxName $MailboxName -ItemURI $_.ItemRESTURI -TargetFolderPath $TargetFolder
Write-Host ("Moved Message " + $_.Subject + " to " + $TargetFolder)
}
它工作正常,并会移动一个符合messageID的电子邮件
但我现在正试图让它看起来像一个文件的.csv文件。在csv文件中有很多messageID。
如果我使用此代码:
import-csv d:\test.csv | Select MessageId
$MailboxName = "email@domain.com"
$MessageId = $_.MessageId
$TargetFolder = "\indbakke\Hotels"
Connect-EXRMailbox -MailboxName $MailboxName
Find-EXRMessageFromMessageId -MailboxName $MailboxName -MessageId $MessageId | ForEach-Object{
Move-EXRMessage -MailboxName $MailboxName -ItemURI $_.ItemRESTURI -TargetFolderPath $TargetFolder
Write-Host ("Moved Message " + $_.Subject + " to " + $TargetFolder)
}
然后它只会打印.csv文件中的内容,
任何人都可以帮助我,我如何让我的小脚本使用CSV文件,所以它从csv文件中获取messageID。 ?
答案 0 :(得分:1)
您需要从导入的csv迭代messageId
s。在您的代码中,您只需导入文件,就是这样。 $MessageId
是空的。
$messageIds = Import-Csv -Path d:\test.csv |
Select -expandproperty MessageId
ForEach ($MessageId in $messageIds)
{
...
}