Save-Dynamics365Resource.psm1
Import-Module $PSScriptRoot\DownloadAndUnpack-Dynamics365Resource.psm1 function Save-Dynamics365Resource { [CmdletBinding()] param ( [Parameter(Position=0)] [ValidateSet( 'Dynamics365Server90', 'VisualCPlusPlusRuntime', 'VisualCPlusPlus2010Runtime', 'SQLNCli2012SP4', 'SQLSysClrTypes2016', 'SharedManagementObjects2016', 'MSODBCSQL', 'Dynamics365Server90LanguagePackSau', 'Dynamics365Server90LanguagePackEus', 'Dynamics365Server90LanguagePackBgr', 'Dynamics365Server90LanguagePackCat', 'Dynamics365Server90LanguagePackChk', 'Dynamics365Server90LanguagePackChs', 'Dynamics365Server90LanguagePackCht', 'Dynamics365Server90LanguagePackHrv', 'Dynamics365Server90LanguagePackCsy', 'Dynamics365Server90LanguagePackDan', 'Dynamics365Server90LanguagePackNld', 'Dynamics365Server90LanguagePackEti', 'Dynamics365Server90LanguagePackFin', 'Dynamics365Server90LanguagePackFra', 'Dynamics365Server90LanguagePackGlc', 'Dynamics365Server90LanguagePackDeu', 'Dynamics365Server90LanguagePackEll', 'Dynamics365Server90LanguagePackHeb', 'Dynamics365Server90LanguagePackHin', 'Dynamics365Server90LanguagePackHun', 'Dynamics365Server90LanguagePackInd', 'Dynamics365Server90LanguagePackIta', 'Dynamics365Server90LanguagePackJpn', 'Dynamics365Server90LanguagePackKkz', 'Dynamics365Server90LanguagePackKor', 'Dynamics365Server90LanguagePackLvi', 'Dynamics365Server90LanguagePackLth', 'Dynamics365Server90LanguagePackMsl', 'Dynamics365Server90LanguagePackNor', 'Dynamics365Server90LanguagePackPlk', 'Dynamics365Server90LanguagePackPtb', 'Dynamics365Server90LanguagePackPtg', 'Dynamics365Server90LanguagePackRom', 'Dynamics365Server90LanguagePackRus', 'Dynamics365Server90LanguagePackSrb', 'Dynamics365Server90LanguagePackSrl', 'Dynamics365Server90LanguagePackSky', 'Dynamics365Server90LanguagePackSlv', 'Dynamics365Server90LanguagePackEsn', 'Dynamics365Server90LanguagePackSve', 'Dynamics365Server90LanguagePackTha', 'Dynamics365Server90LanguagePackTrk', 'Dynamics365Server90LanguagePackUkr', 'Dynamics365Server90LanguagePackVit', 'CRM2016', 'SQLNCli2018R2', 'SQLSysClrTypes2012', 'SharedManagementObjects2012', 'ReportViewer2012', 'CRM2016LanguagePackSau', 'CRM2016LanguagePackEus', 'CRM2016LanguagePackBgr', 'CRM2016LanguagePackCat', 'CRM2016LanguagePackChk', 'CRM2016LanguagePackChs', 'CRM2016LanguagePackCht', 'CRM2016LanguagePackCsy', 'CRM2016LanguagePackDan', 'CRM2016LanguagePackNld', 'CRM2016LanguagePackEti', 'CRM2016LanguagePackFin', 'CRM2016LanguagePackFra', 'CRM2016LanguagePackGlc', 'CRM2016LanguagePackDeu', 'CRM2016LanguagePackEll', 'CRM2016LanguagePackHeb', 'CRM2016LanguagePackHin', 'CRM2016LanguagePackHun', 'CRM2016LanguagePackInd', 'CRM2016LanguagePackIta', 'CRM2016LanguagePackJpn', 'CRM2016LanguagePackKkz', 'CRM2016LanguagePackKor', 'CRM2016LanguagePackLvi', 'CRM2016LanguagePackLth', 'CRM2016LanguagePackMsl', 'CRM2016LanguagePackNor', 'CRM2016LanguagePackPlk', 'CRM2016LanguagePackPtb', 'CRM2016LanguagePackPtg', 'CRM2016LanguagePackRom', 'CRM2016LanguagePackRus', 'CRM2016LanguagePackSrb', 'CRM2016LanguagePackSrl', 'CRM2016LanguagePackSky', 'CRM2016LanguagePackSlv', 'CRM2016LanguagePackEsn', 'CRM2016LanguagePackSve', 'CRM2016LanguagePackTha', 'CRM2016LanguagePackTrk', 'CRM2016LanguagePackUkr', 'CRM2016LanguagePackVit', 'CRM2016Update01', 'CRM2016ReportingServicesUpdate01', 'CRM2016ServicePack1', 'CRM2016ReportingServicesServicePack1', 'CRM2016ServicePack1Update01', 'CRM2016ReportingServicesServicePack1Update01', 'CRM2016ServicePack2', 'CRM2016ReportingServicesServicePack2', 'CRM2016ServicePack2Update01', 'CRM2016ReportingServicesServicePack2Update01', 'CRM2016ServicePack2Update02', 'CRM2016ReportingServicesServicePack2Update02' )] [string] $Resource, [Parameter(Position=1)] [string] $TargetDirectory ) if ( $resource ) { $resourceUrl = $Dynamics365Resources.$resource.URL; if ( $TargetDirectory ) { $directoryPath = $TargetDirectory; } else { $directoryName = $resource; $directoryPath = ".\$directoryName"; Write-Debug "Directory Path: $directoryPath"; } DownloadAndUnpack-Dynamics365Resource -ResourceUrl $resourceUrl -DirectoryPath $directoryPath -ExpectedFileChecksum $Dynamics365Resources.$resource.checksum; } else { Write-Debug "Downloading all URLs" if ( $TargetDirectory ) { $Dynamics365Resources | Get-Member -MemberType NoteProperty | % { $resourceUrl = $Dynamics365Resources.( $_.Name ).URL; $directoryName = $_.Name; $directoryPath = "$TargetDirectory\$directoryName"; DownloadAndUnpack-Dynamics365Resource -ResourceUrl $resourceUrl -DirectoryPath $directoryPath; } } else { $Dynamics365Resources | Get-Member -MemberType NoteProperty | % { $resourceUrl = $Dynamics365Resources.( $_.Name ).URL; $directoryName = $_.Name; $directoryPath = ".\$directoryName"; Write-Host "directoryPath: $directoryPath" DownloadAndUnpack-Dynamics365Resource -ResourceUrl $resourceUrl -DirectoryPath $directoryPath; } } } } |