最近はクラウド化が進み、Microsoft 365を利用する方も増えていると思います。
多くのことがGUIでわかりやすくできるMicrosoft 365環境ですが、多くのユーザの処理を一括で行ったりするのは、コマンドベースのPowerShellが便利です。
自分の備忘録のためにも、私がよく使うExchange Online系のコマンドをまとめていきたいと思います。
この記事ではWindows PowerShellを使った、Exchange Onlineの管理を紹介します。
この記事でできること
Windows PowerShellを使ってExchange Onlineサービスの管理ができる。
Windows PowerShellでExchange Onlineへ接続する
1. PowerShellを開きます。
PowerShellは、Windowsスタートメニューの
“Windows PowerShell”フォルダー>
“Windows PowerShell” を右クリックして、”管理者として実行” をクリック。
PowerShellが開いたら、サーバへ接続します。青文字が入力する文字列です。
PS C:WINDOWSsystem32> Get-ExecutionPolicy
>>
RemoteSigned
PS C:WINDOWSsystem32> Set-ExecutionPolicy RemoteSigned
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “N”): Y
PS C:WINDOWSsystem32> $credential = Get-Credential
>>
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
PS C:WINDOWSsystem32> Connect-ExchangeOnline -UserPrincipalName <管理者メールアドレス>
コマンド一覧
実行内容 | コマンド |
---|---|
連絡先 | |
連絡先の登録 | New-MailContact -Name <表示名> -Alias <@より左側の文字列> -ExternalEmailAddress <追加するメールアドレス> |
グローバルアドレス帳に表示しない | Set-MailContact -Identity <連絡先のメールアドレス> -HiddenFromAddressListsEnabled $true |
共有メールボックス | |
個人メールボックスから共有メールボックスへの変換 | Set-Mailbox -Identity <変換対象のメールアドレス> -Type Shared |
共有メールボックスの送信済みアイテムにメールを残す | Set-Mailbox -Identity <共有メールボックスのメールアドレス> -MessageCopyForSentAsEnabled $True |
グローバルアドレス帳に表示しない | Set-Mailbox -Identity <共有メールボックスのメールアドレス> -HiddenFromAddressListsEnabled $True |
メンバーの追加(読み取りと管理(FullAccess)) | Add-MailboxPermission -Identity <共有メールボックスのメールアドレス> -AccessRights FullAccess -User <追加するメンバーのメールアドレス> -InheritanceType All |
メンバーの追加(所有者として送信(SendAs)) | Add-RecipientPermission -Identity <共有メールボックスのメールアドレス> -AccessRights SendAs -User <追加するメンバーのメールアドレス> -InheritanceType All |
配布リスト | |
配布リスト作成 | New-DistributionGroup -Name <表示名> -Alias <@より左側の文字列> -PrimarySmtpAddress <配布リストのメールアドレス> -ManagedBy <配布リストの所有者> -Members <追加するメンバーのメールアドレス> -Type Distribution -MemberJoinRestriction Closed -MemberDepartRestriction Open -RequireSenderAuthenticationEnabled $False |
グローバルアドレス帳に表示しない | Set-DistributionGroup -Identity <配布リストのメールアドレス> -HiddenFromAddressListsEnabled $True |
差出人として送信を許可する権限の付与 | Add-RecipientPermission -Identity <配布リストのメールアドレス> -AccessRights SendAs -Trustee <権限を付与するメンバーのメールアドレス> |
所有者の変更 | Set-DistributionGroup -Identity <配布リストのメールアドレス> –ManagedBy <新しい所有者のメールアドレス> |
メンバーの追加 | Add-DistributionGroupMember -Identity <配布リストのメールアドレス> -Member <追加するメンバーのメールアドレス> |
メンバーの削除 | Remove-DistributionGroupMember -Identity <配布リストのメールアドレス> -Member <削除するメンバーのメールアドレス> |
全メンバーの置き換え | Update-DistributionGroupMember -Identity <配布リストのメールアドレス> -Members <全メンバーのメールアドレス>(カンマ区切り) |
差出人として送信を許可する権限の付与 | Add-RecipientPermission -Identity <配布リストのメールアドレス> -AccessRights SendAs -Trustee <追加するメンバーのメールアドレス> |
差出人として送信を許可する権限の削除 | Remove-RecipientPermission -Identity <配布リストのメールアドレス> -AccessRights SendAs -Trustee <削除するメンバーのメールアドレス> |
CSV一括インポート | Import-Csv .Import_Contact_Sample1.csv|%{New-MailContact -Name $_.Contactname -DisplayName $_.Contactname -ExternalEmailAddress $_.Email -FirstName $_.Firstname -LastName $_.Lastname} |
まとめ
自分の備忘録としてもいいものができました。
順次追加していきたいと思います。