Office365 Proxy設定用PACファイルの作り方

Office365を利用する際は、できる限りマイクロソフトの提供するエンドポイントに近い位置に接続を行うことで、パフォーマンスを最適化することができるように調整されています。

そのため、ドメイン情報とIPアドレスが以下サイトで提供されています。

https://docs.microsoft.com/en-us/office365/enterprise/urls-and-ip-address-ranges

この情報を基にPACファイルを作成し、接続を最適化するケースがあると思いますが、そのPAC作成を支援するツールがPowerShellGalleryに展開されていました。

https://www.powershellgallery.com/packages/Get-PacFile/

利用方法はPowerShellよりコマンドを用いスクリプトをインストールし、実行するだけ。

これを利用することでドメイン情報とIPアドレスのサイトをチェックしてPACを作成するという手順を自動化することも可能です。

f:id:mohessu:20190512171005p:plain

まずはPowerShellを管理者で起動し、以下コマンドを実行しましょう。

Install-Script -Name Get-PacFile

Installパスを変数に加える、リポジトリを信用するかを聞かれますので、両方ともYを選択しましょう。

f:id:mohessu:20190512171947p:plain

これでインストールは完了です。

これで以下コマンドを実行すると、実行できます、、、が、クライアントOSの場合はps1は実行できない様に初期設定されていることを忘れました。

Get-PacFile.ps1

f:id:mohessu:20190512174604p:plain

そんなエラーが出たときは、PowerShellを起動するShellを書きましょう。

powershell -ExecutionPolicy RemoteSigned Get-PacFile -Type 1 -Instance Worldwide -TenantName Contoso -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7

f:id:mohessu:20190512195802p:plain

このコマンドにはいくつか引数があります。

上記で打ったコマンド引数は以下。

-Type:1と2を取ります。1は最適化、2は最適化と許可のドメインを一覧で並べてくれます。
-TenantName:自分のテナント名。SharePointドメインはテナント名が入るため、設定することになります。
-ClientRequestId:PowerShellを起動するクライアントのリクエストID。これは適当なGUIDでよさそうです。generatorで作成して用意しましょう。

Type1での出力結果

f:id:mohessu:20190512190524p:plain

Type2での出力結果

f:id:mohessu:20190512175126p:plain

f:id:mohessu:20190512175148p:plain

このコマンドは-FilePathをファイル出力する機能などもあります。

IPの設定は用意されないなど実利用には一部足りないところもあるので、自分で使いやすいように改良して使うのがよさそうです。

全体のShellは以下に公開されているため、これを確認しながら使いやすいように作っていきましょう。

https://www.powershellgallery.com/packages/Get-PacFile/1.0.4/Content/Get-PacFile.ps1

音楽:インフィニティ #7