powershell - 安装和加载模块
问题描述
我希望我的脚本能够发现用户是否安装了模块,以及是否没有安装它来执行安装和加载模块。我有执行发现模块的命令,但不知道如何安装它,如果它不存在并加载模块。
任何帮助,将不胜感激!请参阅下面的代码;
if ((Get-Module | Select Name, Version | Where {$_.Name -like "*AzureRM*"}).Count -lt 1)
{
Import-Module -Name AzureRM
}
解决方案
这是我用于导入新 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,您可以按照上述示例仅导入所需的组件。
推荐阅读
- reactjs - Why I am getting the Typerror cannot read property map of undefined, despite the my transaction state object is updating dynamically?
- python - 所有降价单元格都是不受信任的
- crm - 删除了 Siebel 本地数据库的所有职责
- react-autocomplete - react-autocomplete 是否开启了 onKeyDown
? - google-colaboratory - 如何解决“检测到***堆栈粉碎***:
在 colab 中终止“? - c# - .Net 5 中的 ObjectDataProvider 抛出 System.BadImageFormatException
- javascript - 有什么方法可以在不使用纯 react-native 的情况下减少 expo apk 大小?
- discord - AutoMod 没有读取正确的单词
- django - Django - 关系模型
- python - 如何监控python程序中每个代码行的cpu使用率