You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell转换Outlook OST到CSV遇错:AddStoreFromFile方法不存在

OST转PST脚本错误修复方案

错误原因

你用到的AddStoreFromFile方法并不存在于Outlook的NameSpace对象中,OST是与特定Outlook配置文件绑定的离线存储文件,无法通过这个不存在的方法直接加载。

修正后的脚本

以下脚本可以正确读取已关联到Outlook的OST文件内容并导出为CSV:

# 创建Outlook应用实例
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.Session

# 定位指定路径的OST存储
$ostStore = $namespace.Stores | Where-Object { $_.FilePath -eq "k:\admin-aerial.ost" }

if ($ostStore) {
    # 获取该OST存储下的收件箱(常量6对应olFolderInbox)
    $inbox = $ostStore.GetDefaultFolder(6)
    # 导出收件箱邮件指定字段到CSV
    $inbox.Items | Select-Object Subject, ReceivedTime, SenderEmailAddress | 
        Export-Csv -Path "k:\admin-aerial.csv" -NoTypeInformation
    Write-Host "CSV导出完成"
} else {
    Write-Host "未找到指定路径的OST文件,请确认该文件已在Outlook配置中关联"
}

# 清理COM对象,避免内存泄漏
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($inbox) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($ostStore) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($namespace) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($outlook) | Out-Null
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

注意事项

  • 运行脚本前,确保目标OST文件已关联到当前Outlook的配置文件中(可通过Outlook「文件」>「信息」>「账户设置」>「账户设置」>「数据文件」查看)
  • 如果是未关联任何账户的孤立OST,上述脚本无法读取,此时建议直接使用Outlook内置的「导入/导出向导」,选择从OST导出为PST;或使用专业的OST转PST工具处理

内容的提问来源于stack exchange,提问作者ml09616

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 12:57:52