jroeser637
Contributor
Contributor

Bat File hangs when Using PowerCLI to run a bat file remotely

Hey there, I'm new here! I'm also still learning a lot about VMware in general! With that said, here is my problem:

I have a bat file whose purpose is to install software. In it, I have written the following three lines of code in a file named example.bat:

pushd \\a_network_directory\Mozilla\

"Firefox Setup 42.0.exe" /S

"Firefox Setup 42.0.exe" -ms

Now, this bat file works if I actually log on to this remote computer and run it there. It performs the tasks just like I like and everything is groovy. However, if I run this bat file remotely from PowerCLI, it does not work. Rather, PowerCLI just shows the script running, but it hangs there and never seems to execute or finish. I don't see any processes or whatever being run on the remote machine either.

I run the following commands in PowerCLI:

Connect-VIServer xx.xx.xx.xx

$vm = Get-VM -Name "my_vm"

Invoke-VMScript -VM $vm -ScriptText "C:\TEMPINSTALL\example.bat" -HostUser username -HostPassword password -GuestUser username -GuestPassword password -ScriptType Bat

Here is some of the troubleshooting I have tried so far:

* I have changed ScriptType to Powershell and ran the command.

* I put a powershell file in there that would open the bat file, and had my Invoke-VMScript point to powerhshellscript.ps1 to open the bat file.

* I put a bat file to open the powershell file to open the bat file (because why not!) in the directory.

* I have spent many hours googling, and while I have found many scripts to run powershell from a bat file, I haven't found anything specific to this issue

* I have searched the section of this forum for related topics; again, nothing that solved the issue

* I made sure to run PowerCLI as an administrator

* I experimented with different bat files. I can actually run bat files through powercli that do simple things like make directories and files, just not actually install/uninstall software.

I'm at the end of my rope here, so I was hoping someone could point me into the right direction or even give me an idea of what I could research to approach this issue. Thank you very much for your time!

0 Kudos
9 Replies
LucD
Leadership
Leadership

Not sure if you checked this, but the BAT file will run under the account you specify on GuestUser.

Is that account permitted to install SW ?

Did you already do a pslist (sysinternals) of the active processes on the target.

Just to check if the installation EXE is already started


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jroeser637
Contributor
Contributor

Yes, the account is permitted to install SW. When I logged onto the computer, I ran the bat file as a different user and specified the GuestUser and the bat file ran correctly. As I am working in a secure environment, I am extremely limited to the tools I can download and use; as such, I cannot download and use pslist to see the active processes on the computer. Any other suggestions?

Right now, my new approach is to try to have powershell start a process and attach the bat file to that process. Then, I'll try to run the powershell script from powerCLI remotely. So far, it hasn't been working out!

0 Kudos
LucD
Leadership
Leadership

Could you check if the Invoke-VMscript is working at all.

Try for example running a "dir" command on that VM via Invoke-VmScript


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jroeser637
Contributor
Contributor

Yup, it definitely works. I was able to run a "dir" command successfully.

0 Kudos
LucD
Leadership
Leadership

Ok, that seems to indicate that the issue is very likely with the EXE you are trying to run.

When you run it interactively, with a runas, there is no popup or prompt ?

Is the 1st one, which is an uninstall, giving a prompt when the SW is not installed ?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jroeser637
Contributor
Contributor

I don't think it's with the EXE file, as it works perfectly if I just right click on the bat file and click on "Run As" and select administrator.

Could you expand a bit more on where exactly you are asking if there is a prompt or popup? That is to say, do you mean if I just directly open the .exe file itself with a RunAs? Or if I try to open it from command line without SW? In either case, it runs normally giving me prompts through a GUI.

0 Kudos
LucD
Leadership
Leadership

Is it really giving you prompt through a GUI ?

That is not a silent uninstaller/installer, and that could explain why it seems to hang.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
jroeser637
Contributor
Contributor

Oh, do you mean to say I should try running it WITHOUT the SI/SU remotely to see if I can get a prompt? I know that it does uninstall/install silently when I have the /S and -ms commands after it correctly. I'll have to check to see if I can have it give me a prompt through GUI remotely.

0 Kudos
jroeser637
Contributor
Contributor

Okay, I think I see where you are going with this. So, when I try to execute the .exe file remotely without silent options, it does not open and give me a GUI prompt. However, the script DOES hang all the same. As you said, it very well could be the .exe file. I'm going to try with a different installation file now and see if that changes anything.

0 Kudos