Save-EvergreenApp
SYNOPSIS
Downloads target URIs passed to this function from Get-EvergreenApp
into a directory structure.
SYNTAX
Path (Default)
Save-EvergreenApp [-InputObject] <PSObject> [[-Path] <FileInfo>] [-Proxy <String>]
[-ProxyCredential <PSCredential>] [-UserAgent <String>] [-Force] [-NoProgress] [-WhatIf] [-Confirm]
[<CommonParameters>]
CustomPath
Save-EvergreenApp [-InputObject] <PSObject> [[-CustomPath] <FileInfo>] [-Proxy <String>]
[-ProxyCredential <PSCredential>] [-UserAgent <String>] [-Force] [-NoProgress] [-WhatIf] [-Confirm]
[<CommonParameters>]
DESCRIPTION
Saves target URLs passed to this function from Get-EvergreenApp
output to into a directory structure below -Path using the properties from the object passed to the function.
Get-EvergreenApp
will return an object that may include application properties including (in the following order) - Product, Track, Channel, Release, Ring, Version, Language, and (processor) Architecture. Only properties that exist on the target object will be used.
This simplifies saving the target application installers or updaters into a consistent directory structure without having to build the target directory structure yourself or deal with other functions to download the file.
To override the default behaviour that creates the directory structure based on the properties of the object passed to the function, use the -CustomPath
parameter to specify an exact path to save files into. Note that this method download the first file and then will skip files from an object passed from Get-EvergreenApp
that includes files with the same name.
EXAMPLES
EXAMPLE 1
Get-EvergreenApp -Name "AdobeAcrobat" | Save-EvergreenApp -Path "C:\Temp\Adobe"
Description: Downloads each file specified in the URIs returned by Get-EvergreenApp -Name "AdobeAcrobat"
to a directory structure below C:\Temp\Adobe, resulting in a directory structure per file like: C:\Temp\Adobe<Product><Track><Version><Language><Architecture>.
EXAMPLE 2
Get-EvergreenApp -Name "AdobeAcrobat" | Save-EvergreenApp -CustomPath "C:\Temp\Adobe"
Description: Downloads all of the URIs returned by Get-EvergreenApp -Name "AdobeAcrobat"
to a directory named C:\Temp\Adobe. All files specified in the URI property will be saved into this directory.
PARAMETERS
-InputObject
Save-EvergreenApp
accepts the PSObject from Get-EvergreenApp
. Save-EvergreenApp
will test for the existence of at least these properties - Version and URI.
Type: PSObject
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Path
The target directory under which a directory structure will be created and application installers saved into. Typically the target path used will be a path per application.
Type: FileInfo
Parameter Sets: Path
Aliases:
Required: False
Position: 2
Default value: (Resolve-Path -Path $PWD)
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-CustomPath
Specify a single directory path where all application installers will be saved into. No sub-directories will be created.
Type: FileInfo
Parameter Sets: CustomPath
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-Proxy
Specifies a proxy server for the request, rather than connecting directly to the internet resource. Enter the URI of a network proxy server
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProxyCredential
Specifies a user account that has permission to use the proxy server that is specified by the Proxy parameter. The default is the current user.
Type a user name, such as User01 or Domain01\User01, [email protected], or enter a PSCredential
object, such as one generated by the Get-Credential
cmdlet.
This parameter is valid only when the Proxy parameter is also used in the command.
Type: PSCredential
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: [System.Management.Automation.PSCredential]::Empty
Accept pipeline input: False
Accept wildcard characters: False
-NoProgress
Save-EvergreenApp
uses Invoke-WebRequest
to download target application installers. Download progress is suppressed by default for faster downloads; however, when -Verbose
is used, download progress will be displayed. Use -NoProgress
with -Verbose
to suppress download progress while also displaying verbose output.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Force
Forces this function to download the target application installers from the URI property even if they already exist in the target directory.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-UserAgent
Specifies a user agent string for the web request.
The default user agent is similar to the below with slight variations for each operating system and platform.
Mozilla/5.0 (Macintosh; Darwin 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:04:44 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T8103; en-AU) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6
To test a website with the standard user agent string that's used by most internet browsers, use the properties of the PSUserAgent class, such as Chrome, FireFox, InternetExplorer, Opera, and Safari.
For example, the following command uses the user agent string for Internet Explorer: Save-EvergreenApp -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
System.Management.Automation.PSObject
Save-EvergreenApp accepts the output from Get-EvergreenApp.
OUTPUTS
System.Management.Automation.PSObject
Provides a list of paths of the downloaded target files.
NOTES
Site: https://stealthpuppy.com/evergreen
Author: Aaron Parker