我正在将PST提取到Enterprise Vault中,并且我有一些失败。 在某些情况下,我必须通过在Outlook中打开它并将内容导出到新的PST文件来重新创建PST文件。
是否可以使用PowerShell执行此操作? 我正在从现有的PST创建新的PST,而不是从Exchnage创建新的PST,所以据我所知,new-mailboxexportrequest不会工作
TIA
安迪
答案 0 :(得分:1)
您可以使用Outlook Interop (ComObject)
以编程方式与Outlook进行交互,并添加新的PST文件存储
之后将旧PST中的所有文件夹复制到其中。
我为每一步添加了评论,以便您了解它在做什么......
当然,检查此过程对丢失物品的可靠性是您的工作,因此,这里是:
$NewPSTFilePath = "C:\PST\Backup.pst" ## add Your new PST file name path
$outlook = New-Object -ComObject outlook.application
$namespace = $Outlook.GetNameSpace("MAPI")
$OLDStore = $namespace.Stores | Select -First 1 ## get your old PST Store (select the first 1 only)
$NameSpace.AddStore($NewPSTFilePath) ## Add the new PST to the Current profile
$NEWStore = $namespace.Stores | ? {$_.filepath -eq $NewPSTFilePath} ## Get the New Store
$OLDPSTFolders = $OLDStore.GetRootFolder().Folders ## Get the list of folders from the PST
foreach ($folder in $OLDPSTFolders)
{
"Copy $($folder.name)"
[void]$folder.CopyTo($NEWStore)
}
注意:
该脚本使用您的默认展示配置文件,以连接到不同的个人资料,在$namespace.Logon("OtherProfileName")
$namespace = $Outlook.GetNameSpace("MAPI")