这些天我开始进入Powershell,并试图以一种干净的方式启动Outlook 2007 (它应该在多台计算机上运行,而不需要做任何修改),并显示第一个帐户(imap)收件箱。
我已经在How to specify a subfolder of Inbox using Powershell中找到了答案,但是这主要集中在启动时的本地收件箱上。我们不使用本地收件箱,因为所有客户端都有一个IMAP帐户,所以在启动时显示它很方便。
谢谢!
编辑:
我从上述链接问题中使用的代码是:
$olFolderInbox = 6
$outlook = new-object -com outlook.application;
$ns = $outlook.GetNameSpace("MAPI");
$inbox = $ns.GetDefaultFolder($olFolderInbox);
$inbox.Display()
如前所述,这将打开本地收件箱,而我无法找到选择IMAP帐户收件箱的命令。
发布于 2015-12-03 17:55:52
因此,下面是我以前在脚本中使用的替代GetDefaultFolder
的方法。这将查看可用帐户,并尝试找到一个包含用户登录名的帐户(因此,如果我以用户名TMTech登录到我的计算机,它将查看包含字符串TMTech的所有帐户,如TMTech@email.com)。然后查看一个名为“收件箱”的帐户的文件夹,然后离开那里。
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $outlook.GetNameSpace("MAPI")
$MyAcct = $Namespace.Folders | ?{$_.Name -match $env:USERNAME}
$Inbox = $MyAcct.Folders | ?{$_.Name -match "Inbox"}
现在,这仍然引用了MAPI命名空间,但我认为互操作库包含MAPI命名空间中的所有内容,所以我认为它仍然可以工作。
https://stackoverflow.com/questions/34068985
复制相似问题