Update RunESXiCommand.ps1

This commit is contained in:
ackitsme committed 2026-10-18 12:24:37 -07:00
1 parent 3c95ec52e7
commit 93c4a12927
1 file changed
+30 -3
+30 -3
View File
@@ -1,4 +1,4 @@
#requires -Modules posh-ssh
##requires -Modules posh-ssh
param (
[string]$vCenter = "",
@@ -9,8 +9,8 @@ param (
)
# Variables
$FileVersion = "1.0.1"
$FileDate = "2026-04-18"
$FileVersion = "1.1.0"
$FileDate = "2026-10-06"
# Display Script Banner
Write-Host "--------------------------------------------------" -ForegroundColor White
@@ -19,6 +19,31 @@ Write-Host "Version $($FileVersion) ($($FileDate))" -ForegroundColor Green
Write-Host "Written by Charlie Silverman" -ForegroundColor Green
Write-Host "--------------------------------------------------" -ForegroundColor White
function CheckModuleInstalled($moduleName, $command) {
Write-Host "Checking that package $moduleName is installed..." -NoNewLine
if (-not(get-command $command -erroraction silentlycontinue)) {
Write-Host " Missing" -ForegroundColor Red
if (-not (Get-Module -ListAvailable -Name $moduleName)) {
$response = ""
while (($response -ne "yes") -and ($response -ne "no")) {
$response = (Read-Host "$moduleName module not instaled. Install now? (yes/no)").ToLower()
}
if ($response -eq "no") {
Write-Host "Operation Cancelled." -ForegroundColor Yellow
exit
}
Write-Host "Installing PowerShell module $moduleName..." -NoNewLine
Install-Module -Name $moduleName -Scope CurrentUser -Force
Write-Host " Success" -ForegroundColor Green
}
Write-Host "Loading PowerShell module $moduleName..." -NoNewLine
Import-Module $moduleName
Write-Host " Success" -ForegroundColor Green
} else {
Write-Host " Found" -ForegroundColor Green
}
}
if ($Help) {
Write-Host
Write-Host "Purpose: Run a CLI command on all hosts in a cluster."
@@ -44,6 +69,8 @@ if ($Help) {
exit
}
CheckModuleInstalled -moduleName "posh-ssh" -command "New-SSHSession"
$quiet = Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
if ($vCenter -eq "") {