PowerCLI: Using plink to modify ESXi host configuration files via SSH
Jump to navigation
Jump to search
Using plink to modify ESXi host configuration files via SSH from a PowerCLI script
author: Sean Duffy
Description
Sean came up with the following method to be able to use SSH from within his PowerCLI script:
- Configure host as normal using PowerCLI
- Use PowerCLI to start SSH service on host
- execute plink script to connect to host, run command via SSH, then disconnect
- Use PowerCLI to stop SSH service on host
- Continue with rest of PowerCLI script
Usage
# At start of our script we ask for the host's IP or name (this could be automated if you like)
$hostIP = Read-Host "Enter ESX host IP/dns name: "
$vmhost = Get-VMHost $hostIP
# Start the SSH service
$sshService = Get-VmHostService -VMHost $vmhost | Where { $_.Key -eq “TSM-SSH”}
Start-VMHostService -HostService $sshService -Confirm:$false
# Use SSH / plink to configure host with some additional script
cmd /c "plink.exe -ssh -pw HOSTROOTPASSWORD -noagent -m commands.txt root@$hostIP"
# Stop SSH service
Stop-VMHostService -HostService $sshService -Confirm:$false