Sql server 2008 自动化时出现PowerShell和Excel问题

Sql server 2008 自动化时出现PowerShell和Excel问题,sql-server-2008,powershell,excel,vba,Sql Server 2008,Powershell,Excel,Vba,我面临一个奇怪的问题 当我运行此代码时: $Excel = New-Object -Com Excel.Application $book = $Excel.Workbooks.Add() [threading.thread]::CurrentThread.CurrentCulture = 'en-US' sleep 10 $book.saveas("c:\Temp\test.xlsx") $Excel.quit() Stop-Process -Name "Excel*" 在PowerGui

我面临一个奇怪的问题

当我运行此代码时:

$Excel = New-Object -Com Excel.Application 
$book = $Excel.Workbooks.Add()
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
sleep 10
$book.saveas("c:\Temp\test.xlsx")
$Excel.quit()
Stop-Process -Name "Excel*"
在PowerGui中,POwerSHell主机..在任何地方,它都工作得很好

如果我输入一个.bat并调用powerhsell“c:\temp\excel.ps1”也可以

但是,如果我尝试将此人员安排到schedule task中或由sql server作业类型cmd运行,则会发生以下错误:

信息 使用“1”参数调用“SaveAs”时出现异常:“工作簿cla的SaveAs方法” ss失败“

只有当SQL Server作业调用它时(这也是一个简单的cmd命令,行与.bat powerhsell“c:\temp\excel.ps1”相同),才会发生错误

可能是什么?我试着改变文件格式…等等…什么都没有

谢谢大家:)

解决方案是:

您必须创建一个文件夹(或64位windows上的两个):

(32位,始终)

C:\Windows\System32\config\systemprofile\Dektop

(64位)

C:\Windows\SysWOW64\config\systemprofile\Desktop

解决方案在论坛中:


文件路径是否与您的示例相同?在实际情况中是否不同?测试是在同一台机器上进行的吗?您能否尝试将sql作业作为凭据运行并测试它?是的..在同一台计算机中。仅当它按计划运行时不起作用。我认为这是与文化信息的东西,但我也改变了文化信息。真的不知道SQl代理帐户,我把作为域管理员discartd安全也。Juts不工作添加尝试捕获作为日志异常(如果有)。你看,这是个例外。使用“1”参数调用“SaveAs”时出现异常:“工作簿类别的SaveAs方法失败”+$book.SaveAs