Use this module to initialize a directory as a container for softpaqs, which can then be kept up to date with the latest softpaqs for a platform or set of platforms.
The module contains the following methods:
Initializing the repository
A directory must be initialized as a repository. This process creates the proper files in the directory that store the repository settings. To undo the initialization or initialize from scratch, simply remove the .repository folder from the directory.
|Initialize-Repository||Initialize a directory as a repository|
Configuring the repository
The following cmdlets configure various repository properties, such as erorr handlers.
|Get-RepositoryConfiguration||Get configuration settings for the current repository|
|Set-RepositoryConfiguration||Configure repository settings|
Adding and removing platforms
These functions add or remove platforms from the repository, including any associated filters. Use these to control what softpaqs the repository will receive.
|Add-RepositoryFilter||Add a platform filter to the current repository|
|Remove-RepositoryFilter||Remove a previously added filter from the current repository|
Getting repository information
This function gets an object with the current repository definition. You can also see similar data by reading the .repository\repository.json file.
|Get-RepositoryInfo||Get an object containing the current repository definition|
Synchronizing a repository
This function synchronizes a repository based on the currently defined rules.
|Invoke-RepositorySync||Synchronize a directory by downloading softpaqs|
Removing orphaned softpaqs
This function cleans up unneeded softpaqs. It would normally be performed after a successful sync.
|Invoke-RepositoryCleanup||Delete softpaqs that are no longer needed|
Configuring email failure notifications
When synchronizing a softpaq repository on a schedule, it may be desirable to be notified by email if the process fails. Use these methods to configure an SMTP server and define a list of recipients to receive the failure emails.
|Set-RepositoryNotificationConfiguration||Configure a SMTP server for failure notifications|
|Clear-RepositoryNotificationConfiguration||Remove SMTP server information from current repository|
|Show-RepositoryNotificationConfiguration||View current SMTP server configuration|
|Add-RepositorySyncFailureRecipient||Add a recipient to the list of recipients to receive failure notification emails|
|Remove-RepositorySyncFailureRecipient||Remove a recipient from the list of recipients that receive failure notification emails|
|Test-RepositoryNotificationConfiguration||Send a failure notification to test SMTP server configuration and recipients list|
All methods above must be executed in the repository directory, and all configuration is per repository. To maintain multiple repositories, simply create additional directories, initialize them, and configure them separately.
When initialized, a directory named ".repository" is created in the repository directory. This directory contains a configuration file (.repository/repository.json) which contains all the configuration for this repository, and a log file (.repository/activity.log) which registers significant actions. Additional files and directories may exist which are used internally by the synchronization process.
The log file may be deleted when no longer needed.