2012-06-26 28 views
2

这与previous thread I started有关,但它涉及实际工作的方法。通过ColdFusion和VBScript发送传真Windows Server 2008

我已经创建了一个VBScript,ColdFusion会执行并将传真发送到特定的号码。以下是VBScript的我写的,从微软TechNet站点采取:

Set objFaxDocument = WScript.CreateObject("FAXCOMEX.FaxDocument") 
Set objFaxServer = WScript.CreateObject("FAXCOMEX.FaxServer") 
Dim JobID 

objFaxServer.Connect("") 
objFaxDocument.Body = "C:\*PATHNAME*\testfax.pdf" 
objFaxDocument.DocumentName = "My First Fax" 
objFaxDocument.Priority = "2" 

objFaxDocument.Recipients.Add("8885551212") 

objFaxDocument.AttachFaxToReceipt = True 

objFaxDocument.CoverPageType = "1" 
objFaxDocument.CoverPage = "generic" 
objFaxDocument.Note = "Here is the info you requested" 
objFaxDocument.ReceiptAddress = "[email protected]" 

objFaxDocument.Subject = "Today's fax" 
objFaxDocument.Sender.Title = "Mr." 
objFaxDocument.Sender.Name = "Test Man" 
objFaxDocument.Sender.City = "Test City" 
objFaxDocument.Sender.State = "FL" 
objFaxDocument.Sender.Company = "Test Company" 
objFaxDocument.Sender.Country = "USA" 
objFaxDocument.Sender.Email = "[email protected]" 
JobID = objFaxDocument.ConnectedSubmit(objFaxServer) 
MsgBox("The Job ID is :" & JobID(0)) 

objFaxServer.Disconnect() 

以下是ColdFusion的代码,我用它来执行此VBScript中:

<cfexecute name="C:\Windows\System32\cscript.exe" 
    arguments="C:\*SCRIPTPATH*\test.vbs"> 
</cfexecute> 

在具有Windows Server 2003的计算机,这将文档成功发送到Windows传真服务应用程序,并将传真正确存储在发件箱中。但是,当我在Windows Server 2008上尝试此操作时,它不起作用。应该注意的是,尽管正在使用相同版本的ColdFusion(8),但2008机器是64位,而2003是32位。

这可能已经在其他地方得到了解答(如果是这样,请指导我),但是我已经度过了最艰难的时期,并且我没有找到很多成功的解决方案。我知道我错过了一些东西,但我不知道是什么。任何人都可以帮忙吗?

+0

当你在服务器上的提示符下运行它时它工作吗?你会收到任何错误消息吗? –

+0

是的。我进入命令提示符,然后执行cscript.exe,然后执行VBS的路径。它首先打开PDF文档(我需要弄清楚如何停止),然后一旦完成该过程而没有错误,我会在传真服务队列中看到该文档。 – user1100412

回答

0

这很难回答,正是因为你没有量化“不起作用”。它以什么方式不起作用?屏幕上是否有错误?日志文件中是否有错误? VBS是否被调用,但是它会失败吗(它可能是被调用的一个变种)?

这就是说,我怀疑这是CF运行的服务帐户没有权限访问或执行VBS或VBS使用的其他资源。

如果您以CF用户的身份登录,是否可以从命令行执行该语句?