您的位置:首页 > 编程语言 > C#

C#实现outlook自动配置账户信息

2017-12-28 15:03 267 查看
公司新员工入职往往需要配置outlook信息,而并不是每一个都会去看枯燥的配置说明文档,直接就去找IT了,导致IT工作量大大增加,所以就有一个需求说能不能有个什么软件或者方法让outlook实现自动配置。

在微软outlook文档配置那看了两天,有了点思路,又参考了https://social.technet.microsoft.com/Forums/zh-CN/dd65ff16-8d02-4ccf-a40d-a2ce0dc060b2/outlook?forum=configurationdeployment

但是这个链接内是用户在域环境中才能自动实现,而我们没有入域,希望通过一个自己写的C#程序实现一键配置,目前实现了outlook2013的自动配置,其他配置请参考微软资料。

思路:

1. C#编写客户端,保存用户信息(用户名,邮件的用户名)

2. 依据用户名自动生成prf文件

3. 自动运行bat(或命令)实现outlook配置

实现方式:

1. 保存用户信息就不介绍了,生成prf:

依据微软官方文档https://technet.microsoft.com/zh-cn/library/cc179062.aspx#BKMK_Overview生成prf

2. 自动生成用户的prf文件

使用string.replace将用户名替换成当前客户端登录用户的用户名,然后将prf保存在C:\Program Files\Microsoft Office(不是必须保存在这个路径,和bat中路径配套就行)

3. 运行bat文件或命令

bat代码:

@echo off
outlook.exe /importprf ..\outlook.prf
需要的话可以在这里加一个删除生成的prf的代码


C#执行bat/命令

代码:

Process p = new Process();
p.StartInfo.FileName = "path";
p.StartInfo.Arguments = "";
p.StartInfo.WorkingDirectory = @"C:\Program Files\Microsoft Office\Office15\";// 这个节点非常重要,位置一定要写对,是bat的工作区,不然bat在C#下运行找不到prf文件
p.StartInfo.UseShellExecute = false;//是否重定向标准输入
p.StartInfo.RedirectStandardInput = false;//是否重定向标准转出
p.StartInfo.RedirectStandardOutput = false;//是否重定向错误
p.StartInfo.RedirectStandardError = false;//执行时是不是显示窗口
p.StartInfo.CreateNoWindow = true;//启动
p.Start();
p.WaitForExit();
p.Close();


执行命令同理,主要是WorkingDirectory一定要设置正确
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  outlook C# bat prf