PowerShell:像设置变量中的运算符(电子邮件的主题 LIKE something)

PowerShell: like operator in setting variable (Subject of email LIKE something)

我正在使用 Powershell,这是我生命中的第三个小时。

我正在根据此脚本从 Exchange2010 下载附件:http://gsexdev.blogspot.nl/2010/01/writing-simple-scripted-process-to.html

现在设置了这些关于电子邮件设置的变量:

$MailboxName = "email@email.net"
$Sender = "sender@email.com"

稍后将这些变量用作操作条件: 如果新电子邮件在 "email@email.net" 中并且发件人是 "sender@email.com" 然后执行一些步骤。

  $folderid = new-object     Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$MailboxName)
$InboxFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,$folderid)
$Sfir = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::IsRead, $false)
$Sfsen = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.ItemSchema]::Sender, $Sender)  

顺便说一句:itemschema 中的 SENDER 列是否存在?我没有在这里找到它:
https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.itemschema_members(v=exchg.80).aspx

我想在电子邮件主题上扩展这些条件。这表示: 如果新电子邮件在 "email@email.net" 中并且发件人是 "sender@email.com" 并且主题是 LIKE "&BETA&" 然后执行一些步骤。

我以为我会这样做:

#$Subjecthelp = ".csv"            

然后我会做:

#$Sfsub = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+**LIKE**([Microsoft.Exchange.WebServices.Data.ItemSchema]::Subject, $Subject)

但它并没有真正起作用,我真的知道怎么写:)

您可能正在寻找:

$Sfsub = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+ContainsSubstring([Microsoft.Exchange.WebServices.Data.ItemSchema]::Subject, $Subject)

您可以在 documentation

中找到支持的过滤器