Save-Dynamics365Resource.psm1
Import-Module $PSScriptRoot\DownloadAndUnpack-Dynamics365Resource.psm1 function Save-Dynamics365Resource { [CmdletBinding()] param ( [Parameter(Position=0)] [ValidateSet( 'Dynamics365Server90RTMEnu', 'Dynamics365Server90RTMSau', 'Dynamics365Server90RTMChk', 'Dynamics365Server90RTMChs', 'Dynamics365Server90RTMCht', 'Dynamics365Server90RTMCsy', 'Dynamics365Server90RTMDan', 'Dynamics365Server90RTMNld', 'Dynamics365Server90RTMFin', 'Dynamics365Server90RTMFra', 'Dynamics365Server90RTMDeu', 'Dynamics365Server90RTMEll', 'Dynamics365Server90RTMHeb', 'Dynamics365Server90RTMHun', 'Dynamics365Server90RTMIta', 'Dynamics365Server90RTMJpn', 'Dynamics365Server90RTMJpn', 'Dynamics365Server90RTMNor', 'Dynamics365Server90RTMPlk', 'Dynamics365Server90RTMPtb', 'Dynamics365Server90RTMPtg', 'Dynamics365Server90RTMPtg', 'Dynamics365Server90RTMEsn', 'Dynamics365Server90RTMSve', 'Dynamics365Server90RTMTrk', 'VisualCPlusPlusRuntime', 'VisualCPlusPlus2010Runtime', 'SQLNCli2012SP4', 'SQLSysClrTypes2016', 'SharedManagementObjects2016', 'MSODBCSQL', 'Dynamics365Server90LanguagePackEnu', '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', 'CRM2016RTMEnu', 'CRM2016RTMSau', 'CRM2016RTMChk', 'CRM2016RTMChs', 'CRM2016RTMCht', 'CRM2016RTMCsy', 'CRM2016RTMDan', 'CRM2016RTMNld', 'CRM2016RTMFin', 'CRM2016RTMFra', 'CRM2016RTMDeu', 'CRM2016RTMEll', 'CRM2016RTMHeb', 'CRM2016RTMHun', 'CRM2016RTMIta', 'CRM2016RTMJpn', 'CRM2016RTMJpn', 'CRM2016RTMNor', 'CRM2016RTMPlk', 'CRM2016RTMPtb', 'CRM2016RTMPtg', 'CRM2016RTMPtg', 'CRM2016RTMEsn', 'CRM2016RTMSve', 'CRM2016RTMTrk', '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', 'CRM2016Update01Enu', 'CRM2016Update01Sau', 'CRM2016Update01Chk', 'CRM2016Update01Chs', 'CRM2016Update01Cht', 'CRM2016Update01Csy', 'CRM2016Update01Dan', 'CRM2016Update01Nld', 'CRM2016Update01Fin', 'CRM2016Update01Fra', 'CRM2016Update01Deu', 'CRM2016Update01Ell', 'CRM2016Update01Heb', 'CRM2016Update01Hun', 'CRM2016Update01Ita', 'CRM2016Update01Jpn', 'CRM2016Update01Kor', 'CRM2016Update01Nor', 'CRM2016Update01Plk', 'CRM2016Update01Ptb', 'CRM2016Update01Ptg', 'CRM2016Update01Rus', 'CRM2016Update01Esn', 'CRM2016Update01Sve', 'CRM2016Update01Trk', 'CRM2016ReportingExtensionsUpdate01Enu', 'CRM2016ReportingExtensionsUpdate01Sau', 'CRM2016ReportingExtensionsUpdate01Chk', 'CRM2016ReportingExtensionsUpdate01Chs', 'CRM2016ReportingExtensionsUpdate01Cht', 'CRM2016ReportingExtensionsUpdate01Csy', 'CRM2016ReportingExtensionsUpdate01Dan', 'CRM2016ReportingExtensionsUpdate01Nld', 'CRM2016ReportingExtensionsUpdate01Fin', 'CRM2016ReportingExtensionsUpdate01Fra', 'CRM2016ReportingExtensionsUpdate01Deu', 'CRM2016ReportingExtensionsUpdate01Ell', 'CRM2016ReportingExtensionsUpdate01Heb', 'CRM2016ReportingExtensionsUpdate01Hun', 'CRM2016ReportingExtensionsUpdate01Ita', 'CRM2016ReportingExtensionsUpdate01Jpn', 'CRM2016ReportingExtensionsUpdate01Kor', 'CRM2016ReportingExtensionsUpdate01Nor', 'CRM2016ReportingExtensionsUpdate01Plk', 'CRM2016ReportingExtensionsUpdate01Ptb', 'CRM2016ReportingExtensionsUpdate01Ptg', 'CRM2016ReportingExtensionsUpdate01Rus', 'CRM2016ReportingExtensionsUpdate01Esn', 'CRM2016ReportingExtensionsUpdate01Sve', 'CRM2016ReportingExtensionsUpdate01Trk', 'CRM2016ServicePack1Enu', 'CRM2016ServicePack1Sau', 'CRM2016ServicePack1Chk', 'CRM2016ServicePack1Chs', 'CRM2016ServicePack1Cht', 'CRM2016ServicePack1Csy', 'CRM2016ServicePack1Dan', 'CRM2016ServicePack1Nld', 'CRM2016ServicePack1Fin', 'CRM2016ServicePack1Fra', 'CRM2016ServicePack1Deu', 'CRM2016ServicePack1Ell', 'CRM2016ServicePack1Heb', 'CRM2016ServicePack1Hun', 'CRM2016ServicePack1Ita', 'CRM2016ServicePack1Jpn', 'CRM2016ServicePack1Kor', 'CRM2016ServicePack1Nor', 'CRM2016ServicePack1Plk', 'CRM2016ServicePack1Ptb', 'CRM2016ServicePack1Ptg', 'CRM2016ServicePack1Rus', 'CRM2016ServicePack1Esn', 'CRM2016ServicePack1Sve', 'CRM2016ServicePack1Trk', 'CRM2016ReportingExtensionsServicePack1Enu', 'CRM2016ReportingExtensionsServicePack1Sau', 'CRM2016ReportingExtensionsServicePack1Chk', 'CRM2016ReportingExtensionsServicePack1Chs', 'CRM2016ReportingExtensionsServicePack1Cht', 'CRM2016ReportingExtensionsServicePack1Csy', 'CRM2016ReportingExtensionsServicePack1Dan', 'CRM2016ReportingExtensionsServicePack1Nld', 'CRM2016ReportingExtensionsServicePack1Fin', 'CRM2016ReportingExtensionsServicePack1Fra', 'CRM2016ReportingExtensionsServicePack1Deu', 'CRM2016ReportingExtensionsServicePack1Ell', 'CRM2016ReportingExtensionsServicePack1Heb', 'CRM2016ReportingExtensionsServicePack1Hun', 'CRM2016ReportingExtensionsServicePack1Ita', 'CRM2016ReportingExtensionsServicePack1Jpn', 'CRM2016ReportingExtensionsServicePack1Kor', 'CRM2016ReportingExtensionsServicePack1Nor', 'CRM2016ReportingExtensionsServicePack1Plk', 'CRM2016ReportingExtensionsServicePack1Ptb', 'CRM2016ReportingExtensionsServicePack1Ptg', 'CRM2016ReportingExtensionsServicePack1Rus', 'CRM2016ReportingExtensionsServicePack1Esn', 'CRM2016ReportingExtensionsServicePack1Sve', 'CRM2016ReportingExtensionsServicePack1Trk', 'CRM2016ServicePack1Update01Enu', 'CRM2016ServicePack1Update01Sau', 'CRM2016ServicePack1Update01Chk', 'CRM2016ServicePack1Update01Chs', 'CRM2016ServicePack1Update01Cht', 'CRM2016ServicePack1Update01Csy', 'CRM2016ServicePack1Update01Dan', 'CRM2016ServicePack1Update01Nld', 'CRM2016ServicePack1Update01Fin', 'CRM2016ServicePack1Update01Fra', 'CRM2016ServicePack1Update01Deu', 'CRM2016ServicePack1Update01Ell', 'CRM2016ServicePack1Update01Heb', 'CRM2016ServicePack1Update01Hun', 'CRM2016ServicePack1Update01Ita', 'CRM2016ServicePack1Update01Jpn', 'CRM2016ServicePack1Update01Kor', 'CRM2016ServicePack1Update01Nor', 'CRM2016ServicePack1Update01Plk', 'CRM2016ServicePack1Update01Ptb', 'CRM2016ServicePack1Update01Ptg', 'CRM2016ServicePack1Update01Rus', 'CRM2016ServicePack1Update01Esn', 'CRM2016ServicePack1Update01Sve', 'CRM2016ServicePack1Update01Trk', 'CRM2016ReportingExtensionsServicePack1Update01Enu', 'CRM2016ReportingExtensionsServicePack1Update01Sau', 'CRM2016ReportingExtensionsServicePack1Update01Chk', 'CRM2016ReportingExtensionsServicePack1Update01Chs', 'CRM2016ReportingExtensionsServicePack1Update01Cht', 'CRM2016ReportingExtensionsServicePack1Update01Csy', 'CRM2016ReportingExtensionsServicePack1Update01Dan', 'CRM2016ReportingExtensionsServicePack1Update01Nld', 'CRM2016ReportingExtensionsServicePack1Update01Fin', 'CRM2016ReportingExtensionsServicePack1Update01Fra', 'CRM2016ReportingExtensionsServicePack1Update01Deu', 'CRM2016ReportingExtensionsServicePack1Update01Ell', 'CRM2016ReportingExtensionsServicePack1Update01Heb', 'CRM2016ReportingExtensionsServicePack1Update01Hun', 'CRM2016ReportingExtensionsServicePack1Update01Ita', 'CRM2016ReportingExtensionsServicePack1Update01Jpn', 'CRM2016ReportingExtensionsServicePack1Update01Kor', 'CRM2016ReportingExtensionsServicePack1Update01Nor', 'CRM2016ReportingExtensionsServicePack1Update01Plk', 'CRM2016ReportingExtensionsServicePack1Update01Ptb', 'CRM2016ReportingExtensionsServicePack1Update01Ptg', 'CRM2016ReportingExtensionsServicePack1Update01Rus', 'CRM2016ReportingExtensionsServicePack1Update01Esn', 'CRM2016ReportingExtensionsServicePack1Update01Sve', 'CRM2016ReportingExtensionsServicePack1Update01Trk', 'CRM2016ServicePack2Enu', 'CRM2016ServicePack2Sau', 'CRM2016ServicePack2Chk', 'CRM2016ServicePack2Chs', 'CRM2016ServicePack2Cht', 'CRM2016ServicePack2Csy', 'CRM2016ServicePack2Dan', 'CRM2016ServicePack2Nld', 'CRM2016ServicePack2Fin', 'CRM2016ServicePack2Fra', 'CRM2016ServicePack2Deu', 'CRM2016ServicePack2Ell', 'CRM2016ServicePack2Heb', 'CRM2016ServicePack2Hun', 'CRM2016ServicePack2Ita', 'CRM2016ServicePack2Jpn', 'CRM2016ServicePack2Kor', 'CRM2016ServicePack2Nor', 'CRM2016ServicePack2Plk', 'CRM2016ServicePack2Ptb', 'CRM2016ServicePack2Ptg', 'CRM2016ServicePack2Rus', 'CRM2016ServicePack2Esn', 'CRM2016ServicePack2Sve', 'CRM2016ServicePack2Trk', 'CRM2016ReportingExtensionsServicePack2Enu', 'CRM2016ReportingExtensionsServicePack2Sau', 'CRM2016ReportingExtensionsServicePack2Chk', 'CRM2016ReportingExtensionsServicePack2Chs', 'CRM2016ReportingExtensionsServicePack2Cht', 'CRM2016ReportingExtensionsServicePack2Csy', 'CRM2016ReportingExtensionsServicePack2Dan', 'CRM2016ReportingExtensionsServicePack2Nld', 'CRM2016ReportingExtensionsServicePack2Fin', 'CRM2016ReportingExtensionsServicePack2Fra', 'CRM2016ReportingExtensionsServicePack2Deu', 'CRM2016ReportingExtensionsServicePack2Ell', 'CRM2016ReportingExtensionsServicePack2Heb', 'CRM2016ReportingExtensionsServicePack2Hun', 'CRM2016ReportingExtensionsServicePack2Ita', 'CRM2016ReportingExtensionsServicePack2Jpn', 'CRM2016ReportingExtensionsServicePack2Kor', 'CRM2016ReportingExtensionsServicePack2Nor', 'CRM2016ReportingExtensionsServicePack2Plk', 'CRM2016ReportingExtensionsServicePack2Ptb', 'CRM2016ReportingExtensionsServicePack2Ptg', 'CRM2016ReportingExtensionsServicePack2Rus', 'CRM2016ReportingExtensionsServicePack2Esn', 'CRM2016ReportingExtensionsServicePack2Sve', 'CRM2016ReportingExtensionsServicePack2Trk', 'CRM2016ServicePack2Update01Enu', 'CRM2016ServicePack2Update01Sau', 'CRM2016ServicePack2Update01Chk', 'CRM2016ServicePack2Update01Chs', 'CRM2016ServicePack2Update01Cht', 'CRM2016ServicePack2Update01Csy', 'CRM2016ServicePack2Update01Dan', 'CRM2016ServicePack2Update01Nld', 'CRM2016ServicePack2Update01Fin', 'CRM2016ServicePack2Update01Fra', 'CRM2016ServicePack2Update01Deu', 'CRM2016ServicePack2Update01Ell', 'CRM2016ServicePack2Update01Heb', 'CRM2016ServicePack2Update01Hun', 'CRM2016ServicePack2Update01Ita', 'CRM2016ServicePack2Update01Jpn', 'CRM2016ServicePack2Update01Kor', 'CRM2016ServicePack2Update01Nor', 'CRM2016ServicePack2Update01Plk', 'CRM2016ServicePack2Update01Ptb', 'CRM2016ServicePack2Update01Ptg', 'CRM2016ServicePack2Update01Rus', 'CRM2016ServicePack2Update01Esn', 'CRM2016ServicePack2Update01Sve', 'CRM2016ServicePack2Update01Trk', 'CRM2016ReportingExtensionsServicePack2Update01Enu', 'CRM2016ReportingExtensionsServicePack2Update01Sau', 'CRM2016ReportingExtensionsServicePack2Update01Chk', 'CRM2016ReportingExtensionsServicePack2Update01Chs', 'CRM2016ReportingExtensionsServicePack2Update01Cht', 'CRM2016ReportingExtensionsServicePack2Update01Csy', 'CRM2016ReportingExtensionsServicePack2Update01Dan', 'CRM2016ReportingExtensionsServicePack2Update01Nld', 'CRM2016ReportingExtensionsServicePack2Update01Fin', 'CRM2016ReportingExtensionsServicePack2Update01Fra', 'CRM2016ReportingExtensionsServicePack2Update01Deu', 'CRM2016ReportingExtensionsServicePack2Update01Ell', 'CRM2016ReportingExtensionsServicePack2Update01Heb', 'CRM2016ReportingExtensionsServicePack2Update01Hun', 'CRM2016ReportingExtensionsServicePack2Update01Ita', 'CRM2016ReportingExtensionsServicePack2Update01Jpn', 'CRM2016ReportingExtensionsServicePack2Update01Kor', 'CRM2016ReportingExtensionsServicePack2Update01Nor', 'CRM2016ReportingExtensionsServicePack2Update01Plk', 'CRM2016ReportingExtensionsServicePack2Update01Ptb', 'CRM2016ReportingExtensionsServicePack2Update01Ptg', 'CRM2016ReportingExtensionsServicePack2Update01Rus', 'CRM2016ReportingExtensionsServicePack2Update01Esn', 'CRM2016ReportingExtensionsServicePack2Update01Sve', 'CRM2016ReportingExtensionsServicePack2Update01Trk', 'CRM2016ServicePack2Update02Enu', 'CRM2016ServicePack2Update02Sau', 'CRM2016ServicePack2Update02Chk', 'CRM2016ServicePack2Update02Chs', 'CRM2016ServicePack2Update02Cht', 'CRM2016ServicePack2Update02Csy', 'CRM2016ServicePack2Update02Dan', 'CRM2016ServicePack2Update02Nld', 'CRM2016ServicePack2Update02Fin', 'CRM2016ServicePack2Update02Fra', 'CRM2016ServicePack2Update02Deu', 'CRM2016ServicePack2Update02Ell', 'CRM2016ServicePack2Update02Heb', 'CRM2016ServicePack2Update02Hun', 'CRM2016ServicePack2Update02Ita', 'CRM2016ServicePack2Update02Jpn', 'CRM2016ServicePack2Update02Kor', 'CRM2016ServicePack2Update02Nor', 'CRM2016ServicePack2Update02Plk', 'CRM2016ServicePack2Update02Ptb', 'CRM2016ServicePack2Update02Ptg', 'CRM2016ServicePack2Update02Rus', 'CRM2016ServicePack2Update02Esn', 'CRM2016ServicePack2Update02Sve', 'CRM2016ServicePack2Update02Trk', 'CRM2016ReportingExtensionsServicePack2Update02Enu', 'CRM2016ReportingExtensionsServicePack2Update02Sau', 'CRM2016ReportingExtensionsServicePack2Update02Chk', 'CRM2016ReportingExtensionsServicePack2Update02Chs', 'CRM2016ReportingExtensionsServicePack2Update02Cht', 'CRM2016ReportingExtensionsServicePack2Update02Csy', 'CRM2016ReportingExtensionsServicePack2Update02Dan', 'CRM2016ReportingExtensionsServicePack2Update02Nld', 'CRM2016ReportingExtensionsServicePack2Update02Fin', 'CRM2016ReportingExtensionsServicePack2Update02Fra', 'CRM2016ReportingExtensionsServicePack2Update02Deu', 'CRM2016ReportingExtensionsServicePack2Update02Ell', 'CRM2016ReportingExtensionsServicePack2Update02Heb', 'CRM2016ReportingExtensionsServicePack2Update02Hun', 'CRM2016ReportingExtensionsServicePack2Update02Ita', 'CRM2016ReportingExtensionsServicePack2Update02Jpn', 'CRM2016ReportingExtensionsServicePack2Update02Kor', 'CRM2016ReportingExtensionsServicePack2Update02Nor', 'CRM2016ReportingExtensionsServicePack2Update02Plk', 'CRM2016ReportingExtensionsServicePack2Update02Ptb', 'CRM2016ReportingExtensionsServicePack2Update02Ptg', 'CRM2016ReportingExtensionsServicePack2Update02Rus', 'CRM2016ReportingExtensionsServicePack2Update02Esn', 'CRM2016ReportingExtensionsServicePack2Update02Sve', 'CRM2016ReportingExtensionsServicePack2Update02Trk' )] [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; } } } } |