如何编写代码来检查Add-PSSnapin,如果它不存在,则检查Import-Module,如果它也不存在,则退出脚本。我已经写了下面的代码,但我在使用它时遇到了内存溢出问题。
cls
Function GetModule {
$ErrorActionPreference = 'Stop'
if(-not(Get-Module -Name VMware.VimAutomation.Core))
{
Import-Module VMware.VimAutomation.Core
}
Elseif (-not(Get-PSSnapin -Name VMware.VimAutomation.Core))
{
Add-PSSnapin VMware.VimAutomation.Core
}
Else {
Write-Host "VMware PowerCLI Modules are NOT INSTALLED on this machine !"
Exit
}
}
GetModule发布于 2017-10-15 19:55:44
您可以使用多个try/catch以及-ErrorAction Stop参数
Function GetModule {
Try {
Import-Module -Name VMware.VimAutomation.Core -ErrorAction Stop
}
catch {
Write-Host "Unable to load VMware PowerCLI Module, trying the PSSnapin..."
try {
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction Stop
}
catch {
Write-Host "VMware PowerCLI Modules are NOT INSTALLED on this machine !"
return
}
}
} https://stackoverflow.com/questions/46752624
复制相似问题