add az 3.5.0 windows

This commit is contained in:
Aleksandr Chebotov
2020-02-27 12:58:03 +03:00
parent 6830fc14d5
commit c984fef291

View File

@@ -11,35 +11,35 @@ function Add-ModuleDescription
param($DefaultModule, [String]$ModuleName) param($DefaultModule, [String]$ModuleName)
# Adding description of the software to Markdown # Adding description of the software to Markdown
$SoftwareName = "$ModuleName PowerShell module" $softwareName = "$moduleName PowerShell module"
if ($DefaultModule) if ($defaultModule)
{ {
$Description = "#### $($DefaultModule.Version)`n`nThis version is installed and is available via ``Get-Module -ListAvailable``" $description = "#### $($defaultModule.Version)`n`nThis version is installed and is available via ``Get-Module -ListAvailable``"
} }
else else
{ {
$Description = "" $Description = ""
} }
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description Add-SoftwareDetailsToMarkdown -SoftwareName $softwareName -DescriptionMarkdown $description
if($ModuleName -eq 'Az') if($moduleName -eq 'Az')
{ {
$prop = @{n="Version";e={[Version]$_.Directory.Name}},@{n="Path";e={$_.FullName}} $prop = @{n="Version";e={[Version]$_.Directory.Name}},@{n="Path";e={$_.FullName}}
$azureModules = Get-ChildItem C:\Modules\az_*\Az\*\Az.psd1 | Select-Object $prop $azureModules = Get-ChildItem C:\Modules\az_*\Az\*\Az.psd1 | Select-Object $prop
} }
else else
{ {
$azureModules = Get-Module -Name $ModuleName -ListAvailable | Sort-Object Version -Unique $azureModules = Get-Module -Name $moduleName -ListAvailable | Sort-Object Version -Unique
} }
foreach($module in $azureModules) foreach($module in $azureModules)
{ {
if($module.Version -ne $DefaultModule.Version) if($module.Version -ne $defaultModule.Version)
{ {
$CurrentModule = "#### $($module.Version)`n`nThis version is saved but not installed`n_Location:_ $($module.Path)" $currentModule = "#### $($module.Version)`n`nThis version is saved but not installed`n_Location:_ $($module.Path)"
Add-ContentToMarkdown -Content $CurrentModule Add-ContentToMarkdown -Content $currentModule
} }
} }
} }
@@ -48,37 +48,30 @@ function Validate-AzureModule
{ {
param([String]$ModuleName, [String[]]$ModuleVersions) param([String]$ModuleName, [String[]]$ModuleVersions)
if ($ModuleName -eq 'Az') foreach($moduleVersion in $moduleVersions)
{ {
$prop = @{n="Name";e={"Az"}},@{n="Version";e={[Version]$_.Directory.Name}},@{n="Path";e={$_.FullName}} $modulePath = "${installPSModulePath}\${moduleName}_${moduleVersion}"
$azureModules = Get-ChildItem C:\Modules\az_*\Az\*\Az.psd1 | Select-object $prop # Import each module in PowerShell session
} $job = Start-Job -ScriptBlock {
else param($modulePath, $moduleName)
{
$azureModules = Get-Module -Name $ModuleName -ListAvailable
}
$installedVersions = $azureModules | Foreach-Object {$_.Version.ToString()} $env:PsModulePath = "$modulePath;$env:PsModulePath"
Import-Module -Name $moduleName
Write-Host "The $ModuleName module finally present are:" Get-Module -Name $moduleName
$azureModules | Select-Object Name,Version,Path | Format-Table | Out-String } -ArgumentList $modulePath, $moduleName
$isError = $job | Wait-Job | Foreach-Object ChildJobs | Where-Object {$_.Error}
foreach($version in $ModuleVersions) if($isError)
{ {
if ($installedVersions -notcontains $version) Write-Host "Required '$moduleName' module '$moduleVersion' version is not present"
{
Write-Host "Required '$ModuleName' module '$version' version is not present"
exit 1 exit 1
} }
$job | Receive-Job | Select-Object Name,Version,Path
Remove-Job $job
} }
} }
# Get default modules version # Modules path
$defaultAzureRMModule = Get-Module -Name AzureRM -ListAvailable $installPSModulePath = 'C:\Modules'
$defaultAzureModule = Get-Module -Name Azure -ListAvailable
# Add modules to the PSModulePath
$env:PSModulePath = $env:PSModulePath + ";C:\Modules"
# Validate Azure modules and versions # Validate Azure modules and versions
$azurermVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "6.7.0", "6.13.1" $azurermVersions = "2.1.0", "3.8.0", "4.2.1", "5.1.1", "6.7.0", "6.13.1"
@@ -90,6 +83,13 @@ Validate-AzureModule -ModuleName Azure -ModuleVersions $azureVersions
$azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0" $azVersions = "1.0.0", "1.6.0", "2.3.2", "2.6.0", "3.1.0", "3.5.0"
Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions Validate-AzureModule -ModuleName Az -ModuleVersions $azVersions
# Get default modules version
$defaultAzureRMModule = Get-Module -Name AzureRM -ListAvailable
$defaultAzureModule = Get-Module -Name Azure -ListAvailable
# Add modules to the PSModulePath
$env:PSModulePath = $env:PSModulePath + ";C:\Modules"
# Adding description of the software to Markdown # Adding description of the software to Markdown
Add-ModuleDescription -DefaultModule $defaultAzureRMModule -ModuleName AzureRM Add-ModuleDescription -DefaultModule $defaultAzureRMModule -ModuleName AzureRM
Add-ModuleDescription -DefaultModule $defaultAzureModule -ModuleName Azure Add-ModuleDescription -DefaultModule $defaultAzureModule -ModuleName Azure