豆子之前对Office365的用户操作一般是通过远程的加载模块,然后创建一个session连接。

比如

$cred = Get-Credential
Import-Module MSOnline
Set-ExecutionPolicy remotesigned
Connect-MsolService -Credential $cred#连接到Office365
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $session

然后我就可以做一些Exchange powershell相关的操作了

比如

今天无意中发现还可以通过RESTAPI直接操作。毕竟是个网页嘛,数据都在网页上显示,那么直接从网络上抓取内容就好啦。

详细的REST API接口如下所示,可以用同样的方法访问hotmail,live, office365等微软的域名邮件

https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource

这个链接里面提供了1.0和2.0 的接口,但是2.0貌似在Office 365里面不工作,因此我还是用的1.0的版本。

下面是几个简单的例子

比如看看我的Office 365账户上的个人信息

$cred=get-credential
Invoke-RestMethod -Uri "https://outlook.office365.com/api/v1.0/me" -Credential $cred

查看一下未来30天内的日历会议预约

Invoke-RestMethod -Uri "https://outlook.office365.com/api/v1.0/me/calendarview?startDateTime=$(Get-Date)&endDateTime=$((Get-Date).AddDays(30))" -Credential $cred | ForEach-Object { $_.value } | Select subject, start, end, showas

查看一下我的邮件

Invoke-RestMethod -method Get -Uri "https://outlook.office365.com/api/v1.0/me/Folders/sentitems/messages" -Credential $cred | ForEach-Object { $_.value } | select subject,bodypreview

目前这个RESTAPI 感觉还不是很成熟,也有可能是我没有找到正确的接口。比如他只支持当前用户的查询,如果我想查询其他人的记录,就会报错。前面的例子,我是用默认的Get方式来读取,理论上应该也可以用post 方式来创建邮件,会议邀请等等,不过我的测试并不是太成功。

不过总的来说,RESTAPI使用起来比加载一个模块再写一堆脚本快速多了,这对于快速查询一些在线的信息还是很有帮助的。

Powershell RESTAPI 访问Office365相关推荐

  1. Powershell进阶学习(6) 部署 Windows PowerShell Web 访问

    在Windows Server 2012 出现之前好多运维人员为了通过web方便运用powershell管理服务器不得不借用第三方软件或者直接放弃这种想法,现在出现了一个全新的管理方式PSWA(Pow ...

  2. 国内员工访问office365加速---高珊珊的博客

    一.需求背景 随着云计算的快速发展,大量企业选择采用Office365以替代其传统的"机房+服务器"的业务系统部署方式.企业在使用Office365时,为了兼顾全球员工的访问效率和 ...

  3. Powershell彻底删除office365邮箱

    在web管理里面,office365并不能永久删除已删除的邮箱,需要等多天删除的邮箱才能从已删除邮箱列表中消失. 如果要马上生效,需要使用powershell进行操作 首先以管理员身份运行powers ...

  4. 利用powershell管理office365

    今天在公司的生产环境中有个需要用到powershell批量检查office365用户的操作,所以在这边顺便记录的powershell连接office365的过程: 在连接之前,需要安装两个工具:1.O ...

  5. Exchange/Office365 自动处理脚本:环境准备篇(一)

    一.服务器要求 操作系统:Windows Server 2008/2012 R2 网络要求: 加入域 允许访问office365相关网址 开通到Exchange/Skype 的端口443,5985,5 ...

  6. Windows Server 2016 + Exchange 2016 +Office365混合部署(四)

    Windows Server 2016 + Exchange 2016 +Office365混合部署(四) Windows Server 2016 + Exchange 2016 +Office365 ...

  7. 支持国内版Office 365的PowerShell模块现已发布

    作者:陈希章 发表于2017年5月12日 上一篇文章我详细介绍了如何在PowerShell中访问到Office 365的Graph API,在文章结尾处我留了一个问题,希望有朋友可以根据那个思路,尝试 ...

  8. 回归Dos操作的快感,进入PowerShell世界

    概述 写下本篇文章源于参加Tech.Ed的一场关于Window PowerShell的课程.虽然之前也经常关注,但从没有亲自体验过.Windows PowerShell 是一种新的命令行外壳和脚本语言 ...

  9. PowerShell让系统可以执行.ps1文件

    摘要 .ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? .ps1文件是PowerShell写好 ...

最新文章

  1. python中if错误-Python中错误和异常
  2. android ip rule 策略路由,ip rule 策略路由
  3. kodi pvr 不能安装_「保姆级教程」家庭影音多媒体中心第5节—KODI18安装/设置IPTV...
  4. jhu研究生录取 计算机,成绩一般被JHU信息系统管理MIS硕士录取
  5. 部分添加epel源失败的可以试试直接把mirror站网址写到baseurl里
  6. hl2240d硒鼓清零方法
  7. 使用Monkey做一次APP的压力测试
  8. 方差、标准差、协方差
  9. TDSQL破圈背后:国产数据库加速出击
  10. 超强媒体阵容护航,第一届区块链技术及应用峰会(BTA)·中国引爆开年狂潮
  11. 艾司博讯:拼多多发货地址在哪里看
  12. 计算机自我介绍英语范文,计算机面试英文自我介绍范文
  13. 苹果付费app共享公众号_【苹果iOS付费游戏应用帐号分享】新增一款25元iOS游戏应用共享帐号...
  14. 万豪国际集团在华运营酒店超过400家
  15. postgreSql数据库笔记
  16. ubuntu18安装oracle11g,在Ubuntu 18.04系统下快速安装Oracle Java 11的方法
  17. python 多继承算法
  18. 荣耀30Pro真实评测 令人心动的全能旗舰
  19. 腾讯员工人均月薪8万;华为出售X86服务器业务;超7成受访者认为脸书让美国更糟糕 | EA周报...
  20. 贷后中登监控 伪代码梳理

热门文章

  1. C# Timer用法及实例详解
  2. SQLServer Date
  3. Firefox下载自动保存
  4. POJ3666:Making the Grade——题解
  5. Struts2学习笔记-part1: 快速起步
  6. Memcache知识点梳理
  7. 练习:WinForm (PictureBox和Timer)
  8. webpack4.0让编译速度飙升
  9. 人工智能三年行动计划启动,推动人工智能和实体经济深度融合
  10. yum安装mysql步骤及报错ERROR 1045 (28000)