• 如何使用PowerShell批量删除Office 365的用户


    概述

    本文将演示如何在必要的时候(例如在测试环境),通过PowerShell脚本批量删除Office 365的用户,首先需要通过Get-MsolUser的命令(并且配合筛选条件)获取到符合条件的用户列表,然后通过Remove-MsolUser的命令将其删除。


    注意,删除操作会将用户放入到回收站,你还可以从回收站中对其进行恢复。但是要恢复相关的邮件,以及OneDrive网站等个人相关数据,可能还需要一定的时间。请慎重操作。


    前提

    要想运行如上提到的两个命令,需要在Windows 10的机器上面,安装如下的几个组件

    1. 下载安装官方提供的Microsoft Online Service Sign-in Assistant for IT Professionals https://go.microsoft.com/fwlink/p/?LinkId=286152

    2. 下载安装官方提供的Azure Active Directory Connection http://connect.microsoft.com/site1164/Downloads/DownloadDetails.aspx?DownloadID=59185

    3.  请在本地用管理员身份打开PowerShell,并运行命令 Install-Module -Name AzureAD


    进行后续操作之前,需要准备好Office 365 管理员账号,并且连接上MsolService,如下图所示

    image

    操作

    首先,我们来看一下Get-MsolUser这个命令

    https://docs.microsoft.com/en-us/powershell/module/msonline/get-msoluser?view=azureadps-1.0 

    这里的关键在于如何过滤出来我们想要操作的用户,这个命令带有几个有趣的参数

    [-City <String>] [-Country <String>] [-Department <String>] [-DomainName <String>] [-EnabledFilter <UserEnabledFilter>][-SearchString <String>]

    这些参数都可以用来作为过滤的条件,而且这个过滤是在服务器端发生的。


    需要注意的是SearchString,只支持简单的模糊匹配,它会在displayname和alias中做匹配。


    有时候,我们可能需要根据用户的创建时间进行筛选。目前没有看到这方面的参数。但可以通过下面的方式来解决

    Where-Object {$_.WhenCreated –gt “6/16/2017”}

    这个过滤是在本地过滤的,就是把所有用户读取到了本地缓存中,然后再过滤。上述表达式的意思是,找到6/16/2017后创建的用户。

    image


    使用$users保存了这个用户列表后,可以进一步操作Remove-MsolUser命令来进行删除

    $users | Remove-MsolUser –Force

  • 相关阅读:
    CSS盒模型
    js异步加载——defer和async的区别
    href和src的区别
    JS中Null与Undefined的区别
    浅谈Web Workers
    flex布局学习笔记
    Promise
    js数组类型检测
    JavaScript中的遍历
    Autocomplete
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/7144340.html
Copyright © 2020-2023  润新知