【PowerShell】SharePoint Onlineのファイル一覧を取得する方法!

powershell

SharePoint Onlineのファイル一覧を取得したいときはないでしょうか。

この記事では、PowerShellを使用してSharePoint Onlineの特定のライブラリ内にあるファイル一覧を取得する方法について説明します。

SharePoint Onlineのファイル一覧を取得する方法

必要なツールと準備

まず、以下のツールと準備が必要です。

  • SharePoint Online管理者権限
  • PowerShell Core 7.x
  • PnP PowerShellモジュール

 

 

タカヒロ
タカヒロ
PowerShell 5.1では動きませんのでご注意ください。

PnP PowerShellのインストール

PnP PowerShellをインストールしていきましょう。

  1. PowerShellを管理者として実行
    • WindowsのスタートメニューからPowerShellを検索し、
      右クリックして「管理者として実行」を選択します。
  2. PnP PowerShellのインストール
    PnP PowerShellのインストールをします。以下のコマンドを入力して実行します。

    Install-Module -Name PnP.PowerShell
  3. インストールの確認
    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ファイルにしてバッチ形式で実行しています。

  1. スクリプトを保存
    • 上記のコードをコピーして、Get-SharePointFiles.ps1という名前で保存します。
  2. スクリプトを実行
    • PowerShellを管理者として再度実行し、スクリプトを保存したディレクトリに移動します。
    cd path\to\script
    • スクリプトを実行します。
    .\Get-SharePointFiles.ps1
  3. クレデンシャルの入力
    • スクリプト実行時に、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のライブラリ内のファイルを簡単に取得し、管理することがわかりました。

他にも、便利な方法がありますので、よろしければご参照ください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA ImageChange Image