Office 365 PowerShell を使用して SharePoint Online サイトを作成し、ユーザーを追加する

 

**概要:**Office 365 PowerShell を使用して新たに SharePoint Online サイトを作成してから、それらのサイトにユーザーとグループを追加します。

Office 365 PowerShell を使用して SharePoint Online サイトを作成してユーザーを追加すると、Office 365 管理センター を使用する場合よりもタスクを素早く、繰り返し実行できます。また、Office 365 管理センター では実行できないタスクも実行できます。

開始する前に

Office 365 PowerShell を使って、SharePoint Online を管理する前に、SharePoint Online Management Shell とその前提条件がインストールされていることと、SharePoint Online に接続していることを確認します。

SharePoint Online Management Shell をインストールするには、SharePoint Online Management Shell をダウンロードして実行してください。これはコンピューターごとに 1 回だけ実行する必要があります。

SharePoint Online Management Shell コマンド プロンプトを開くには、スタート画面で「sharepointと入力してから、[SharePoint Online Management Shell] をクリックします。

SharePoint Online に接続するには、$adminUPN 変数と $orgName 変数の値を入力し (< や > の文字など、引用符の間のテキストをすべて置き換える)、SharePoint Online Management Shell コマンド プロンプトで次のコマンドを実行します。

$adminUPN="<the full email address of an Office 365 administrator account, example: jdoe@contosotoycompany.onmicrosoft.com>"
$orgName="<name of your Office 365 organization, example: contosotoycompany>"
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential

[Windows PowerShell の資格情報の要求] ダイアログ ボックスが表示されたら、Office 365 の管理者アカウントのパスワードを入力します。

SharePoint Online コマンドを実行する準備ができました。

手順 1: Office 365 PowerShell を使って新しいサイト コレクションを作成する

Office 365 PowerShell と、提供されているサンプル コードとメモ帳を使用して作成した .csv ファイルを使用して複数のサイトを作成します。この手順では、角かっこ内に表示されているプレース ホルダー情報を自分のサイトやテナント固有の情報に置き換えます。このプロセスでは、1 つのファイルを作成し、そのファイルを使用する 1 つの Office 365 PowerShell コマンドを実行することができます。これにより、実行されるアクションは反復可能かつポータブルになり、長いコマンドを SharePoint Online 管理シェルに入力した場合に発生する可能性がある多くのエラー (すべてではないものの) がなくなります。この手順は 2 つの部分で構成されます。最初に .csv ファイルを作成し、次に Office 365 PowerShell を使用してその .csv ファイルを参照します。ファイルの内容を使用してサイトが作成されます。

Office 365 PowerShell コマンドレットは、その .csv ファイルをインポートし、ファイルの最初の行を列見出しとして読み取る、中かっこ内のループにパイプします。次に、Office 365 PowerShell コマンドレットは、残りのレコードを反復処理し、レコードごとに新規のサイト コレクションを作成し、列見出しに従ってサイト コレクションのプロパティを割り当てます。

.csv ファイルの作成

  1. メモ帳を開き、次のテキスト ブロックを貼り付けます。

    Owner,StorageQuota,Url,ResourceQuota,Template,TimeZoneID,Name
    <owner>@<tenant>.onmicrosoft.com,100,https://<tenant>.sharepoint.com/sites/TeamSite01,25,EHS#1,10,Contoso Team Site
    <owner>@<tenant>.onmicrosoft.com,100,https://<tenant>.sharepoint.com/sites/Blog01,25,BLOG#0,10,Contoso Blog
    <owner>@<tenant>.onmicrosoft.com,150,https://<tenant>.sharepoint.com/sites/Project01,25,PROJECTSITE#0,10,Project Alpha
    <owner>@<tenant>.onmicrosoft.com,150,https://<tenant>.sharepoint.com/sites/Community01,25,COMMUNITY#0,10,Community Site
    

    ここでは、

    • [<tenant>] はテナントの名前です。メモ帳を使用して一括置換を素早く実行する場合は、Ctrl + H を押します。

    • [<owner>] は、プライマリ サイト コレクション管理者の役割を付与する、テナントのユーザーのユーザー名です。

  2. そのファイルを SiteCollections.csv という名前でデスクトップに保存します。

    ヒント

    この .csv ファイルやそれ以外の .csv ファイル、または Windows PowerShell スクリプト ファイルを使用する前に、余分の文字または印刷されない文字がないか確認することをお勧めします。Word でファイルを開き、リボンで [段落] アイコンをクリックすると、印刷されない文字が表示されます。印刷されない余分の文字がないようにしてください。たとえば、ファイルの末尾の最後の文字の後ろに段落記号があってはなりません。

Windows PowerShell コマンドの実行

  1. Windows PowerShell プロンプトで、次のコマンドレットを入力するか、コピーして貼り付け、Enter キーを押します。

    Import-Csv C:\users\<MyAlias>\desktop\SiteCollections.csv | ForEach-Object {New-SPOSite -Owner $_.Owner -StorageQuota $_.StorageQuota -Url $_.Url -NoWait -ResourceQuota $_.ResourceQuota -Template $_.Template -TimeZoneID $_.TimeZoneID -Title $_.Name}
    

    [<MyAlias>] はユーザーのエイリアスにします。

  2. Windows PowerShell プロンプトが再度表示されるまで待機します。これには 1 ~ 2 分かかる場合があります。

  3. Windows PowerShell プロンプトで、次のコマンドレットを入力するか、コピーして貼り付け、Enter キーを押します。

    Get-SPOSite -Detailed | Format-Table -AutoSize
    
  4. 新しいサイト コレクションが一覧にあることを確認します。次のサイト コレクションが表示されるはずです。[contosotest]、[TeamSite01]、[Blog01]、[Project01]。

  5. これで完了です。作成した .csv ファイルと 1 つの Windows PowerShell コマンドレットを使用して、複数のサイト コレクションを作成しました。これで、ユーザーを作成してこれらのサイトに割り当てる準備ができました。

手順 2:ユーザーおよびグループの追加

ここでは、ユーザーを作成し、サイト コレクションのグループに追加します。次に, .csv ファイルを使用して、新しいグループとユーザーを一括アップロードします。

次の手順では、サイト コレクションの contosotest、TeamSite01、Blog01、Project01 が正常に作成されていることが前提になっています。

.csv ファイルおよび .ps1 ファイルの作成

  1. メモ帳を開き、次のテキスト ブロックを貼り付けます。

    Site,Group,PermissionLevels
    https://<tenant>.sharepoint.com/sites/contosotest,Contoso Project Leads,Full Control
    https://<tenant>.sharepoint.com/sites/contosotest,Contoso Auditors,View Only
    https://<tenant>.sharepoint.com/sites/contosotest,Contoso Designers,Design
    https://<tenant>.sharepoint.com/sites/TeamSite01,XT1000 Team Leads,Full Control
    https://<tenant>.sharepoint.com/sites/TeamSite01,XT1000 Advisors,Edit
    https://<tenant>.sharepoint.com/sites/Blog01,Contoso Blog Designers,Design
    https://<tenant>.sharepoint.com/sites/Blog01,Contoso Blog Editors,Edit
    https://<tenant>.sharepoint.com/sites/Project01,Project Alpha Approvers,Full Control
    

    [<tenant>] はテナント名にします。

  2. ファイルを GroupsAndPermissions.csv という名前でデスクトップに保存します。

  3. メモ帳の新しいインスタンスを開き、次のテキストのブロックを貼り付けます。

    Group,LoginName,Site
    Contoso Project Leads,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    Contoso Auditors,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    Contoso Designers,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    XT1000 Team Leads,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/TeamSite01
    XT1000 Advisors,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/TeamSite01
    Contoso Blog Designers,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/Blog01
    Contoso Blog Editors,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/Blog01
    Project Alpha Approvers,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/Project01
    

    ここでは、

    • [<tenant>] はテナント名にします。

    • [<username>] は既存のユーザーのユーザー名にします。

  4. ファイルを Users.csv という名前でデスクトップに保存します。

  5. メモ帳の新しいインスタンスを開き、次のテキストのブロックを貼り付けます。

    Import-Csv C:\users\<MyAlias>\desktop\GroupsAndPermissions.csv | ForEach-Object {New-SPOSiteGroup -Group $_.Group -PermissionLevels $_.PermissionLevels -Site $_.Site}
    Import-Csv C:\users\<MyAlias>\desktop\Users.csv | where {Add-SPOUser -Group $_.Group -LoginName $_.LoginName -Site $_.Site}
    

    [<MyAlias>] は現在ログオンしているユーザーのユーザー名にします。

  6. ファイルを UsersAndGroups.ps1 という名前でデスクトップに保存します。これは、単純な Windows PowerShell スクリプトです。

  7. これで、UsersAndGroup.ps1 スクリプトを実行して複数のサイト コレクションにユーザーとグループを追加する準備ができました。

UsersAndGroups.ps1 スクリプトの実行

  1. SharePoint Online 管理シェルに戻ります。

  2. Windows PowerShell プロンプトで、次の行を入力するか、コピーして貼り付け、Enter キーを押します。

    Set-ExecutionPolicy Bypass
    
  3. 確認プロンプトで、Y キーを押します。

  4. Windows PowerShell プロンプトで、次のものを入力するか、コピーして貼り付け、Enter キーを押します。

    c:\users\<MyAlias>\desktop\UsersAndGroups.ps1
    

    [<MyAlias>] はユーザー名にします。

  5. プロンプトが戻るまで待機してから、次に進みます。最初に、作成したとおりにグループが表示されます。次に、ユーザーを追加するたびに、グループの一覧が繰り返し表示されます。

関連項目

Office 365 PowerShell による Office 365 の管理
Office 365 PowerShell の概要
Office 365 PowerShell を使用して SharePoint Online を管理する
Office 365 PowerShell を使ってユーザー アカウントとライセンスを管理します。
Windows PowerShell を使用して Office 365 でレポートを作成する