mirror of
https://github.com/Grace-Solutions/PSMinIO.git
synced 2026-07-27 23:28:57 +00:00
71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
# PSMinIO
|
|
|
|
A fully-fledged C# PowerShell binary module built on top of the [Minio](https://www.nuget.org/packages/Minio) .NET SDK for managing MinIO object storage operations.
|
|
|
|
## Features
|
|
|
|
- **Cross-Platform Compatibility**: Built for .NET Standard 2.0, compatible with PowerShell 5.1+ and PowerShell 7+
|
|
- **Comprehensive Bucket Operations**: Create, list, delete, and check bucket existence
|
|
- **Object Management**: Upload, download, list, and delete objects with progress tracking
|
|
- **Security & Policy Management**: Manage bucket policies and access controls
|
|
- **Synchronous Operations**: All operations are synchronous for PowerShell compatibility
|
|
- **Detailed Logging**: Centralized logging with timestamps when `-Verbose` is specified
|
|
- **Progress Reporting**: Upload/download progress with percentages and time estimates
|
|
|
|
## Installation
|
|
|
|
```powershell
|
|
# Import the module
|
|
Import-Module .\PSMinIO.psd1
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```powershell
|
|
# Configure connection
|
|
Set-MinIOConfig -Endpoint 'https://minio.myorg.com' -AccessKey 'AKIA...' -SecretKey 'abc123' -UseSSL
|
|
|
|
# Create a bucket
|
|
New-MinIOBucket -BucketName 'my-bucket' -Verbose
|
|
|
|
# Upload a file
|
|
New-MinIOObject -BucketName 'my-bucket' -ObjectName 'data.txt' -FilePath 'C:\data.txt'
|
|
|
|
# List objects
|
|
Get-MinIOObject -BucketName 'my-bucket' -Prefix '2025/'
|
|
|
|
# Download an object
|
|
Get-MinIOObjectContent -BucketName 'my-bucket' -ObjectName 'data.txt' -FilePath 'C:\downloaded-data.txt'
|
|
```
|
|
|
|
## Cmdlets
|
|
|
|
### Bucket Operations
|
|
- `Get-MinIOBucket` - Lists all buckets
|
|
- `New-MinIOBucket` - Creates a new bucket
|
|
- `Remove-MinIOBucket` - Deletes a bucket
|
|
- `Test-MinIOBucketExists` - Checks if a bucket exists
|
|
|
|
### Object Operations
|
|
- `Get-MinIOObject` - Lists objects in a bucket
|
|
- `New-MinIOObject` - Uploads a file to a bucket
|
|
- `Get-MinIOObjectContent` - Downloads an object
|
|
- `Remove-MinIOObject` - Deletes an object
|
|
|
|
### Security & Policy
|
|
- `Get-MinIOBucketPolicy` - Retrieves bucket policy
|
|
- `Set-MinIOBucketPolicy` - Sets bucket policy
|
|
|
|
### Utility
|
|
- `Get-MinIOConfig` - Shows current configuration
|
|
- `Set-MinIOConfig` - Sets connection configuration
|
|
- `Get-MinIOStats` - Displays statistics and metrics
|
|
|
|
## Requirements
|
|
|
|
- PowerShell 5.1+ or PowerShell 7+
|
|
- .NET Framework 4.7.2+ (for PowerShell 5.1) or .NET Core/.NET 5+ (for PowerShell 7+)
|
|
|
|
## License
|
|
|
|
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details. |