powershell获取微软o365 21v日志

0x00 背景

o365 21v为o365的大陆版本,主要给国内用户使用。微软提供了powershell工具和接口获取云上日志。微软o365国内的代理目前是世纪互联。本文介绍如何用powershell和配置证书拉取云上日志。

0x01 实践

第一步,ip权限开通:

由世纪互联运营的 Office 365 的 URL 和 IP 地址范围 - Microsoft 365 Enterprise | Microsoft Learn

需要开通这个子菜单下面所有ip/domain的访问权限。

特别是 login.parter.microsoftonline.cn 这个域名

第二步,安装EXO (Exchange Online PowerShell) :

Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement

这两个命令表示在有网络的情况执行安装模块和导入模块。

第三步,连接Exchange Online Server。

由于Basic Auth不被推荐使用,故这里使用证书验证的方式,好处是可以不依赖于用户名密码。

如何使用证书连接Exchange Online Server ?

需要所属企业Exchange管理员协助申请一个证书。将证书安装在需要访问EXO的服务器上。连接代码如下:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  
$TenantId ="4edexxxx-xxxx-xxxxa-xxxx-8xxxxxxxxxx8"
$ApplicationId ="477xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$CertificateThumbprint ="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" #安装好证书后在证书里查看
$Cert = Get-ChildItem Cert:\LocalMachine\My\$CertificateThumbprintConnect-ExchangeOnline -ExchangeEnvironmentName O365China -Certificate $Cert -AppID $ApplicationId -Organization YourUnitcloud.partner.onmschina.cn

 第四步,用脚本自动化实现。

官方没有给脚本,可能是怕调用的用户多增加服务器的压力。github上可以找到开源的脚本:

https://github.com/PwC-IR/Office-365-Extractor/

自己根据需要改一改,就可以自动化了。

我使用的是筛选指定组日志功能:

脚本选择关注的类型:
ExchangeAdmin,ExchangeItem,ExchangeItemGroup,AzureActiveDirectory,AzureActiveDirectoryStsLogon

0x02 后记

1.

查询所有用户一天日志量:

Calculating the number of audit logs
ExchangeAdmin: 130
ExchangeItem: 23785
ExchangeItemGroup: 13709
SharePoint: 85
SharePointFileOperation: 522
AzureActiveDirectory: 4589
AzureActiveDirectoryStsLogon: 23912
SecurityComplianceCenterEOPCmdlet: 391
PowerBIAudit: 9761
CRM: 745
SharePointListOperation: 22
PowerAppsApp: 71
DataInsightsRestApiAudit:
--------------------------------------
Total count:  77742


查询某个用户的日志量:
AzureActiveDirectoryStsLogon: 19

2.

powershell 获取当前时间:
Get-date -format "yyyy-MM-dd"

3.发现脚本一个问题,就是选择了部分组,最后拉取也是全部组,但选择全部组,可能会卡住拉不下来日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/223231.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CGAN原理讲解与源码

1.CGAN原理 生成器,输入的是c和z,z是随机噪声,c是条件,对应MNIST数据集,要求规定生成数字是几。 输出是生成的虚假图片。 判别器的输入是 1.生成器输出的虚假图片x; 2.对应图片的标签c 来自真实数据集,且…

什么是高性能计算岗位

最近有小伙伴咨询什么是高性能计算岗位。 1、什么是高性能计算 高性能计算,在很多招聘信息中也会被标注为 HPC,是 High Performance Computing 的缩写。 目前很多 AI 公司或者从事 AI 的部门招聘都有这个岗位需求,我从某聘上截取了几个有代…

Shopee买家号想要多开怎么解决?

拥有多个Shopee买家号有很多优势。多账号可以帮助卖家获得更多流量、还能帮助提供关键词排名、提高销量等。 但是要管理多个Shopee买家号并非易事。面对不同账号的登录、注销和切换,可能会花费大量的时间和精力。而且,Shopee平台对于使用同一IP地址同时登…

Android Termux SFTP如何实现远程文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

微信api开发接口文档

简要描述: 搜索联系人 请求URL: http://域名地址/searchUser 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wI…

通俗易懂的spring Cloud;业务场景介绍 二、Spring Cloud核心组件:Eureka 、Feign、Ribbon、Hystrix、zuul

文章目录 通俗易懂的spring Cloud一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七…

redisserver一闪而过 redis闪退解决版本

1.进入Redis根目录 2.输入redis-server 或 redis-server.exe redis.windows.conf 启动redis命令,看是否成功。 执 一闪而过的问题 可能是因为已启动或者其他问题,需要重启 先输入redis-cli.exe再输入shutdown再输入redis-server.exe redis.windows.c…

智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于被囊群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.被囊群算法4.实验参数设定5.算法结果6.参考文献7.…

交换技术-电路交换-报文交换-分组交换

交换技术是指主机之间、通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。按交换技术可分为:电路交换、报文交换和分组交换。 电路交换 交换(switching),就是按照某种方式动态地分配传输线路的资源。 电路交换是在源结点…

影响机器视觉测量精度的因素有哪些?

精度测量取决于分辨率 在机器视觉测量中提供高精度和低不确定度的决定性因素是获取的图像的分辨率。在这种情况下,术语分辨率 (或图像分辨率)意味着以实际单位的单个像素的大小。简而言之,如果一个摄像机传感器在水平方向上包含…

Python GUI 图形用户界面程序设计,Python自带 tkinter 库

文章目录 前言GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集…

Redis深入理解-三次握手、槽位机制

Redis 节点之间的三次握手原理分析 比如多台 Redis 之间要建立集群,那么连接其中的一台 Redis 客户端,向其他 Redis 发送 meet 命令即可通知其他节点,那么发送 meet 命令给其他节点后,对方也会在内存中创建一个 ClusterNode 结构…