SharePoint Onlineのファイル一覧を取得したいときはないでしょうか。
この記事では、PowerShellを使用してSharePoint Onlineの特定のライブラリ内にあるファイル一覧を取得する方法について説明します。
もくじ
SharePoint Onlineのファイル一覧を取得する方法
必要なツールと準備
まず、以下のツールと準備が必要です。
- SharePoint Online管理者権限
- PowerShell Core 7.x
- PnP PowerShellモジュール
PnP PowerShellのインストール
PnP PowerShellをインストールしていきましょう。
- PowerShellを管理者として実行
- WindowsのスタートメニューからPowerShellを検索し、
右クリックして「管理者として実行」を選択します。
- WindowsのスタートメニューからPowerShellを検索し、
- PnP PowerShellのインストール
PnP PowerShellのインストールをします。以下のコマンドを入力して実行します。Install-Module -Name PnP.PowerShell
- インストールの確認
PnP PowerShellがインストールされたか確認します。以下のコマンドを入力して実行します。Get-Module -Name PnP.PowerShell -ListAvailable
このように表示されたらOKです。
PS C:\Windows\System32> Get-Module -Name PnP.PowerShell -ListAvailable
Directory: C:\Users\user**\Documents\PowerShell\Modules
ModuleType Version PreRelease Name PSEdition ExportedCommands
———- ——- ———- —- ——— —————-
Manifest 2.5.0 PnP.PowerShell Core {Add-PnPAdaptiveScopeProperty, Add-PnPE…タカヒロPowerShell 5.1では表示されません。
スクリプトの作成
次に、SharePoint Onlineの特定のライブラリからファイル一覧を取得するPowerShellスクリプトを作成します。
以下のコードを使用します。
# SharePoint OnlineのURLとライブラリの相対パスを設定
$siteUrl = "https://[yourtenant].sharepoint.com/sites/[yoursite]"
$libraryPath = "[Shared Documents]"
# PnP PowerShellに接続
$credential = Get-Credential
Connect-PnPOnline -Url $siteUrl -Credentials $credential
# 指定したライブラリ内の全ファイルを取得
$files = Get-PnPFolderItem -FolderSiteRelativeUrl $libraryPath -ItemType File
# ファイル一覧を表示
$files | ForEach-Object {
Write-Host "Name: $($_.Name) - URL: $($_.ServerRelativeUrl)"
}
コマンドの設定をしていきましょう。
以下の[yourtenant]にテナント名を、
[yoursite]にサイト名を、
[Shared Documents]にドキュメントライブラリ名を指定します。
$siteUrl = "https://[yourtenant].sharepoint.com/sites/[yoursite]"
$libraryPath = "[Shared Documents]"
スクリプトの実行
コマンドの設定が完了したらスクリプトを実行してみましょう。
今回はps1ファイルにしてバッチ形式で実行しています。
- スクリプトを保存
- 上記のコードをコピーして、
Get-SharePointFiles.ps1
という名前で保存します。
- 上記のコードをコピーして、
- スクリプトを実行
- PowerShellを管理者として再度実行し、スクリプトを保存したディレクトリに移動します。
cd path\to\script
- スクリプトを実行します。
.\Get-SharePointFiles.ps1
- クレデンシャルの入力
- スクリプト実行時に、SharePoint Onlineの管理者アカウントのユーザー名とパスワードを入力します。
実行できましたでしょうか。
実行後は、以下のような形で結果が表示されます。
Name: image4.png - URL: /sites/takahiro/Docs/image4.png
Name: image4a.jpg - URL: /sites/takahiro/Docs/image4a.jpg
Name: image5.jpg - URL: /sites/takahiro/Docs/image5.jpg
Powershellコマンド実行の上での注意点
- Powershellバージョンの確認
Powershell5.1ではPnP PowerShellモジュールは動きませんので、バージョン7以降を利用してください。 - 権限の確認
Powershellは管理者として実行してください。またSPOログイン時に使用するアカウントはSPOの編集可能な権限を持っていることを確認してください。
まとめ
PowerShellを使用してSharePoint Onlineのファイル一覧を取得する方法を説明しました。
コマンドを利用することで、SharePoint Onlineのライブラリ内のファイルを簡単に取得し、管理することがわかりました。
他にも、便利な方法がありますので、よろしければご参照ください。
コメントを残す