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