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

4.警告: 无法从 URI“https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409”下载到“”。_go.microsoft.com下载失败-CSDN博客

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

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

相关文章

MFC、VC++操作excel后,excel程序进程无法正常退出的非暴力处理方法

先说处理方式 1、最low的方式:强制结束进程 //打开进程得到进程句柄 HANDLE hProcessOpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid); if(hProcess!NULL) { //结束进程 if (TerminateProcess(hProcess,0)){printf("结束进程成功\n");return 0;} }这种方式…

Python datetime 字符串 相互转 datetime

字符串转 datetime from datetime import datetime# 定义要转换的日期时间字符串 dt_str "2021-09-30 15:48:36"# 使用datetime.strptime()函数进行转换 dt_obj datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S") print(dt_obj)datetime 转字符串 from …

python 制作3d立体隐藏图

生成文件的3d图,例子: 文字: 隐藏图: 使用建议: 1、建议不用中文,因为中文太复杂,生成立体图效果不好。 2、需要指定FONT_PATH,为一个ttf文件,…

【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心

微服务(6) 文章目录 微服务(6)1. 统一配置管理1.1 在nacos中添加配置文件1.2 从微服务拉取配置 2. 配置热更新2.1 方式一2.2 方式二 3. 配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3&am…

【ICCV2023论文阅读】XNet(能跑通代码)

这里写目录标题 论文阅读摘要介绍方法overviewwhy use wavelet transform?融合方法用于全监督分割和半监督分割可行性分析 效果局限性总结 代码跑通去掉分布式训练生成低频和高频图片产生数据集改读取数据的位置损失函数添加自己数据集的信息结果 ps:我现在不知道自己研究方向…

Codeforces Round 911 (Div. 2)(C~E)(DFS、数论(容斥)、SCC缩点 + DAG图上DP)

​​​​​​1900C - Anjis Binary Tree 题意: 凯克西奇一直被安吉冷落。通过一个共同的朋友,他发现安吉非常喜欢二叉树,于是决定解决她的问题,以引起她的注意。Anji 给了 Keksic 一棵有 n个顶点的二叉树。顶点 1 是根&#xff…

利用异或、取反、自增bypass_webshell_waf

目录 引言 利用异或 介绍 eval与assert 蚁剑连接 进阶题目 利用取反 利用自增 引言 有这样一个waf用于防御我们上传的文件: function fun($var): bool{$blacklist ["\$_", "eval","copy" ,"assert","usort…

Vue+SpringBoot解决session跨域问题

做了一个前后端分离,因为前后端的 session id不一致,导致前端请求时,后端的session读取不到对应的值,造成登录问题。 解决方法: SpringBoot项目: 添加一个跨域配置 代码如下: 或者controller使用CrossOrigin Conf…

No matching version found for @babel/compat-data@^7.23.5 处理

npm ERR! notarget No matching version found for babel/compat-data^7.23.5 处理 报错信息 npm WARN ERESOLVE overriding peer dependency npm ERR! code ETARGET npm ERR! notarget No matching version found for babel/compat-data^7.23.5. npm ERR! notarget In most …

【java】编译时bug 项目启动前bug合集

文章目录 1. jdk8中 Optional orElseThrow 编译时报错java: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出2. 启动项目时提示 Error running Application: Command line is too long. Shorten command line for Application or also for Spring Boot default configurati…

算法学习—排序

排序算法 一、选择排序 1.算法简介 选择排序是一个简单直观的排序方法,它的工作原理很简单,首先从未排序序列中找到最大的元素,放到已排序序列的末尾,重复上述步骤,直到所有元素排序完毕。 2.算法描述 1&#xff…

万宾科技监测设备,可燃气体监测仪特点一览

万宾科技的监测设备种类繁多,包括可燃气体监测仪、管网水位监测仪、内涝积水监测仪等。其中可燃气体监测仪是万宾科技的核心产品之一,用于监测环境中可燃气体的浓度,适用于对甲烷气体浓度进行实时监测,应用于燃气管网、排水管网、…

从cmd登录mysql

说明 先看看mysql.exe文件在哪个目录下,为了后面的操作方便,可以将该文件所在的路径增加到环境变量path中。 如果不增加到path环境变量中,那么在cmd窗口就要切换到mysql.exe文件所在的目录下执行。 在cmd窗口查看mysql命令的帮助信息 在cm…

编译原理:设计与实现一个简单词法分析器

设计与实现一个简单词法分析。具体内容是产生一个二元式文本文件,扩展名为dyd,可将Java或C程序(测试程序)分解成为一个一个的单词及类型。 (选做:并查“单词符号与种别对照表”得出其种别,用一数字表示。)…

CSS 多主题切换思路

前言 本篇仅提供多主题切换思路,示例简单且清晰。 实现 步骤一:多主题(颜色)定义 定义根伪类 :root,代码第 2 和 7 行。分别定义了默认和带参数的伪类;定义 CSS 变量,注意变量名需要以两个减号(--&…

adb修改android系统时间 adb shell date必须要root权限

adb Command adb root //需要root权限 adb shell setprop persist.sys.timezone GMT //校准时区 adb shell date MMDDhhmmYY.ss set //修改系统时间这里是GMT格林尼治时间,北京时间得转换一下 8小时 adb shell hwclock -w //同步硬件时间adb shell date 0201030422…

初识Linux:权限

目录 提示:以下指令均在Xshell 7 中进行 Linux 的权限 内核: 查看操作系统版本 查看cpu信息 查看内存信息 外部程序: 用户: 普通用户变为超级用户: su 和 su-的区别: root用户变成普通用户&#…

机器人最优控制开源库 Model-based Optimization for Robotics

系列文章目录 文章目录 系列文章目录前言一、开源的库和工具箱1.1 ACADO1.2 CasADi1.3 Control Toolbox1.4 Crocoddyl1.5 Ipopt1.6 Manopt1.7 LexLS1.8 NLOpt1.9 qpOASES1.10 qpSWIFT1.11 Roboptim 二、其他库和工具箱2.1 MUSCOD2.2 OCPID-DAE12.3 SNOPT 前言 机器人&#xff…

【论文阅读】1 SkyChain:一个深度强化学习的动态区块链分片系统

SkyChain 一、文献简介二、引言及重要信息2.1 研究背景2.2 研究目的和意义2.3 文献的创新点 三、研究内容3.1模型3.2自适应分类账协议3.2.1状态块创建3.2.2合并过程3.2.3拆分过程 3.3评价框架3.3.1性能3.3.1.1共识延迟3.3.1.2重新分片延迟3.3.1.3处理事务数3.3.1.4 约束 3.3.2 …

【代码】基于麻雀搜索优化Kmeans图像分割算法

程序名称:基于麻雀搜索优化Kmeans图像分割算法 实现平台:matlab 代码简介:首先使用麻雀搜索优化算法来确定 K-means 算法的初始质心位置,然后进行传统的 K-means 聚类。这样做的目的是为了避免 K-means 算法陷入局部最优解&…