Office 365のExchange OnlineはExchange Server 2013ベースのため、Exchangeの管理はWebの管理者センターおよびExchange管理シェルが利用できます
Exchange管理シェルをOffice 365のExchange Onlineに対して実行する手順について、リモート PowerShell による Exchange への接続のドキュメントの内容を確認したのでメモしておきます
動作はWindows 8.1で試しています
Windows PowerShellは管理者としてを実行します
事前準備
Windows PowerShellで署名付きスクリプトを許可するように実行ポリシーを変更する必要があります
以下のコマンドを実行します
PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policie
s のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
実行ポリシーについての参考記事: WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する
セッションの開始
Get-Credentialコマンドを実行します
PS C:\windows\system32> $UserCredential = Get-Credential
コマンド パイプライン位置 1 のコマンドレット Get-Credential
次のパラメーターに値を指定してください:
Credential
以下のように[Windows PowerShell 資格情報の要求] ダイアログ ボックスが開くのでOffice 365の管理者アカウントでログインします
次に以下のコマンドを実行します
PS C:\windows\system32> $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
次に以下のコマンドを実行します
PS C:\windows\system32> Import-PSSession $Session
警告: モジュール 'tmp_ktmwejqg.xky'
からインポートされたコマンドの中には、名前に承認されていない動詞を含むものがあ
り、このようなコマンドは検出される可能性が低くなる場合があります。承認されてい
ない動詞を含むコマンドを見つけるには、Verbose パラメーターを使用してもう一度
Import-Module
コマンドを実行してください。承認されている動詞の一覧を表示するには、「Get-Verb
」と入力してください。
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0 tmp_ktmwejqg.xky {Add-AvailabilityA...
コマンド実行例
セッションが確立したら、Exchangeコマンドが利用できます。
たとえば以下は、Get-MailboxFolderを実行した例です
PS C:\windows\system32> Get-MailboxFolder -Identity hiroyuki.endoh -Recurse
Name FolderPath HasSubfolders
---- ---------- -------------
インフォメーション スト... {} True
RSS フィード {RSS フィード} False
ジャーナル {ジャーナル} False
タスク {タスク} False
メモ {メモ} False
下書き {下書き} False
削除済みアイテム {削除済みアイテム} True
ああああ {削除済みアイテム, ああ... False
桑原 {削除済みアイテム, 桑原} False
受信トレイ {受信トレイ} False
送信トレイ {送信トレイ} False
送信済みアイテム {送信済みアイテム} False
同期の失敗 {同期の失敗} True
サーバーの失敗 {同期の失敗, サーバーの... False
ローカルの失敗 {同期の失敗, ローカルの... False
競合 {同期の失敗, 競合} False
迷惑メール {迷惑メール} False
予定表 {予定表} True
遠藤公開 {予定表, 遠藤公開} False
連絡先 {連絡先} True
セッションの終了
操作が終わったら以下のコマンドでセッションを終了します
PS C:\windows\system32> Remove-PSSession $Session