この記事は、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 ファイルの作成
注:
リソース クォータ パラメーターは、クラシック サイトでのみ機能します。 モダン サイトでこのパラメーターを使用すると、非推奨になったという警告メッセージが表示される場合があります。
メモ帳を開き、次のテキスト ブロックを貼り付けます。
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 キーを押すことができます)。
ファイルを SiteCollections.csvとしてデスクトップ に保存します。
ヒント
このスクリプト ファイルまたはその他の .csv またはスクリプト ファイルWindows PowerShell使用する前に、余分な文字や印刷しない文字がないことを確認することをお勧めします。 Word でファイルを開き、リボンで [段落] アイコンをクリックすると、印刷されない文字が表示されます。 印刷されない余分の文字がないようにしてください。 たとえば、ファイルの末尾の最後の文字の後ろに段落記号があってはなりません。
Windows PowerShell コマンドの実行
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 がユーザー エイリアスと等しい場合
WindowsPowerShell プロンプトが再度表示されるまで待機します。 これには 1 - 2 分かかる場合があります。
Windows PowerShell プロンプトで、次のコマンドレットを入力するか、コピーして貼り付け、Enter キーを押します。
Get-SPOSite -Detailed | Format-Table -AutoSize
一覧の新しいサイト コレクションをメモします。 CSV ファイルの例を使用すると、TeamSite01、Blog01、Project01、Community01 のサイト コレクションが表示されます。
これで完了です。 作成した .csv ファイルと 1 つのWindows PowerShell コマンドを使用して、複数のサイト コレクションを作成しました。 これで、ユーザーを作成してこれらのサイトに割り当てる準備ができました。
手順 2:ユーザーおよびグループの追加
ここでは、ユーザーを作成し、サイト コレクションのグループに追加します。 .csv ファイルを使用して、新しいグループとユーザーを一括アップロードします。
次の手順では、TeamSite01、Blog01、Project01、Community01 のサンプル サイトを引き続き使用します。
.csv ファイルおよび .ps1 ファイルの作成
メモ帳を開き、次のテキスト ブロックを貼り付けます。
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
テナントがテナント名と等しい場合
ファイルを GroupsAndPermissions.csvとしてデスクトップ に保存します。
メモ帳の新しいインスタンスを開き、次のテキストのブロックを貼り付けます。
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
テナントがテナント名と等しく、ユーザー名が既存のユーザーのユーザー名と等しい場合。
ファイルを Users.csvとしてデスクトップ に保存します。
メモ帳の新しいインスタンスを開き、次のテキストのブロックを貼り付けます。
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 は現在ログオンしているユーザーのユーザー名と同じです。
ファイルを UsersAndGroups.ps1としてデスクトップに保存します。これは単純なWindows PowerShellスクリプトです。
これで、UsersAndGroup.ps1 スクリプトを実行して複数のサイト コレクションにユーザーとグループを追加する準備ができました。
UsersAndGroups.ps1 スクリプトの実行
SharePoint 管理シェルに戻ります。
Windows PowerShellコマンド プロンプトで、次の行を入力またはコピーして貼り付け、Enter キーを押します。
Set-ExecutionPolicy Bypass
確認プロンプトで 、Y キーを押します。
Windows PowerShellコマンド プロンプトで、次のように入力またはコピーして貼り付け、Enter キーを押します。
c:\users\MyAlias\desktop\UsersAndGroups.ps1
MyAlias がユーザー名と等しい場合
プロンプトが戻るまで待機してから、次に進みます。 最初に、グループが作成されると表示されます。 その後、ユーザーが追加されると、グループリストが繰り返し表示されます。
関連項目
PowerShell を使用して SharePoint サイト グループを管理する