我希望我的脚本能够发现用户是否已安装模块以及是否未安装该模块以执行安装和加载模块。我有执行发现模块的命令,但是没有发现该模块并加载该模块的方法。
任何帮助将不胜感激!请参见下面的代码;
undefined
答案 0 :(得分:0)
这是我用来导入新的Azure模块的方法:
# This script will not function without the Azure Modules
if (-not (Get-Module -ListAvailable -Name "Az*" -Verbose:$false)) {
if (Get-Module -ListAvailable -Name "Az" -Verbose:$false) {
Uninstall-Az
}
Write-Output "Installing Azure modules"
Install-Module -Name "Az" -ErrorAction Stop -Verbose:$false | Out-Null
}
else {
Write-Verbose "Azure PowerShell module already installed."
}
# Import required modules
$Modules = @("Az.Accounts", "Az.Resources", "Az.Storage")
$SaveVerbosePreference = $global:VerbosePreference
$global:VerbosePreference = 'SilentlyContinue'
foreach ($Module in $Modules) {
if (-not (Get-Module -Name $Module -Verbose:$false)) {
Write-Output "Importing $Module module"
Import-Module -Name $Module -ErrorAction Stop -Verbose:$false | Out-Null
}
else {
Write-Verbose "$Module module already imported."
}
}
$global:VerbosePreference = $SaveVerbosePreference
它也适用于较旧的模块。同样,使用Azure,您可以按照上述示例仅导入所需的组件。