<# Source: https://github.com/jellyfin/jellyfin/issues/8103#issuecomment-2254132859 Instructions are below, then fill in the 3 variables below. If you connect to your server without using a port number, remove :8096 from the $Jellyfin_Server variable. $Jellyfin_Server: This is the hostname or IP address of your jellyfin server. $Jellyfin_ApiKey: Create a new API Key for use in this script by going to the Dashboard > API Keys > New API Key button, enter any name, then copy the generated API Key. $Jellyfin_UserId: This can be retrieved by going to the Dashboard > Users, then click on a user account you want to use with this script, then copy what is in the URL after "userId=" #> ##### VARIABLES ##### $Jellyfin_Server="HostNameOrIPAddress:8096" $Jellyfin_ApiKey="APIKeyGoesHere" $Jellyfin_UserId="UserIdGoesHere" Write-Host "Please wait, the progress bar will appear soon." $actors = (Invoke-RestMethod -Uri "http://${Jellyfin_Server}/emby/Persons?api_key=${Jellyfin_ApiKey}").Items | Where-Object { [string]::IsNullOrEmpty($_.ImageTags) } | Sort-Object -Property Id -Unique $numberOfActors = $actors.Count $count=0 Clear-Host $actors | ForEach-Object { $percentComplete = $count / $numberOfActors * 100 $roundedPercent = [math]::Round($percentComplete) Write-Progress -Activity "Downloading actors photos in progress" -Status "$count actors completed out of $numberOfActors. $roundedPercent% complete:" -PercentComplete $percentComplete $null = Invoke-RestMethod -Uri "http://${Jellyfin_Server}/Users/${Jellyfin_UserId}/Items/$($_.Id)?api_key=${Jellyfin_ApiKey}" $count++ }