初めに
SharePoint Online のサイトを PowerShell を使って払い出そうと考えていたが、Azure Automation を使えばクラウドで完結できる方法があるんじゃないかと思いこの投稿に至る。
今回は、Azure Automation を使って単純に新しいサイトを払い出すまでの手順となる。
- スクリーンショット多めの手順となるため、解説等は省略しています。必要に応じ、加筆します。
- なお、当方は今回 Azure を初めて触りテストしているため、誤った内容があれば指摘頂けると幸いです。
参考にしたサイト
Azure Automation アカウントを作成する
Azure Automation Runbook を作成する
How to use Azure Automation with SharePoint Online – Part One
How to use Azure Automation with SharePoint Online – Part Two
追記:いろいろ調べてたらすでにブログで記事にされていた方がいらっしゃたため、こちらも参考サイトとして追加します。
Office 365 の PowerShell 運用を PaaS 化してみる
環境 (2020/1/10 環境の内容が薄かったので更新)
- Office 365 開発者プログラム (SharePoint Online)
- Azure Automation 無料サブスクリプション
- Microsoft.Online.SharePoint.PowerShell 16.0.19515.12000
- SharePointPnPPowerShellOnline 3.16.1912.0 → 参考に書いてます。今回は利用していません。
手順
リソースの作成
[管理ツール]→[オートメーション]を選択
Automation のアカウントを追加
名前は任意でももないなし。
リソースグループに関しては存在しなければ任意の名前で作成すること。
Autmation アカウントの選択
[すべてのサービス]を選択
任意で作成したアカウント名を選択
モジュールの追加
[ギャラリーを参照]を選択
「SharePoint」でギャラリーを検索する
ここで必要となるPowerShellを検索し、対象のモジュールをインストールすることになる。
今回は、SPOサイトを作る「だけ」であるため、Microsoft.Online.SharePoint.PowerShell を選択する。
※今回、PnPのモジュールは無視で可
[インポート]を選択する
インポートが完了すると対象のモジュールが「使用可能」となる
[資格情報の追加]を選択する
SharePoint の管理者などのロールが割り当てられている資格情報を入力し、[作成]を選択
Runbook の作成
[名前]は任意、[Runbookの種類]は「PowerShell」を選択→[作成]を選択
[編集]を選択
以下のコマンドを記載
ポイント:事前に作成した資格情報(o365connection)を設定する
# Credentials
$myCred = Get-AutomationPSCredential -Name 'o365connection'
Connect-SPOService -Url https://tenant-admin.sharepoint.com -credential $myCred
New-SPOSite -Url https://tenant.sharepoint.com/sites/AutoNewSPOsite -Owner username@tenant.onmicrosoft.com -StorageQuota 1000 -Title "new site(AzureAutomation!!!!)"
Runbook のテスト
[保存]→[テスト ウィンドウ]を選択
[開始]を選択
正常にサイトが作成されたのかの確認を行う
以下は SPO 管理者サイトより、Power Automation で払い出したサイトの一覧を確認