3 Replies Latest reply on Nov 18, 2019 4:04 AM by LucD

    Invoke-VMScript Netsh (run as elevated)

    ktitchard Lurker

      Hi all


      I am having a problem running a remote netsh command to change the IP, Subnet Mask, Default Gateway and DNS addresses. The script does work if I am logged into the workstation however it doesnt work remotely. I get 'The requested operation requires elevation (Run as administrator).' on the script output. The account that I am executing the script from is in the administrator group.


      Here is my script example (data has been changed)


      $Username = 'Administrator'

      $LocalAdmin = 'Admin'
      $Password ='<Hidden>'
      $AdminPW = '<Hidden>'
      $VMName = 'LANCOMP1'
      $AdapterName ='Ethernet0 2'
      $IPAddress = ''
      $SubnetMask = ''
      $DefaultGateway = ''
      $CombinedAddresses = $IPAddress + " " + $SubnetMask + " " + $DefaultGateway
      $DNS1 = ''
      $DNS2 = ''


      $VC = 'myvcenter.mydomain.net'


      #Loads the VMWare Plugin
      Get-Command -PSSnapin VMware.VimAutomation.Core
      Get-Command -PSSnapin VMware.VimAutomation.Vds


      #VC Connection
      $VIServer = Connect-VIServer -Server "$VC" -user $Username -Password $Password




      #Change NIC Settings using Remote VM SCripting
      $IPScript = "netsh interface ipv4 set address ""$AdapterName"" static $CombinedAddresses"
      $DNSScript1 = "netsh interface ip add dns ""$AdapterName"" $DNS1 index=1"
      $DNSScript2 = "netsh interface ip add dns ""$AdapterName"" $DNS2 index=2"


      Invoke-VMScript -VM $VMNAme -ScriptText "$IPScript" -GuestUser $LocalAdmin -GuestPassword $AdminPW
      Invoke-VMScript -VM $VMNAme -ScriptText "$DNSScript1" -GuestUser $LocalAdmin -GuestPassword $AdminPW
      Invoke-VMScript -VM $VMNAme -ScriptText "$DNSScript2" -GuestUser $LocalAdmin -GuestPassword $AdminPW




      Any help would be greatly appreciated.