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

如何使用PowerShell创建Outlook约会/会议?

在PowerShell中创建Outlook约会/会议

以下是直接可用的实操方案,涵盖纯文本、HTML格式内容的约会与会议创建:

创建Outlook约会

纯文本内容示例

# 连接Outlook应用程序
$outlook = New-Object -ComObject Outlook.Application
# 创建约会对象(1代表olAppointmentItem枚举值)
$appointment = $outlook.CreateItem(1)

# 配置约会核心信息
$appointment.Subject = "项目进度同步会"
$appointment.Body = "讨论Q3项目里程碑完成情况,确认后续任务分配与时间节点。"
$appointment.Start = Get-Date "2024-09-15 14:00:00"
$appointment.End = Get-Date "2024-09-15 15:30:00"
$appointment.Location = "3楼会议室A"
$appointment.ReminderSet = $true
$appointment.ReminderMinutesBeforeStart = 30 # 提前30分钟触发提醒

# 保存到日历(也可用$appointment.Display()打开编辑窗口手动确认)
$appointment.Save()

HTML格式内容示例

若需用HTML段落、格式标签定义内容,直接赋值给HTMLBody属性:

$outlook = New-Object -ComObject Outlook.Application
$appointment = $outlook.CreateItem(1)

$appointment.Subject = "PowerShell自动化技巧分享"
# 用HTML语法构建内容,支持段落、加粗、列表等标签
$appointment.HTMLBody = @"
<p>本次分享聚焦Outlook自动化办公场景:</p>
<p><b>核心内容:</b></p>
<ul>
<li>Outlook COM对象模型基础操作</li>
<li>批量创建/修改约会、会议的技巧</li>
<li>邮件自动分类与归档脚本示例</li>
</ul>
<p>请提前准备相关疑问,现场交流讨论。</p>
"@
$appointment.Start = Get-Date "2024-09-20 16:00:00"
$appointment.End = Get-Date "2024-09-20 17:30:00"
$appointment.Location = "线上腾讯会议(会议号:123456789)"
$appointment.ReminderSet = $true
$appointment.ReminderMinutesBeforeStart = 15

$appointment.Display()

创建Outlook会议(带参会者)

会议本质是添加了参会者的约会,只需补充收件人配置即可:

纯文本内容会议示例

$outlook = New-Object -ComObject Outlook.Application
$meeting = $outlook.CreateItem(1)

# 配置会议基础信息
$meeting.Subject = "Q3预算评审会"
$meeting.Body = "评审各部门提交的Q3预算申请,确定最终预算额度与执行方案。"
$meeting.Start = Get-Date "2024-09-18 10:00:00"
$meeting.End = Get-Date "2024-09-18 12:00:00"
$meeting.Location = "总部大会议室"
$meeting.ReminderSet = $true
$meeting.ReminderMinutesBeforeStart = 60

# 添加参会者:1=必填参会人,2=可选参会人,3=资源(如会议室)
$meeting.Recipients.Add("zhangsan@company.com").Type = 1
$meeting.Recipients.Add("lisi@company.com").Type = 2
$meeting.Recipients.Add("大会议室@company.com").Type = 3

# 发送会议邀请(也可用$meeting.Display()打开窗口手动发送)
$meeting.Send()

HTML格式内容会议示例

$outlook = New-Object -ComObject Outlook.Application
$meeting = $outlook.CreateItem(1)

$meeting.Subject = "新产品发布会筹备会"
$meeting.HTMLBody = @"
<p>本次会议确定新产品发布会的各项筹备细节:</p>
<p><b>关键时间节点:</b></p>
<p>1. 9月25日前完成宣传物料设计定稿</p>
<p>2. 9月30日前完成场地布置与设备调试</p>
<p><b>牵头部门:</b>市场部、产品部</p>
"@
$meeting.Start = Get-Date "2024-09-16 09:30:00"
$meeting.End = Get-Date "2024-09-16 11:00:00"
$meeting.Location = "2楼多功能厅"

# 添加参会部门收件人
$meeting.Recipients.Add("market@company.com").Type = 1
$meeting.Recipients.Add("product@company.com").Type = 1
$meeting.Recipients.Add("tech@company.com").Type = 1

$meeting.Send()

注意事项

  • 运行脚本前需确保Outlook客户端已安装并正常启动,否则会出现COM对象连接失败的错误。
  • 批量创建约会/会议时,建议添加Start-Sleep -Seconds 1之类的延迟,避免Outlook对象模型过载。
  • 若遇到权限问题,需确认当前用户拥有Outlook日历的编辑权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:15:37