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

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

PowerShell for Microsoft 365 を使用して SharePoint サイトを作成し、ユーザーを追加すると、Microsoft 365 管理センターよりもすばやく繰り返しタスクを実行できます。 また、Microsoft 365 管理センターで実行できないタスクを実行することもできます。

SharePoint への接続

この記事の手順では、SharePoint に接続する必要があります。 手順については、「 SharePoint PowerShell に接続する」を参照してください。

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

PowerShell を使用して複数のサイトを作成し、コード例とメモ帳を使用して作成した .csv ファイルを作成します。 この手順では、角かっこで囲まれたプレースホルダー情報を、独自のサイトおよびテナント固有の情報に置き換えます。 このプロセスを使用すると、1 つのファイルを作成し、そのファイルを使用する 1 つの PowerShell コマンドを実行できます。 これにより、アクションは繰り返し可能で移植可能になり、SharePoint 管理シェルに長いコマンドを入力した場合に発生する可能性があるエラーの多くが排除されます。 この手順には 2 つの部分があります。 まず、.csv ファイルを作成し、その .csv ファイルを PowerShell を使用して参照します。このファイルは、その内容を使用してサイトを作成します。

PowerShell コマンドレットは、.csv ファイルをインポートし、ファイルの開始行を列ヘッダーとして読み取る中かっこ内のループにパイプします。 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
    

    テナントはテナントの名前で、所有者はプライマリ サイト管理者の役割を付与するテナント上のユーザーのユーザー名です。

    (メモ帳を使用して一括置換を高速化する場合は、Ctrl キーを押しながら H キーを押すことができます)。

  2. ファイルを SiteCollections.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. WindowsPowerShell プロンプトが再度表示されるまで待機します。 これには 1 - 2 分かかる場合があります。

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

    Get-SPOSite -Detailed | Format-Table -AutoSize
    
  4. 一覧の新しいサイト コレクションをメモします。 CSV ファイルの例を使用すると、TeamSite01、Blog01Project01Community01 のサイト コレクションが表示されます。

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

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

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

次の手順では、TeamSite01、Blog01、Project01、Community01 のサンプル サイトを引き続き使用します。

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

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

    Site,Group,PermissionLevels
    https://tenant.sharepoint.com/sites/Community01,Contoso Project Leads,Full Control
    https://tenant.sharepoint.com/sites/Community01,Contoso Auditors,View Only
    https://tenant.sharepoint.com/sites/Community01,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
    

    テナントがテナント名と等しい場合

  2. ファイルを GroupsAndPermissions.csvとしてデスクトップ に保存します。

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

    Group,LoginName,Site
    Contoso Project Leads,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    Contoso Auditors,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    Contoso Designers,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    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
    

    テナントがテナント名と等しく、ユーザー名が既存のユーザーのユーザー名と等しい場合。

  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スクリプトです。

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

UsersAndGroups.ps1 スクリプトの実行

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

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

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

  4. Windows PowerShellコマンド プロンプトで、次のように入力またはコピーして貼り付け、Enter キーを押します。

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

    MyAlias がユーザー名と等しい場合

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

関連項目

SharePoint PowerShell に接続する

PowerShell を使用して SharePoint サイト グループを管理する

PowerShell で Microsoft 365を管理する

Microsoft 365 用 PowerShell の使用を開始する