如何在PowerShell中使用Microsoft Graph模块获取软删除用户?
使用Microsoft Graph模块查询软删除用户
要替代MSOL的Get-MsolUser –ReturnDeletedUsers –SearchString $CSVOwner,用Get-MgUser实现相同功能,核心是加上-IncludeDeletedUsers参数来返回软删除用户,再结合过滤/搜索参数匹配目标用户,具体命令如下:
基础匹配(类似原命令的模糊搜索)
如果要匹配用户主体名(UPN)或显示名包含指定字符串的软删除用户,可用以下两种方式:
方式1:使用-Filter(精确匹配前缀或包含)
# 匹配UPN以指定字符串开头的软删除用户 Get-MgUser -IncludeDeletedUsers -Filter "startsWith(userPrincipalName, '$CSVOwner')" # 匹配显示名包含指定字符串的软删除用户 Get-MgUser -IncludeDeletedUsers -Filter "contains(displayName, '$CSVOwner')"
方式2:使用-Search(多属性模糊搜索)
如果需要同时匹配多个属性(比如显示名、UPN),用-Search参数,注意必须搭配-ConsistencyLevel eventual:
Get-MgUser -IncludeDeletedUsers -Search "displayName:$CSVOwner OR userPrincipalName:$CSVOwner" -ConsistencyLevel eventual
关键参数说明
-IncludeDeletedUsers:强制命令返回处于软删除状态的用户,默认Get-MgUser只返回活跃用户-Filter:通过OData筛选器精准匹配用户属性,支持startsWith、contains、eq等操作符-Search:实现更灵活的多属性模糊搜索,需配合-ConsistencyLevel eventual启用Graph的搜索功能
权限要求
执行命令前需确保已授予Microsoft Graph模块足够的权限,至少需要User.Read.All(读取所有用户,包括软删除用户)。
内容的提问来源于stack exchange,提问作者aasenomad
相关产品推荐
相关产品推荐

