Tired from uploading VMware Support logs to VMware tickets i wanted to do this job with just one click. I wrote a script which can be used to upload files to VMwares FTP server quite fast. The script uses the FTPupload howto from KB1008525. Please open a ticket with VMware prior to start this script, to get a support request number. You need the ticketnumber to run the script.
- Simply put the script on your desktop and drag the file you want to upload to the script.
- Console usage is also possible. Start the script with VMware-upload.vbs [SUPPORTFILE]
- If you want to use the Windows Send To function you can copy the script to your sendto folder. Open Start -> Run -> shell:sendto and copy the script to this folder.
' VMware Support Upload Script v1.0 (2012-09-08) ' http://www.virten.net ' ' Usage: ' - Drag you vm-support file to the script ' - Copy the script to your SendTo Folder ' - Console Usage: VMware-upload.vbs [SUPPORTFILE] Set objArgs = WScript.Arguments 'VMware FTP Data ftpHost="ftpsite.vmware.com" ftpUsername="inbound" ftpPassword="inbound" 'Only one file per Upload possible If objArgs.Count <> 1 then msgbox "Please drop one file to the script." WScript.Quit Else SupportFile = objArgs(0) End If 'Inputbox to enter VMware Support Request Number ftpTicket=InputBox("Enter VMware Support Request Number", "Upload vm-support") If ftpTicket = "" Or Not IsNumeric(ftpTicket) then msgbox "Illegal Support Request Number" WScript.Quit End If 'Confirm upload intAnswer = Msgbox("Upload " & SupportFile & " to VMware Ticket ID " & ftpTicket & "?", vbYesNo, "Upload vm-support") If intAnswer = vbNo Then WScript.Quit End If Set objFSO = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("WScript.Shell") 'Add quotes for supporting whitespace in filenames SupportFile = Trim(SupportFile) SupportFile = chr(34) & SupportFile & chr(34) 'Build FTP commands ftpCommands = "USER " & ftpUsername & vbCRLF ftpCommands = ftpCommands & ftpPassword & vbCRLF ftpCommands = ftpCommands & "mkdir " & ftpTicket & vbCRLF ftpCommands = ftpCommands & "cd " & chr(92) & ftpTicket & vbCRLF ftpCommands = ftpCommands & "binary" & vbCRLF ftpCommands = ftpCommands & "put " & SupportFile & vbCRLF ftpCommands = ftpCommands & "quit" & vbCRLF 'Create temporary command files tempdir = objShell.ExpandEnvironmentStrings("%TEMP%") CommandFile = tempdir & chr(92) & objFSO.GetTempName ResultFile = tempdir & chr(92) & objFSO.GetTempName Set objCommandFile = objFSO.CreateTextFile(CommandFile, True) objCommandFile.WriteLine(ftpCommands) objCommandFile.Close 'Do the job objShell.Run "%comspec% /c ftp -n -i -s:" & CommandFile & " " & ftpHost & " > " & ResultFile, 0, TRUE 'Display the result Set Result = objFSO.OpenTextFile(ResultFile, 1, 0, -2) Wscript.Echo Result.ReadAll Result.Close 'Clean up objFSO.DeleteFile (CommandFile) objFSO.DeleteFile (ResultFile)