【SPO】SharePoint Online でよく使う PowerShell コマンド一覧 (管理者向けチートシート)
多くのサイトが存在するテナントでは、SPO の管理をするのも一苦労です。サイト数が増えると画面操作では効率が悪いため、SharePoint Online 管理シェルや PnPOnline のコマンドレットを使用してサイトの URL や容量などを調べます。よく使うコマンドレットは OneNote に記録し、適宜コピペして使っていましたが、Web 上からもパッと探せた方が便利かと思い、コマンドのサンプルをまとめてみることにしました。
※ 随時更新予定です
- SharePoint Online 管理シェルのモジュール管理
- SharePoint Online 管理シェルのコマンド集
- PnP のモジュール管理
- PnP のコマンド集
- 一緒によく使うコマンド オプション
SharePoint Online 管理シェルのモジュール管理
コマンド | 説明 |
---|---|
Install-Module Microsoft.Online.SharePoint.PowerShell | インストール |
Update-Module Microsoft.Online.SharePoint.PowerShell | アップデート |
Get-Module Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version | バージョン確認 |
SharePoint Online 管理シェルのコマンド集
値を取得する (Get コマンド)
コマンド | 説明 |
---|---|
Connect-SPOService -Url [Admin Portal Url] | SPO 管理センターに接続 |
Get-SPOTenant | テナント単位の設定を列挙 |
Get-SPOSite -Limit All | select Url, Title, Owner | すべてのサイト コレクションを列挙 |
Get-SPOSite -Limit All -Template STS#0 | クラシックのチームサイトを列挙 |
Get-SPOSite -Limit All -Template STS#3 | モダン チームサイトを列挙 |
Get-SPOSite -Limit All -Template GROUP#0 | Microsoft 365 グループが紐づくチームサイトを列挙 |
Get-SPOSite -Limit All -Template SITEPAGEPUBLISHING#0 | コミュニケーション サイトを列挙 |
Get-SPOSite -Limit All -Template SPSPERS#10 -IncludePersonalSite:$true | OneDrive for Business のサイトを列挙 |
Get-SPOSite -Limit All -Template TEAMCHANNEL#0 | プライベート チャネルに紐づくサイト コレクションを列挙 |
Get-SPODeletedSite -Limit ALL | 削除済みのサイトコレクションを列挙 |
Get-SPODeletedSite -IncludeOnlyPersonalSite -Limit ALL | 削除済みの OneDrive for Business サイトを列挙 |
Get-SPOSite -Limit All | select Url,StorageUsageCurrent, StorageQuota, StorageQuotaWarningLevel | 取得するプロパティを絞り込む (Url/サイト名/現在の使用量/使用量の上限/警告レベル) |
Get-SPOSite -Limit All | select Url,Title,DenyAddAndCustomizePages | カスタムスクリプトの設定を取得 |
Get-SPOSite -Limit All | select Url,Title,SharingCapability | 共有の状態を取得 |
Get-SPOSite -Identity [URL] | fl | 指定したサイトのすべてのプロパティを表示 |
Get-SPOSite -Identity [URL] | select Url,Title,DenyAddAndCustomizePages | 指定したサイトのカスタムスクリプトの設定を取得 |
Get-SPOSite -Identity [URL] | select Url,StorageUsageCurrent, StorageQuota, StorageQuotaWarningLevel |
指定したサイトの Url/サイト名/現在の使用量/使用量の上限/警告レベルを取得 |
Get-SPOSite -Identity [URL] | select Template |
指定したサイトのサイトテンプレートの種類を取得 |
値を変更する (Set コマンド)
コマンド | 説明 |
---|---|
Get-SPOSite -Limit All | where{$_.Title -like [String]} | 指定した文字列を含むサイトのみ列挙 |
Get-SPOSite -Limit All | where{$_.StorageQuota -gt [MB]} | サイト容量の上限が 指定した容量 (MB) より大きいサイトのみ列挙 |
Get-SPOSite -Limit All | Foreach{ Set-SPOSite -Identity $_.Url [-Parameter][Value]} | サイトに対する変更を一括で処理する |
Set-SPOSite -Identity [URL] -StorageQuota 102400 -StorageQuotaWarningLevel 51200 | 指定したサイトの容量を 100GB に、警告レベルを 50GB に設定する |
Set-SPOSite -Identity [URL] -DenyAddAndCustomizePages [$True/$False] | 指定したサイトのカスタムスクリプト許可の設定を変更する |
PnP のモジュール管理
コマンド | 説明 |
---|---|
Install-Module SharePointPnPPowerShellOnline | インストール |
Update-Module SharePointPnPPowerShellOnline | アップデート |
Get-Module SharePointPnPPowerShellOnline -ListAvailable | Select Name,Version | バージョン確認 |
PnP のコマンド集
コマンド | 説明 |
---|---|
Connect-PnPOnline -Url [URL] | サイトに接続する |
Get-PnPWeb | 現在のサイトを取得 |
Get-PnPSubWebs -Recurse | 現在のサイト配下のすべてのサブサイトを列挙 (Title, Url, WebId) |
Get-PnPList | 現在のサイト配下のリスト/ライブラリを列挙 (Title, Url, WebId) |
Get-PnPList -Identity [Title] | 指定したリスト/ライブラリを取得 () |
Get-PnPFeature -Scope Site | サイトコレクションの機能一覧を取得 (DisplayName, DefinitionId) |
Get-PnPFeature -Scope Web | サイト機能一覧を取得 (DisplayName, DefinitionId) |
Get-PnPProperty -ClientObject $list -Property Views, Forms $list.Views $list.Forms |
リストのビューとフォームの一覧を取得 |
Get-PnPProperty -ClientObject $list -Property WorkflowAssociations | リスト ワークフローの関連付け情報を取得 |
管理シェルが対応していないグループサイトのプロパティを変更
Connect-PnPOnline -Url [GROUPSITE URL] -Credentials (Get-Credential)
$clientcontect = Get-PnPContext
$clientcontect.Site.DisableAppViews = $true;
$clientcontect.Site.DisableFlows = $true;
Invoke-PnPQuery
一緒によく使うコマンド オプション
コマンド |
説明 |
---|---|
| Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\<任意のパス>\result.csv" |
実行結果を CSV ファイルに出力する |
| Out-GridView |
結果を別ウインドウで表示 |
| Out-GridView -PassThru |
結果を別ウインドウで表示 (フィルタした結果を PowerShell に返す) |
| Format-Table -AutoSize -Wrap |
出力結果を省略 (...) せずに表示 |
Start-Transcript results.txt |
実行結果の記録を開始 |
Stop-Transcript |
実行結果の記録を終了 |
Out-GridView の動作については別記事にまとめています。
今回の投稿は以上です。
他にも思いついたら随時更新します!