12.19.2017

[Windows] office365 Windows10 PowerShell接続方法

1.「IT プロフェッショナル 用 Microsoft Online Services サインイン アシスタント RTW」のインストール
下記サイトよりダウンロードする(32bit or 64bit)
https://www.microsoft.com/ja-jp/download/details.aspx?id=41950
ファイル名: msoidcli_64.msi

2.PowerShellの起動
PowerShellを右クリックし、「管理者として実行する」を選択し、起動する

3.実行ポリシーの変更
この設定は、コンピューターで一度だけ構成すれば、接続ごとに行う必要はない。
Set-ExecutionPolicy RemoteSigned

実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y

4.ExchangeOnlineへサインイン
$Livecred = Get-Credential
ポップアップ表示が出るので
[ID]****@****.co.jp / [Password] を入力

$SessionOption= New-PSSessionOption -ProxyAuthentication Negotiate -SkipRevocationCheck
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $LiveCred -Authentication Basic -AllowRedirection -SessionOption $SessionOption
Import-PSSession $Session

5.以後、コマンドを入力していく

6.ExchangeOnlineからサインアウト
セッションを終了しないと、セッションがタイムアウト時間まで保持され続けるため、設定が終わったら、ExchangeOnlineからのセッションを切断すること。
Remove-PSSession $Session

[Windows]Exchange カレンダーアクセス権 PowerShell コマンド

■ アクセス権限の種類
=========
1.  Owner : 所有者 : 共有フォルダー内のすべてのアイテムの作成、参照、変更、削除、およびサブフォルダーの作成が可能でございます。また、他のユーザーに対するアクセス権限の付与、変更、削除も可能でございます。
2.  PublishingEditor : 発行編集者 : すべてのアイテムの作成、参照、変更、削除、およびサブフォルダーの作成が可能でございます。
3.  Editor :  編集者 : すべてのアイテムの作成、参照、変更、削除が可能でございます。
4.  PublishingAuthor : 発行作成者 : アイテムの作成と参照、サブフォルダーの作成、および自身が作成したアイテムの変更と削除が可能でございます。
5.  Author : 作成者 : アイテムの作成と参照、および自身が作成したアイテムの変更と削除が可能でございます。
6.  NonEditingAuthor : 非編集作成者 : アイテムの作成と参照、および自身が作成したアイテムの削除。
7.  Contributor : 寄稿者 : アイテムの作成のみ。(動作検証を行いましたところ、予定表では予定のアイテムの作成自体が行えない動作を確認しました。None と類似する動作を確認しております。そのため、予定表をご利用いただく上では、Contributor 以外のアクセス権限をご利用いただけますと幸いでございます。)
8.  Reviewer :  参照者 : アイテムの参照のみ。(予定アイテムをダブルクリックし、詳細情報を参照することが可能でございます。)
9.  LimitedDetails : 空き時間情報、件名、場所 : 予定表共有の場合のみ、予定表イベントの空き時間情報、件名、および場所の参照が可能でございます。(予定アイテムをクリックすると、件名、場所、日時は表示されますが、ダブルクリックすることはできません。)
10. AvailabilityOnly : 空き時間情報 : 予定表共有の場合のみ、予定表イベントの空き時間情報の参照が可能でございます。(予定アイテムが [予定ありと表示されます。)
11. None : なし : 実行できる操作なし。ユーザーはアクセス権リストに残りますが、アクセス権限はなく、フォルダーは開くことができません。


PowerShell コマンドレットです。

①ExchangeOnlineへサインイン
$Livecred = Get-Credential
[ID]****@****.co.jp / [Password] を入力
$SessionOption= New-PSSessionOption -ProxyAuthentication Negotiate -SkipRevocationCheck
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $LiveCred -Authentication Basic -AllowRedirection -SessionOption $SessionOption
Import-PSSession $Session
②カレンダーアクセス権の確認コマンド
Get-MailboxFolderPermission -Identity "会議室名or会議室のメールアドレス:\予定表"

③カレンダーアクセス権の設定 以下はReviewer権限を与えるコマンドです。
Set-MailboxFolderPermission -Identity "会議室名or会議室のメールアドレス:\予定表" -AccessRights Reviewer -User '既定'
例)Set-MailboxFolderPermission -Identity "room:\calendar" -AccessRights Reviewer -User '既定'​

※予定表が見つかりませんといった赤文字のメッセージが表示された場合は、
[会議室名:\予定表]の箇所を[会議室名:\calendar]に置き換えて再度実行をしてみる。

④カレンダー表示一覧の状態確認コマンドです。
Get-CalendarProcessing -Identity "会議室名or会議室のメールアドレス" | fl
例)Get-CalendarProcessing -Identity "room" | fl

⑤カレンダー表示の設定変更コマンドです。
Set-CalendarProcessing -Identity "会議室名or会議室リソースのメールアドレス" -DeleteSubject 0 -AddOrganizerToSubject 1 -DeleteComments 0
例)Set-CalendarProcessing -Identity "room" -DeleteSubject 0 -AddOrganizerToSubject 1 -DeleteComments 0

表示される一覧のうち今回設定するのは以下の項目。
 DeleteSubject:スケジュールの件名を削除する
 AddOrganizerToSubject:件名に会議開催ユーザーの名前を付与する
 DeleteComments:本文を削除する
⑥ユーザーの追加設定コマンドです。
Add-MailboxFolderPermission -Identity "会議室名or会議室のメールアドレス:\予定表" -User "ユーザーのメールアドレスorグループ" -AccessRights Reviewer
例)Add-MailboxFolderPermission -Identity "room:\予定表" -User ***@****.co.jp -AccessRights Reviewer

⑦ユーザーの削除設定コマンドです。
​Remove-MailboxFolderPermission -Identity "会議室名or会議室のメールアドレス:\予定表" -User "ユーザーのメールアドレスorグループ"
例)Remove-MailboxFolderPermission -Identity "room:\予定表" -User ***@****.co.jp

⑧ExchangeOnlineからサインアウト
セッションを終了しないと、セッションがタイムアウト時間まで保持され続けるため、
設定が終わったら、ExchangeOnlineからのセッションを切断すること。
Remove-PSSession $Session