Use PowerShell to issue Synology API commands.
| Master Branch | Code Coverage | PowerShell Gallery | License |
|---|---|---|---|
| Latest Build (All Branches) |
|---|
- pSynology is a work in progress - prior to a Version 1.0.0 release:
- Expect changes
- Things may break
- Issues / PRs are encouraged & appreciated
To eventually develop & publish PowerShell functions for all DSM 6.x API endpoints.
| Function | Description |
|---|---|
| New-SYNOSession | Authenticate to Synology Diskstation and start a new API session. |
| Close-SYNOSession | Logoff from an API session |
| Get-SYNOInfo | Get DiskStation API information |
| Function | Description |
|---|---|
| Add-SYNOFSFavorite | Add a folder to user's favourites |
| Add-SYNOFSFile | Upload a file |
| Clear-SYNOFSBackgroundTask | Delete all finished background tasks. |
| Clear-SYNOFSFavoriteStatus | Delete all favourites with broken status. |
| Clear-SYNOFSSharingLink | Remove all expired and broken sharing links |
| Get-SYNOFSArchiveCompress | Get the status of a compress task. |
| Get-SYNOFSArchiveContent | List contents of an archive |
| Get-SYNOFSArchiveExtract | Get the extract task status |
| Get-SYNOFSBackgroundTask | List all background tasks including copy |
| Get-SYNOFSCopy | Get the status of a copy operation |
| Get-SYNOFSDeleteItem | Get the status pf a Delete task |
| Get-SYNOFSDirSize | Get the status of the size calculating task |
| Get-SYNOFSFavorite | List user's favourites |
| Get-SYNOFSFile | Enumerate files in a given folder |
| Get-SYNOFSFileInfo | Get information of file(s) |
| Get-SYNOFSInfo | Get File Station information |
| Get-SYNOFSMD5 | Get the status of the calculating MD5 task. |
| Get-SYNOFSSearch | List matched files in a search temporary database. |
| Get-SYNOFSShare | List all shared folders. |
| Get-SYNOFSSharingLink | List user’s file sharing links. |
| Get-SYNOFSSharingLinkInfo | Get information of a sharing link by the sharing link ID |
| Get-SYNOFSThumbnail | Get a thumbnail of a file. |
| Get-SYNOFSVirtualFolder | List all mount point folders of a given type of virtual file system |
| New-SYNOFSFolder | Create folders |
| New-SYNOFSSharingLink | Generate one or more sharing link(s) by file/folder path(s) |
| Remove-SYNOFSFavorite | Delete a favourite from user's favourites. |
| Remove-SYNOFSItem | Delete files/folders. |
| Remove-SYNOFSSearch | Delete search temporary database(s) |
| Remove-SYNOFSSharingLink | Delete one or more sharing links. |
| Rename-SYNOFSItem | Rename a file/folder. |
| Save-SYNOFSFile | Download files/folders. |
| Set-SYNOFSFavorite | Edit a favourite name. |
| Set-SYNOFSSharingLink | Edit sharing link(s) |
| Start-SYNOFSArchiveCompress | Start to compress file(s)/folder(s). |
| Start-SYNOFSArchiveExtract | Start to extract an archive. |
| Start-SYNOFSCopy | Start to copy files |
| Start-SYNOFSDeleteItem | Delete file(s)/folder(s) |
| Start-SYNOFSDirSize | Start to calculate size for one or more file/folder paths. |
| Start-SYNOFSMD5 | Start to get MD5 of a file |
| Start-SYNOFSSearch | Start to search files according to given criteria.… |
| Stop-SYNOFSArchiveCompress | Stop a compress task |
| Stop-SYNOFSArchiveExtract | Stop an extract task |
| Stop-SYNOFSCopy | Stop a copy task. |
| Stop-SYNOFSDeleteItem | Stop a delete task |
| Stop-SYNOFSDirSize | Stop to calculate size |
| Stop-SYNOFSMD5 | Stop calculating the MD5 of a file |
| Stop-SYNOFSSearch | Stop the searching task(s).… |
| Test-SYNOFSPermission | Check if a logged-in user has write permission on a given folder |
| Update-SYNOFSFavorite | Replace multiple favourites of folders in the user's favourites. |
| API Endpoint | Status |
|---|---|
| SYNO.API | Partially Complete |
| SYNO.FileStation | Partially Complete |
| SYNO.AudioPlayer | ToDo |
| SYNO.Backup | ToDo |
| SYNO.Btrfs | ToDo |
| SYNO.CCC | ToDo |
| SYNO.Core | ToDo |
| SYNO.DR | ToDo |
| SYNO.DSM | ToDo |
| SYNO.DTV | ToDo |
| SYNO.DisasterRecovery | ToDo |
| SYNO.Docker | ToDo |
| SYNO.Entry | ToDo |
| SYNO.Finder | ToDo |
| SYNO.FolderSharing | ToDo |
| SYNO.License | ToDo |
| SYNO.MediaServer | ToDo |
| SYNO.OAUTH | ToDo |
| SYNO.Package | ToDo |
| SYNO.PersonMailAccount | ToDo |
| SYNO.Personal | ToDo |
| SYNO.Photo | ToDo |
| SYNO.PhotoTeam | ToDo |
| SYNO.ResourceMonitor | ToDo |
| SYNO.S2S | ToDo |
| SYNO.SAS | ToDo |
| SYNO.SecurityAdvisor | ToDo |
| SYNO.Snap | ToDo |
| SYNO.Storage | ToDo |
| SYNO.SynologyDrive | ToDo |
| SYNO.Utils | ToDo |
| SYNO.VMMDR | ToDo |
| SYNO.VPNServer | ToDo |
| SYNO.VideoController | ToDo |
| SYNO.VideoPlayer | ToDo |
| SYNO.VideoStataion | ToDo |
| SYNO.VideoStation | ToDo |
| SYNO.VideoStation2 | ToDo |
| SYNO.Virtualization | ToDo |
| SYNO.WebStation | ToDo |
- Requires Powershell (v5 minimum) Or PSCore (v6)
- A Synology NAS / DSM
- An Account to Access Synology DSM
This repository contains a folder named pSynology.
The folder needs to be copied to one of your PowerShell Module Directories.
Find your PowerShell Module Paths with the following command:
$env:PSModulePath.split(';')
Extract the archive
Copy the pSynology folder to your "Powershell Modules" directory of choice.