一歩進んだOffice 365 PowerShellで管理(実践編)

2016/04/28
/
Comments Closed

みなさん、こんにちは。アジュールパワーの菅原です。

さて、Office 365をPowerShellが管理するには、前回記載したような手順が必要でした。
次に実際に、Office 365の管理を行ってみたいと思います。

まず、Powershell ISEを「管理者で実行」して、以下のコードをコピーして画面上部のスクリプトウィンドウにコードを貼り付けます。

Office 365のサービスを管理するには、サービスごとに準備が異なりますが、ここでは一括ですべてのサービスに接続しています。
#Office 365のサービスにPowerShellで接続する
$credential = get-credential
 
#Office 365(Azure AD)への接続
Import-Module MSOnline
Connect-MsolService -Credential $credential
 
#Exchange Onlineとコンプライアンスセンターへの接続
$ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://outlook.office365.com/powershell-liveid/" -Credential $credential -Authentication "Basic" -AllowRedirection
Import-PSSession $exchangeSession -DisableNameChecking
$CpSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $credential -Authentication Basic -AllowRedirection
Import-PSSession $ccSession -Prefix cc
 
#Skype for Businessへの接続
Import-Module SkypeOnlineConnector
$lyncSession = New-CsOnlineSession -Credential $credential
Import-PSSession $lyncSession
 
#SharePoint Onlineへの接続
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService -Url https://[domain]-admin.sharepoint.com -Credential $credential
#[domain]の部分はテナント作成時に指定した独自ドメイン名(***.onmicrosoft.comの前の***)になりますので置き換えてください。

これらのコマンドをすべて実行するには「スクリプトを実行(F5)」をクリックします。

また、コマンドをそれぞれ実行するには、一つまたは複数選択のコマンドを選択して、「選択項目を実行(F8)」します。

o365ps7

すべて実行すると、まず、資格情報を聞かれます。
Office 365テナントの管理者IDとパスワードを入力します。

o365ps4

次に、WinRMサービスの起動の確認がありますので、「はい」を選択します。
※Skype for Businessへの接続時

o365ps5

実行完了すると、以下のような結果が出力されているはずです。

ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0 tmp_ygk3it3i.vjz {Add-AvailabilityAddressSpace, Add-DistributionGroupMember, Add-MailboxFolderPermission, Add-MailboxPermissio...
警告: 接続は次の URI にリダイレクトされました。"https://jpn01b.ps.compliance.protection.outlook.com/powershell-liveid?PSVersion=5.0.10586.122 "
Script 1.0 tmp_3kig4hvg.41d {Add-cceDiscoveryCaseAdmin, Add-ccRoleGroupMember, Get-ccAdminAuditLogConfig, Get-ccAuditConfig...}
Script 1.0 tmp_vkreduw5.psi {Clear-CsOnlineTelephoneNumberReservation, Copy-CsVoicePolicy, Disable-CsMeetingRoom, Disable-CsOnlineDialInC…

これで後は、Powershellで実行するだけです。
たとえば、こんなコマンドが使えます。
#ドメイン確認
Get-AcceptedDomain
 
#ユーザー確認
Get-Msoluser
 
#配布グループの確認
Get-DistributionGroup
 
#メールボックスの確認
Get-Mailbox

また、よく使うコマンドとしては、こんなものがあります。

#予定表アクセス権の確認と既定のアクセス権の変更
Get-MailboxFolderPermission -Identity user@hogehoge.jp:\予定表
Set-MailboxFolderPermission -Identity user@hogehoge.jp:\予定表 -User Default -AccessRights Reviewer

新規に作成したユーザーの予定表は、本人がOutlookでアクセス権の設定をしないと別のユーザーから参照できません。
ユーザー作成した際に上記コマンドを実行すると既定のアクセス権を Reviewer(参照者)に設定できます。

#配布グループの作成
New-DistributionGroup -Name "グループ名" -Alias groupename -Members user1@hogegoge.jp,user2@hogehoge.jp,user3@hogehoge.jp

Exchangeの配布グループの作成は、数が多いと意外と面倒です。
以下のような表があれば、比較的簡単に上記のようなスクリプトを書いて実行することができます。

o365ps6

Office 365のPowerShellについては、マイクロソフト社が出している
Microsoft Office 365 PowerShell ガイド
https://www.microsoft.com/ja-jp/download/details.aspx?id=42673
というPDFで13.7MB、ページ数でいうと1500ページ超というガイドもダウンロードできますし、参考になるさまざまなサイトがありますので、
気になるコマンドは検索して利用方法を探してみるのもいいと思います。

少しでもPowerShellを使うことで管理の手間を減らすことができると思いますので、
ぜひ、まだ使ったことがない方は、使ってみることをオススメします。

Comments are closed.

Top