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

如何使用PowerShell更改Outlook默认PST文件

PowerShell 操作Outlook PST文件教程

注意:操作前请提前备份原有PST文件,避免数据意外丢失;需提前在设备上安装Outlook客户端。

首先执行命令连接Outlook COM对象:

# 加载Outlook COM对象
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")
# 提前获取原有默认PST存储,后续删除操作会用到
$oldDefaultPST = $namespace.DefaultStore

1. 创建新的PST文件“Data1.PST”

修改下方命令中的文件路径为你想要存放Data1.PST的实际路径后执行:
$namespace.AddStore("C:\Users\你的用户名\Documents\Data1.PST")


2. 将“Data1.PST”设置为默认PST文件

执行以下命令定位刚创建的PST并设置为默认存储:

# 匹配刚创建的Data1.PST,路径需和上一步填写的路径完全一致
$newPST = $namespace.Stores | Where-Object { $_.FilePath -eq "C:\Users\你的用户名\Documents\Data1.PST" }
# 设置为默认PST
$namespace.DefaultStore = $newPST

3. 删除原有的默认PST文件内容

你可以根据需求选择对应方案执行:

  • 方案1:仅删除原有默认PST内的所有内容(保留PST文件存在)
$oldRootFolder = $oldDefaultPST.GetRootFolder()
# 遍历清空所有子文件夹内容
foreach ($folder in $oldRootFolder.Folders) {
    $folder.Items | Remove-Item -Confirm:$false
}
  • 方案2:直接从Outlook中移除原有默认PST存储(文件仍保留在本地磁盘,若需彻底删除可手动删除对应路径的文件)
    $namespace.RemoveStore($oldDefaultPST.GetRootFolder())

操作完成后执行以下命令释放COM对象,避免Outlook进程被占用:
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($outlook) | Out-Null

提示:如果执行命令报错,可尝试关闭正在运行的Outlook客户端后,以管理员身份重新运行PowerShell再执行操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:54:03