⚠️ IMPORTANT This module is early in it´s development phase. Many API function and features are not yet available. You are welcome to contribute on GitHub to accelerate progress further.
PSImmich
This project has adopted the following policies
Project status
About
PSImmich is a Powershell API wrapper for Immich
Installation
PowerShell Gallery
To install from the PowerShell gallery using PowerShellGet run the following command:
Install-Module PSImmich -Scope CurrentUser
Usage
Before calling the Immich cmdlets a session needs to be created. Currently it is supported to use an API key or credentials (username and password)
Connect-Immich -BaseURL 'https://immich.domain.com' -AccessToken 'ztKkvGWVIacJATX7RLCbWCISpamwEQkLpakn8O48acE'
$Cred = Get-Credential
Connect-Immich -BaseURL 'https://immich.domain.com' -Credential $Cred
You can verify that the connection is working by calling Get-IMSession
and verifying that AccessTokenValid
is true
Get-IMSession
BaseUri : https://immich.domain.com
AuthMethod : AccessToken
AccessToken : System.Security.SecureString
AccessTokenValid : True
Credential :
JWT :
APIUri : https://immich.domain.com/api
ImmichVersion : 1.98.2
SessionID : 67055f46-51aa-42a2-8471-46170c441558
The session object can be passed to all cmdlets. This is useful if connection to more than one Immich instance is needed.
$Session1 = Connect-Immich -BaseURL 'https://immich.domain.com' -AccessToken 'ztKkvGWVIacJATX7RLCbWCISpamwEQkLpakn8O48acE' -PassThru
Get-IMAsset -Session $Session1
To see available cmdlets you can use the following command
Get-Command -Module PSImmich | Format-Wide -Column 4 -Property Name
Add-IMActivity Add-IMAlbumAsset Add-IMAlbumUser Add-IMAsset
Add-IMAssetTag Add-IMMyProfilePicture Add-IMPartner Add-IMSharedLinkAsset
...
...
Available commands
Below is a reference of the available command. For documentation about each command please see the docs
Activity
- Add-IMActivity
- Get-IMActivity
- Get-IMActivityStatistic
- Remove-IMActivity
Album
- Add-IMAlbumAsset
- Add-IMAlbumUser
- Get-IMAlbum
- Get-IMAlbumCount
- New-IMAlbum
- Remove-IMAlbum
- Remove-IMAlbumAsset
- Remove-IMAlbumUser
- Set-IMAlbum
API key
- Get-IMAPIKey
- New-IMAPIKey
- Remove-IMAPIKey
- Set-IMAPIKey
Asset
- Add-IMAsset
- Find-IMAsset
- Get-IMAsset
- Get-IMAssetMapMarker
- Get-IMAssetMemoryLane
- Get-IMAssetSearchTerm
- Get-IMAssetStatistic
- Get-IMCuratedLocation
- Get-IMCuratedObject
- Get-IMTimeBucket
- Remove-IMAsset
- Restore-IMAsset
- Save-IMAsset
- Set-IMAsset
- Start-IMAssetJob
Audit
- Get-IMAuditDelete
- Get-IMAuditFile
- Get-IMFileChecksum
Auth
- Get-IMAuthDevice
- Remove-IMAuthDevice
- Test-IMAccessToken
Face
- Get-IMFace
Job
- Clear-IMJob
- Get-IMJob
- Resume-IMJob
- Start-IMJob
- Suspend-IMJob
Library
- Get-IMLibrary
- Measure-IMLibrary
- New-IMLibrary
- Remove-IMLibrary
- Remove-IMOfflineLibraryFile
- Set-IMLibrary
- Start-IMLibraryScan
- Test-IMLibrary
Partner
- Add-IMPartner
- Get-IMPartner
- Remove-IMPartner
- Set-IMPartner
Person
- Get-IMPerson
- New-IMPerson
- Set-IMPerson
Config
- Get-IMConfig
- Set-IMConfig
Server
- Get-IMServer
- Get-IMServerConfig
- Get-IMServerFeature
- Get-IMServerInfo
- Get-IMServerStatistic
- Get-IMServerVersion
- Get-IMSupportedMediaType
- Get-IMTheme
- Test-IMPing
Session
- Connect-Immich
- Disconnect-Immich
- Get-IMSession
- Invoke-ImmichMethod
SharedLink
- Add-IMSharedLinkAsset
- Get-IMSharedLink
- New-IMSharedLink
- Remove-IMSharedLink
- Remove-IMSharedLinkAsset
- Set-IMSharedLink
Tag
- Add-IMAssetTag
- Get-IMTag
- New-IMTag
- Remove-IMAssetTag
- Remove-IMTag
- Rename-IMTag
User
- Add-IMMyProfilePicture
- Get-IMUser
- New-IMUser
- Remove-IMMyProfilePicture
- Remove-IMUser
- Restore-IMUser
- Set-IMUser