[玩转系统] 使用 PowerShell 管理通讯组 |办公室365
作者:精品下载站 日期:2024-12-14 08:39:13 浏览:14 分类:玩电脑
使用 PowerShell 管理通讯组 |办公室365
本文是五篇文章系列中的第一篇文章,专门讨论使用 PowerShell 在基于 Office 365 和 Exchange Online 的环境中管理通讯组的主题。
本文的目的是提供 PowerShell 命令索引的“精简版”,我们需要将其用于常见的分发组管理任务。
对于本文中的每个部分,例如创建新通讯组、管理现有通讯组以及向现有通讯组添加成员,我都有专门的单独文章。
在 Office 365 中使用 PowerShell 管理通讯组 |系列文章
如果 PowerShell 命令的“简短版本”对您来说不够,并且您需要更多信息或更多示例,我们邀请您阅读有关通过 PowerShell 文章系列进行分发组管理的具体文章。
该系列文章包括以下文章:
- 使用 PowerShell 管理通讯组 | Office 365(本文)
- 在 Office 365 中使用 PowerShell 管理通讯组 |创建和管理通讯组
- 在 Office 365 中使用 PowerShell 管理通讯组 |将成员添加到现有通讯组
- 在 Office 365 中使用 PowerShell 管理通讯组 |查看和导出有关通讯组的信息
- 在 Office 365 中使用 PowerShell 管理通讯组 |删除通讯组和成员|转换通讯组
1. 创建新的通讯组
如果您想了解有关使用 PowerShell 进行通讯组管理以及“创建通讯组”主题的更多详细信息,您可以阅读文章在 Office 365 中使用 PowerShell 管理通讯组 |创建和管理通讯组。
创建新的通讯组(使用默认设置)
PowerShell命令语法:
New-DistributionGroup -Name "<Distribution Group Name>"
PowerShell 命令示例:
New-DistributionGroup -Name "Sales USA"
创建新的通讯组 + 设置其他通讯组设置
PowerShell命令语法:
New-DistributionGroup -Name <Distribution Group name> -DisplayName <DL display name> -Alias <Alias> -PrimarySmtpAddress <Email Address> -ManagedBy <identity>
PowerShell 命令示例:
New-DistributionGroup -Name "Sales USA" -DisplayName "Sales USA mail list" -Alias "SalesUSA" -PrimarySmtpAddress "[email protected]" -ManagedBy "Brad"
通过从 CSV 文件导入信息来创建通讯组
PowerShell命令语法:
Import-CSV <Path> | ForEach {New-DistributionGroup -Name $_.name -Type $_.Type}
PowerShell 命令示例:
Import-CSV "C:\Temp\DL-Group.csv" | ForEach {New-DistributionGroup -Name $_.name -Type $_.Type}
您可以下载我们在本文中用于演示目的的 CSV 文件。
2. 管理现有通讯组设置
如果您想获得有关使用 PowerShell 进行通讯组管理以及“管理通讯组”主题的更多详细信息,您可以阅读文章在 Office 365 中使用 PowerShell 管理通讯组 |创建和管理通讯组。
启用或禁用通讯组从外部发件人获取电子邮件
为了使外部收件人能够向 Exchange Online 通讯组发送电子邮件,我们将参数“RequireSenderAuthenticationEnabled”的值设置为 $False。
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group Name>" -RequireSenderAuthenticationEnabled $False
PowerShell 命令示例:
Set-DistributionGroup "Sales USA" -RequireSenderAuthenticationEnabled $False
允许外部收件人向所有通讯组发送电子邮件(批量模式)
PowerShell 命令示例:
Get-DistributionGroup | Set-DistributionGroup -RequireSenderAuthenticationEnabled $False
替换现有通讯组所有者
PowerShell命令语法:
Set-DistributionGroup -Identity "<Distribution Group Name>" -ManagedBy <Identity>
PowerShell 命令示例:
Set-DistributionGroup -Identity "Sales USA" -ManagedBy "Brad" -BypassSecurityGroupManagerCheck
将其他所有者添加到通讯组
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group name>" -ManagedBy @{Add='<Identity 1>','<Identity 2>'}
PowerShell 命令示例:
Set-DistributionGroup "Sales USA" -ManagedBy @{Add='bob','brad'}
设置通讯组主电子邮件地址
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group name>" -PrimarySmtpAddress <primary E-mail address>
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -PrimarySmtpAddress "[email protected]"
通过从 CSV 文件导入信息来设置通讯组主电子邮件地址
在我们的示例中,CSV 文件名为 Distribution-Groups-information.csv。
PowerShell 命令示例:
$GroupList = Import-CSV "C:\temp\Distribution-Groups-information.csv"
ForEach ($group in $GroupList) {
ForEach ($email in $GroupList) {
}
Set-DistributionGroup -BypassSecurityGroupManagerCheck -Identity $group.GroupName -PrimarySmtpAddress $email.email
}
您可以下载我们在本文中用于演示目的的 CSV 文件。
将其他电子邮件地址添加到现有通讯组电子邮件地址
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -emailaddresses @{Add='[email protected]','[email protected]','[email protected]'}
替换(删除)现有通讯组别名电子邮件
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -emailaddresses '[email protected]','[email protected]'
删除现有通讯组别名电子邮件地址
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group name>" -EmailAddresses @{Remove='<Identity 1>','<Identity 2>'}
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -EmailAddresses @{Remove=' [email protected]','[email protected]'}
从 GAL(全局地址列表)隐藏通讯组
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group Name>" -HiddenFromAddressListsEnabled $True
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -HiddenFromAddressListsEnabled $True
将现有通讯组设置为仅接受来自特定发件人的电子邮件
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group Name>" -AcceptMessagesOnlyFrom <Allowed E-mail address 1>, < Allowed E-mail address 2>
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -AcceptMessagesOnlyFrom [email protected],[email protected]
定义通讯组主持人
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group Name>" -ModeratedBy <E-mail address>, <E-mail address>
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -ModeratedBy [email protected],[email protected]
为通讯组发送外出回复
PowerShell命令语法:
Set-DistributionGroup "<Distribution Group Name>" -SendOofMessageToOriginatorEnabled $True
PowerShell 命令示例:
Set-DistributionGroup "Sales UK" -SendOofMessageToOriginatorEnabled $True
向通讯组分配“发送为”权限
PowerShell命令语法:
Add-RecipientPermission "<Distribution Group Name>" -Trustee <Identity> -AccessRights SendAs -Confirm:$False
PowerShell 命令示例:
Add-RecipientPermission "Sales UK" -Trustee Brad -AccessRights SendAs -Confirm:$False
3. 将用户添加到通讯组
如果您想获得有关使用 PowerShell 进行通讯组管理以及“向现有通讯组添加成员”主题的更多详细信息,您可以阅读文章在 Office 365 中使用 PowerShell 管理通讯组 |将成员添加到现有通讯组。
将用户(收件人)添加到通讯组
PowerShell命令语法:
Add-DistributionGroupMember "<Distribution Group Name>" -Member "<Identity>"
PowerShell 命令示例:
Add-DistributionGroupMember -Identity "Sales UK" -Member "Bradp"
从 CSV 文件导入通讯组成员
PowerShell 命令示例:
$Userslist = Import-CSV C:\Temp\Distribution-Groups-Members.csv
ForEach ($User in $Userslist) {
Add-DistributionGroupMember -Identity "Sales France" -Member $User.PrimarySmtpAddress
}
将用户(收件人)添加到多个通讯组
PowerShell命令语法:
$Variable = "<Distribution Group name>", "<Distribution Group name>", "<Distribution Group name>"
ForEach ($item in $Variable) {
Add-DistributionGroupMember -Identity $item -Member <Identity>
}
将部门为销售的所有用户添加到通讯组*
PowerShell 命令示例:
$SalesUsers = Get-User | Where { $_.Department -like "Sales*" }
foreach ($User in $SalesUsers) {
Add-DistributionGroupMember -Identity "Sales worldwide" -Member $User.name
}
您可以下载我们在本文中用于演示目的的 CSV 文件。
将用户添加到过去 48 小时内创建的通讯组
PowerShell 命令示例:
$AllNewDistributionGroups = Get-DistributionGroup | Where { $_.WhenCreated -ge ((Get-Date).AddHours(-48)) }
ForEach ($Group in $AllNewDistributionGroups) {
Add-DistributionGroupMember -Identity $Group.name -Member Bradp
}
4.查看通讯组信息
如果您想获得有关使用 PowerShell 进行通讯组管理的更多详细信息以及“查看和导出有关通讯组的信息”主题,您可以阅读文章在 Office 365 中使用 PowerShell 管理通讯组 |查看和导出有关通讯组的信息。
显示所有通讯组列表+详细信息
Get-DistributionGroup
显示通讯组成员
PowerShell命令语法:
Get-DistributionGroupMember "<Distribution Group Name>"
PowerShell 命令示例:
Get-DistributionGroupMember "Sales France"
统计通讯组成员的数量
PowerShell 命令示例:
(Get-DistributionGroupMember "IT").Count
显示具有特定电子邮件域的通讯组列表
PowerShell命令语法:
Get-DistributionGroup | Where {$_.emailaddresses -like <"*Domain Name*">} | FT -Property Name,Alias,EmailAddresses -Autosize
在我们的具体示例中,我们查找电子邮件地址包含域名 o365info.com 的通讯组。
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.emailaddresses -like "*o365info.com*"} | FT -Property Name,Alias,EmailAddresses -Autosize
获取过去 2 周内创建的通讯组列表
显示有关在特定日期范围之前或之后更新的通讯组的信息。
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.WhenCreated -ge ((Get-Date).Adddays(-14))} | FT DisplayName,WhenCreated
显示所有者(管理者)为用户 X 的所有通讯组
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.ManagedBy -like "*adele*"} | FT DisplayName,ManagedBy
显示具有主持人的所有通讯组
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.ModeratedBy -notlike "$null"} | FT DisplayName,ManagedBy
显示从本地 Active Directory 同步的所有通讯组
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.IsDirSynced -eq $true} | FT DisplayName, IsDirSynced
显示接受来自外部收件人的电子邮件的通讯组
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.RequireSenderAuthenticationEnabled -eq $True} | FT DisplayName,RequireSenderAuthenticationEnabled
显示不接受来自外部收件人的电子邮件的通讯组
PowerShell 命令示例:
Get-DistributionGroup | Where {$_.RequireSenderAuthenticationEnabled -eq $False } | FT DisplayName,RequireSenderAuthenticationEnabled
获取有关特定用户的通讯组成员身份的信息
PowerShell 命令示例:
$User = read-host “User Name"
$UserDName = (Get-Mailbox $User).name
"The User " + $User + " is a member of the following Distribution Groups:"
ForEach ($DistributionGroup in Get-Distributiongroup -resultsize unlimited) {
if ((Get-Distributiongroupmember $DistributionGroup.identity | select -expand name) -contains $UserDName)
{ $DistributionGroup.name }
}
5. 从通讯组中删除成员
如果您想获得有关使用 PowerShell 进行通讯组管理以及“删除通讯组和成员、转换通讯组类型等”主题的更多详细信息,您可以阅读文章在 Office 365 中使用 PowerShell 管理通讯组 |删除通讯组和成员|转换通讯组。
删除(移除)通讯组
要删除现有的通讯组,我们使用以下 PowerShell 命令。
PowerShell命令语法:
Remove-DistributionGroup "<Distribution Group Name>"
PowerShell 命令示例:
Remove-DistributionGroup "Sales USA"
从通讯组中删除成员
PowerShell命令语法:
Remove-DistributionGroupMember -Identity "<Distribution Group name>" -Member "<Member name>"
PowerShell 命令示例:
Remove-DistributionGroupMember -Identity "Sales USA" -Member "Bob"
从他所属的所有通讯组中删除用户
PowerShell 命令示例:
$DistributionGroups = Get-Distributiongroup -resultsize unlimited
$UserDName = read-host “Enter User Name"
$UserDName = (Get-Mailbox $User).name
"Searching which groups " + $User + " is a member of and removing membership..."
ForEach ($Group in $DistributionGroups) {
if ((Get-Distributiongroupmember $Group.Name | select -expand name) -contains $UserDName) {
write-host "Removing user from group '$Group'"
Remove-DistributionGroupMember -Identity "$Group" -Member "$UserDName" -Confirm:$false
}
}
从通讯组中删除所有成员
PowerShell 命令示例:
$DistributionGroupMember = Get-DistributionGroupMember "IT"
ForEach ($member in $DistributionGroupMember) {
Remove-DistributionGroupMember -Identity IT -Member $member.name -Confirm:$false
}
其他通讯组管理任务 |技巧和窍门
将成员从通讯组复制到安全组
PowerShell 命令示例:
$Members = Get-DistributionGroupMember -id "<Name of the source group>"
ForEach ($Member in $Members) {
Add-DistributionGroupMember -Identity "<Name of the destination security group>" -Member $Member.name
}
提取分发组成员并为每个组成员分配完全访问权限
PowerShell 命令示例:
$DistributionGroupName = Get-DistributionGroupMember "Sales France"
ForEach ($Member in $DistributionGroupName) {
Add-MailboxPermission -Identity "Bradp" -User $Member.name -AccessRights ‘FullAccess’ -InheritanceType all
}
就是这样!
所查看的所有 PowerShell 命令都包含在 Distribution list.ps1 PowerShell 脚本中。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag