CMD or Batch snapins are not working! I have no more idea.
-
@Reto first thing I noticed wrong with the script, what mounts the z: drive. The script only references the z drive but made no attempt to mount it unless I missed that elsewhere. That being said, as @jbob has said, the system account cannot map drives. For this reason you MUST use the unc path. Essentially, if you replace the Z:\ calls in your script and replace them with what you need to use to make the connection in the first place you aren’t doing anything differently from how it is setup. If the intent is to make the z:\ available to users after the snapin is completed, then you should be using GPO and not a snapin.
-
@Reto said:
Thank you very much!
the batch file is not running silent. I see cmd in the foreground when I start it. But if I convert it as exe, I always choose the option Silent Mode.
My batch file contains the following commands:
BATCHFILE:
@echo off xcopy /E Z:\VM_Classroom\* C:\Users\TEC\Desktop\VM\* IF ERRORLEVEL 1 GOTO failed echo VM successfully copied. goto startvm :failed echo Error. goto end pause :startvm cd "C:\Users\TEC\Desktop\VM" for /f "delims=" %%a in ('dir /b/s') do if /i "%%~xa"==".vmx" start %%a timeout /t 15 taskkill /F /IM vmware.exe :end
and the UNC path is : \172.16.224.177\Public\VM_Classroom\
Thank you
The other part I notice is that you don’t have the script creating the VM_classroom folder on the Windows system, does this folder exist before the script is run once? -
@Wayne-Workman said:
@Reto
Get rid of the map drives and just do:xcopy "\\172.16.224.177\Public\VM_Classroom\*.*" "%SystemDrive%\Users\TEC\Desktop\VM_Classroom" /y /d /e /c /i /f /h /k /v /s
To step further into this as a question, if this is needed on all systems why not just include it as a part of the image itself?
-
Try runas.exe /savecred /user:your-admin-user in your cmd file or in fog snapin config (eg. runas calling cmd)
*not tested. -
yes, the VM_classroom Folder does already exist. So I don’t have to make the folder with the script.
-
@Tom-Elliott
We make different learning course and not everyone needs a VM. For this reason, we want the batch script as snapin. Thats the easiest way for us I think. -
I have another script in the startup folder, which mounts the Z: drive after a (re-)boot.
-
There are a couple of thing to understand about mapped drives and processes running as the system account.
- A mapped drive only exists in the process which maps it, so mapping it a startup script will not make it available to later processes. You need to always refer to the share by its UNC path.
- You will need to ensure that the share you are trying to access has read and execute permission set for “domain computers” , the client system account belongs to this group.
-
@Reto said:
14.01.2016 10:01 FOG::SnapinClient Installation returned with code: 1
1 means it error’d out.
You need output recording to figure out what’s wrong…
@echo off xcopy "\\172.16.224.177\Public\VM_Classroom\*.*" "%SystemDrive%\Users\TEC\Desktop\VM_Classroom" /y /d /e /c /i /f /h /k /v /s >> %temp%\vm_copy_output.log IF ERRORLEVEL 1 GOTO failed echo VM successfully copied. >> %temp%\vm_copy_output.log goto startvm :failed echo Error. >> %temp%\vm_copy_output.log goto end pause :startvm cd "C:\Users\TEC\Desktop\VM" >> %temp%\vm_copy_output.log for /f "delims=" %%a in ('dir /b/s') do if /i "%%~xa"==".vmx" start %%a timeout /t 15 >> %temp%\vm_copy_output.log taskkill /F /IM vmware.exe >> %temp%\vm_copy_output.log :end
-
@Wayne-Workman another thing to be aware of is that when you run as the system account, you won’t get the full environment that a normal process would get. It would be better to state a local path in full, rather than rely on environment variables, particularly in the case of %temp%
-
@jbsclm Noted.
@reto set the output path to whatever you need. I changed it to C:\vm_copy_output.log Here at work, I have my output redirected to hidden read/write network shares, and I name the files with the %computername% variable usually.
@echo off xcopy "\\172.16.224.177\Public\VM_Classroom\*.*" "%SystemDrive%\Users\TEC\Desktop\VM_Classroom" /y /d /e /c /i /f /h /k /v /s >> c:\vm_copy_output.log IF ERRORLEVEL 1 GOTO failed echo VM successfully copied. >> c:\vm_copy_output.log goto startvm :failed echo Error. >> c:\vm_copy_output.log goto end pause :startvm cd "C:\Users\TEC\Desktop\VM" >> c:\vm_copy_output.log for /f "delims=" %%a in ('dir /b/s') do if /i "%%~xa"==".vmx" start %%a timeout /t 15 >> c:\vm_copy_output.log taskkill /F /IM vmware.exe >> c:\vm_copy_output.log :end
-
@Wayne-Workman Thank you a lot!
I can deploy your batch file successfully. And the log file is also created under Drive
I used “ \ windows \ system32 \ cmd.exe” and argument “C /”.All files from the public share are now on my desktop in the folder VM_Classroom.
But unfortunately the VM does not start. It only copies the files.
These are the last few lines of the log file:
\172.16.224.177\Public\VM_Classroom\10500_VM1_BIv4_BigData\caches\GuestAppsCache\launchMenu\version -> C:\Users\TEC\Desktop\VM\10500_VM1_BIv4_BigData\caches\GuestAppsCache\launchMenu\version
173 File(s) copied
VM successfully copied.Waiting for 15 seconds, press a key to continue …14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUCCESS: The process “vmware.exe” with PID 4960 has been terminated.It looks like the script skips the step where it should go to the VM.
hmmm do you see maybe an other mistake?
-
@Reto I’m not sure about that… That’s all specific to your site and I have zero experience doing what you’re doing specifically.
Best I can tell you is to use the output redirection to your advantage, and test your commands manually. Surely it can be done - but past this I can’t really help.
-
All right. Thank you very much for the help!
I saw that when I run the file locally, it copies and starts the VM as it should.
I have to find out why that its not work when I’m using snapins. -
Hey guys its me again,
I guess I could track down the problem.
The batch file copies all files from the server (172.16.224.177) to the VM_Classroom folder. But when the batch file should open the VM, a new window of “Interactive Services Detection” starts instead.
When I press “View the Message”, I see the VMware interface, which opens the VM. And after 15 seconds, the window closes again, just like it says in the batch file.Thus, I can say that the batch file works, but the VM is launched in Windows interactive service. When I close the window, the VM is not running in the VMware SW.
How can I solve this problem?
-
@Reto Fog snapins must run silently. This is because they could run while the computer is not logged in, while it’s logged in but locked, overnight, etc. There can be no visual output attempted from a snapin. You need to figure out how to make your script totally silent - and that might mean using a different method in the script. Don’t think about making it work as it is now, think about what is acceptable and what can work.
-
@Wayne-Workman Thank you! I will try to convert the batch to an .exe file.