다음 Powershell에서 컴파일 문제가 발생합니다.추가하기 전에 스냅인을 확인하는 방법은 무엇입니까?
오류는 분명히 스냅인의 이름을 확인해야한다고 설명합니다. 그것은 처음으로 자체를 실행할 때 성공적으로 추가되었습니다. 다음 추가 할 경우
어떻게 스냅인은, 존재 확인하려면?
다음 Powershell에서 컴파일 문제가 발생합니다.추가하기 전에 스냅인을 확인하는 방법은 무엇입니까?
오류는 분명히 스냅인의 이름을 확인해야한다고 설명합니다. 그것은 처음으로 자체를 실행할 때 성공적으로 추가되었습니다. 다음 추가 할 경우
어떻게 스냅인은, 존재 확인하려면?
이미로드되어 있지 않은 경우 당신은 그것을로드 할 수
if(-not (Get-PSSnapin VMware.VimAutomation.Core))
{
Add-PSSnapin VMware.VimAutomation.Core
}
당신은 또한 어쨌든 그것을로드 오류 무시할 수 :
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
나는 다음과 같은 오류를 얻고 있었다하고 있기 때문이었다 생각을 snapin은 이미로드되었지만 실제로는 그렇지 않습니다.
ERROR: The specified mount name 'vmstores' is already in use.
ERROR: The specified mount name 'vis' is already in use.
위의 제공이 솔루션은 확실히 훨씬 더 단순한 내가 아래에 쓰기 시작하는 것보다입니다.
나는 하나의 요인 내가 스냅인이 먼저 등록되어 있는지 볼 것이다 가정 않습니다.
$snaps1 = Get-PSSnapin -Registered
$snaps2 = Get-PSSnapin *VMWare -ErrorAction SilentlyContinue
$vmsnap = 0
foreach ($snap1 in $snaps1) {
if ($snap1.name -eq "VMware.VimAutomation.Core") {
Write-Host "VM Snapin Registered..."
$vmsnap = 1
}
}
if ($vmsnap -eq 0) {
Write-Host "VMWare Snapin NOT Registered. Ensure the CLI is installed and available on machine."
}
if ($vmsnap -eq 1) {
foreach ($snap2 in $snaps2) {
if($snap2.name -eq "VMware.VIMAutomation.Core") {
Write-Host "VMware Snapin Already Loaded..."
$vmsnap = 2
}
}
}
if ($vmsnap -ne 2) {
Write-Host "Loading VMware Snapin..."
Add-PSSnapin VMware.VimAutomation.Core
}
나는 여전히 매우 PS 구문에 매우 새로운입니다. 의
가능한 중복 (http://stackoverflow.com/questions/1477994/how-to-check-if-powershell-snap-in [PowerShell에서 스냅인이 이미 추가-PSSnapin 호출하기 전에로드되어 있는지 확인하는 방법] -is-already-loaded-before-calling-add-pssnapin) – JohnC