当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 获取通讯组成员 - Office 365 报告

作者:精品下载站 日期:2024-12-14 08:24:17 浏览:12 分类:玩电脑

获取通讯组成员 - Office 365 报告


因此,您的组织迁移到 Office 365,并且您已经度过了管理其 IT 基础设施的忠实岁月,突然您现在进入了云时代。每个人都在谈论安全性,这使得您的安全审核员不断询问有关组成员详细信息的报告。如果您就是这个人,并且不采用传统方式登录 Office 365 获取报告,而是使用适合您自己的自定义设置的广泛 powershell 选项,那么您就进入了正确的页面。让我解释一下下面的脚本#DroidWay ?。

下面给定的脚本说明了如何在 Office 365 中导出通讯组(列表)组成员。获取通讯组成员 powershell office 365 cmdlet 用于从 Office 365 通讯组列表中检索成员。借助 powershell 中提供的 cmdlet,Office 365 通讯组列表管理可以成为一项简单的任务,并提供各种支持的操作,例如 Office 365 通讯组管理、将组成员从 Office 365 导出到 csv 等。

如果您需要导出通讯组成员以及更多有用的属性和高级筛选器/自定义,请参阅我们的详细的 Office 365 通讯组成员报告博客。

Param(  
     $O365Username,$O365Password  
)  
$Password = ConvertTo-SecureString -AsPlainText $O365Password -Force      
      
    $Cred  = New-Object System.Management.Automation.PSCredential $O365Username, $Password 
  
    $session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection

    Import-PSSession $session
        $ExportCSV="C:\Test\AllOutput.csv"
                $results = @()

        $name = Get-Group -RecipientTypeDetails MailUniversalDistributionGroup | Select-Object -InputObject {$_.DisplayName}
        
        foreach ($n in $name){
        $member = Get-DistributionGroupMember -Identity $n | Select-Object -InputObject {$_.DisplayName}
        foreach ($m in $member)
        {
                $details = @{
        GroupName = $n
        Member = $m
        
        }
                        $results += New-Object psobject -Property $details

        }
        }

    $results | Export-Csv -Path $ExportCSV -NoTypeInformation

Get-PSSession | Remove-PSSession

保存上述脚本(例如:script.ps1),将其执行为 script.ps1 -O365Username [email protected] -O365password StrangePwd(或)只需执行 script.ps1 并在 UI 中输入 O365 凭据。

本博客介绍了一些可用于将通讯组成员列表从 Office 365 导出到 csv 文件的 powershell 脚本技术。

第 1 步:我们必须声明将在脚本执行期间指定为输入的实参参数,在此示例中,我使用了 Office 365 用户名和密码。

Param(  
     $O365Username,$O365Password  
)  

第2步:为Office 365创建powershell会话并将其导入以供使用。

$Password = ConvertTo-SecureString -AsPlainText $O365Password -Force      

$Cred  = New-Object System.Management.Automation.PSCredential $O365Username, $Password  

$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection

Import-PSSession $session

步骤3:声明将存储导出CSV输出的参数,Get-group将获取所有Office365通讯组的名称,该名称存储在$name中以For循环从中获取Get-distributionGroupmember用户,其中进一步存储在$member中。提及输出文件(空 .CSV 文件)的文件位置,您需要在 $ExportCSV 中导出 Office365 通讯组成员列表。

$ExportCSV="C:\Test\AllOutput.csv"
$results = @()

$name = Get-Group -RecipientTypeDetails MailUniversalDistributionGroup | Select-Object -InputObject {$_.DisplayName}
 foreach ($n in $name){
        $member = Get-DistributionGroupMember -Identity $n | Select-Object -InputObject {$_.DisplayName}

步骤 4: 在前面的步骤 3 的 For 循环中添加另一个 For 循环,以接收 Office 365 通讯组列表 ($name) 的每个 Office 365 通讯组成员 ($member),并将其存储在包含在$details 参数。为每个 $details 创建新对象并将其添加到 $results 对象中。

        foreach ($m in $member)
        {
                $details = @{
        GroupName = $n
        Member = $m
        
        }
                        $results += New-Object psobject -Property $details

        }

第5步:导出结果并结束powershell会话。

        }

    $results | Export-Csv -Path $ExportCSV -NoTypeInformation

Get-PSSession | Remove-PSSession

输出 CSV 内容示例:

“成员”,“群组名称”
“亚历克斯·威尔伯”、“Tailspin 玩具”
“乔尼·谢尔曼”、“Tailspin 玩具”
“梅根·鲍文”、“Tailspin 玩具”
“林恩·罗宾斯”、“尾旋玩具”
“亨利埃塔·穆勒”、“Tailspin Toys”
“莉迪亚·霍洛威”、“Tailspin 玩具”
“乔尼·谢尔曼”、“高管”
“亨利埃塔·穆勒”、“高管”
“乔尼·谢尔曼”,“法律团队”
“林恩·罗宾斯”,“财务团队”
“亚历克斯·威尔伯”,“销售团队”
“梅根·鲍文”,“销售团队”
“亨利埃塔·穆勒”,“销售团队”
“莉迪亚·霍洛威”,“销售团队”
“亚历克斯·威尔伯”,“罗斯风贸易商”
“乔尼·谢尔曼”、“罗斯风商人”
“梅根·鲍文”,“北风商人”

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯