-

Adsense

この記事には広告が含まれています Microsoft365

【2025年版】Microsoft365メールが有効なセキュリティグループ一括作成ガイド

Adsense

  • 中堅企業の情シス在籍中
  • 仕事柄、常に最新の情報をキャッチ
  • 企業に勤めているならではの視点で投稿

はじめに

Exchange Online PowerShell

Exchange Online PowerShell は、コマンド ラインから Microsoft 365 organizationのExchange Online部分を管理できる管理インターフェイスです (Exchange Online ProtectionおよびMicrosoft Defender for Office 365)。

https://learn.microsoft.com/ja-jp/powershell/exchange/exchange-online-powershell?view=exchange-ps

メールが有効なセキュリティグループを一括作成したいよ…

悩む人
悩む人
ちゅうけん
ちゅうけん

今回はメールが有効なセキュリティグループを一括作成するPowerhellのコードを紹介するから安心してね!

    結論

    Microsoft365メールが有効なセキュリティグループは、PowerShellスクリプト+CSVファイルを組み合わせることで短時間で一括作成できます。

    理由は、Microsoft365管理センターでは複数作成の自動化機能がないためです。PowerShellを使えば、数百件でも短時間で作成でき、設定ミスも減らせます。

    この記事では、実際のスクリプトを使いながら、手順をわかりやすく説明します。

    完成コード

    写真の設定は下記のコードをコピペすることで簡単に設定が可能です。
    ※このあとコードを解説して行きます。

    完成版

    ##################################
    #   PowerShellでMicrosoft365管理
    #   メールが有効なセキュリティグループ括作成
    #   作成日:
    ##################################
    
    # CSVファイルのパスを指定
    $Path = ".\test.csv"
    
    # Exchange Online に接続
    connect-exchangeOnline -UserPrincipalName admin@test.onmicrosoft.com -ShowProgress $true
    
    # CSV読み込み
    $Csv = Import-Csv $Path
    
    foreach ($row in $Csv) {
        $Name               = $row.Name
        $Alias              = $row.Alias
        $PrimarySmtpAddress = $row.PrimarySmtpAddress
    
        try {
            # セキュリティグループ作成
            New-DistributionGroup `
                -Name $Name `
                -Alias $Alias `
                -PrimarySmtpAddress $PrimarySmtpAddress `
                -Type Security `
                -ManagedBy "admin@test.onmicrosoft.com"
    
            Write-Output "[$Name] セキュリティグループ作成が成功しました"
    
            # 設定確認
            Get-DistributionGroup -Identity $PrimarySmtpAddress | Format-List Name,Alias,PrimarySmtpAddress,ManagedBy
    
            # 備考がある場合のみ表示
            if ($row.Notes) {
                Get-Group -Identity $PrimarySmtpAddress | Format-List Notes
            }
        }
        catch {
            Write-Output "[$Name] セキュリティグループ作成が失敗しました:$_"
        }
    }
    

    必要な準備と環境

    一括作成を行うために必要なものを確認します。

    Microsoft365管理者アカウント

    Exchange Online に接続するため、グローバル管理者またはExchange管理者権限が必要です。

    PowerShell(推奨:PowerShell 7 以上)

    Windows標準のPowerShellでも実行できますが、最新版の使用をおすすめします。

    Exchange Online モジュール

    下記でインストール可能です。

    Install-Module ExchangeOnlineManagement

    CSVファイルを準備する

    PowerShellスクリプトはCSVを読み取り、行ごとにセキュリティグループを作成します。

    CSVの例(test.csv)

    NameAliasPrimarySmtpAddressNotes
    営業部mail_salesmail_sales@test.onmicrosoft.com営業関連
    総務部mail_soumu
    mail_soumu@test.onmicrosoft.com
    総務部門
    戦略室mail_senryaku
    mail_senryaku@test.onmicrosoft.com
    戦略室

    Name:グループ名

    Alias:エイリアス

    PrimarySmtpAddress:メールアドレス

    Notes:備考(任意)

    スクリプトのポイント解説

    1. Exchange Online へ接続
    connect-exchangeOnline

    セキュリティグループ管理はExchange側の機能なので、接続が必須です。

    2. New-DistributionGroupコマンド
    -Type Security

    ここで セキュリティグループを作成する設定 になっています。
    メールが有効なセキュリティグループを作成する場合はこのコマンドを使用します。

    3. エラーハンドリング
    try { ... } catch { ... }

    大量作成時にどのグループが失敗したかを把握できます。

    4. Notes の条件付き表示

    CSVに Notes がある行のみ追加情報を確認できます。

    よくあるエラーと対処法

    エイリアスが重複している

    Exchange側でエイリアスは重複不可。CSVを再チェックしてください。

    メールアドレスの形式エラー

    xxx@test.onmicrosoft.com

    の形になっているか確認。

    権限不足

    管理者権限がないと作成できません。

    Adsense

    広告(信頼しているリンクのみ)

    -Microsoft365
    -,