ユーザーのゾーンの更新

ガイド CLI CLIサンプルスクリプト ユーザーのゾーンの更新

ユーザーのゾーンの更新

このスクリプトは、マルチゾーンのBoxテナント内の特定のデータ保管場所のゾーンにユーザーをプロビジョニングします。スクリプトによって以下の手順が実行されます。

  1. 管理者または共同管理者のログインメールアドレスを使用して、関連付けられた企業とその企業に割り当てられているゾーンポリシーを検索します。割り当てられているゾーンポリシーは、特に指定がない限り、すべてのユーザーが継承します。これは、デフォルトゾーンとも呼ばれることもあります。
  2. ユーザーのメールアドレスとゾーンマッピングが含まれる入力.csvファイルに基づいて、ゾーン割り当てを行います。

通常、このスクリプトはユーザーのゾーンを初めてプロビジョニングするときに1回使用します。ただし、ゾーンの割り当てを更新するために、以降の実行でも使用できます。

ゾーンの割り当てに管理コンソールを使用する場合は、こちらのガイドを参照してください。Box Zonesの詳細については、公式ウェブサイトを参照してください。

前提条件

Windows

.NET Coreの最新バージョンのインストール

MacOSおよびLinux

PowerShellをインストールします。pwshコマンドを実行して、インストール結果をテストします。

pwsh 

どのディレクトリでこのコマンドを実行するかに応じて、出力が異なる場合があります。以下に例を示します。

PowerShell 7.2.5
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.
  
PS /Users/user/repos/boxcli/examples> 

問題が発生する場合は、.NET CorePowerShellの両方をインストールしたかどうか確認してください。

JWT認証を使用するアプリケーションの設定

このスクリプトを使用するには、JWT認証を使用するBoxアプリケーションが必要です。

アプリを作成する際は、[構成] タブで以下の設定を構成します。

  • [アプリアクセスレベル] で [App + Enterprise Access] を選択します。
  • [アプリケーションスコープ] > [管理操作] の順に移動して、[Manage Enterprise Properties]、[Manage Users] を選択します。
  • [高度な機能] で [Generate user access tokens] を選択します。

管理者設定の調整

Boxの管理者または共同管理者にManage Users以上の権限があることを確認します。この設定を確認するには、以下の手順に従います。

  1. 管理コンソールの [ユーザーとグループ] セクションに移動します。
  2. 確認するユーザーアカウントをクリックします。
  3. [ユーザーアクセス権限を編集] セクションに移動して、ユーザーとグループに管理者権限を付与します。

.csvファイルの準備

.csvファイルには、EmailRegionというヘッダーを設定した2つの列が必要です。

  • Email列には、Boxユーザーのプライマリメールアドレスを含めます。
  • Region列には、スクリプトでユーザーを割り当てるゾーンのユーザーフレンドリ名 (ユーザーが理解しやすい名前) を含めます。この名前は、ゾーンの定義に使用するZonesTableというハッシュテーブルで指定します。キーはゾーンのユーザーフレンドリ名であり、対応する値はゾーンのグローバルIDです。

    $ZonesTable = @{
    US = "100001"             #US
    GermanyIreland = "100002" #Germany/Ireland with in region uploads/downloads/previews
    Australia = "100003"      #Australia
    Japan = "100004"          #Japan with in region uploads/downloads/previews
    Canada = "100005"         #Canada
    JapanSingapore = "100007" #Japan/Singapore with in region uploads/downloads/previews
    UKGermany = "100008"      #UK/Germany
    UK = "100009"             #UK with in region uploads/downloads/previews
    France = "100012"         #France
    }
    

特定の企業で有効なゾーンに対応するIDを入手するには、Box Consultingまたはカスタマーサクセスマネージャまでお問い合わせください。

このスクリプトには、以下のようなメールアドレスとゾーン名が含まれているサンプル入力.csvファイルが用意されています。

スクリプトの構成

この.csvファイルを指すようにUserZonesUpdatePathを設定します。

$UserZonesUpdatePath = "./your_file_name.csv"

adminEmailを、このスクリプトでゾーンの割り当てに使用するアカウントの管理者またはco-adminのログインメールアドレスに更新します。この値を指定しない場合、スクリプト実行時に指定するよう求められます。

$adminEmail = "john@box.com"

スクリプトの実行

ディレクトリを、スクリプトが格納されているフォルダに変更します。この例では、Mass Update User Zonesフォルダになります。

rvb@lab:~/box-cli/examples/Mass Update User Zones$ pwsh
PowerShell 7.2.4
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS /home/rvb/box-cli/examples/Mass Update User Zones>

スクリプトを実行します。

./Mass_Update_User_Zones.ps1

オプションのフラグ

シミュレーションモードでスクリプトを実行するには、DryRunブール値フラグを追加します。仮実行では、API呼び出しが行われないというわけではありませんが、作成/更新/削除の呼び出しはすべてスキップされます。

./Mass_Update_User_Zones.ps1 -DryRun

ログ

ログは、メインフォルダ内のlogsフォルダに格納されます。以下のログファイルにアクセスできます。

  • Mass_Update_User_Zones_all.txt: すべてのログエントリが含まれています。
  • Mass_Update_User_Zones_errors.txt: エラーのみが含まれています。