【发布时间】:2020-01-15 09:45:05
【问题描述】:
我有一个将 docx 转换为 pdf 的 powershell 脚本。在 Windows 10 上的用户会话中运行时,它运行没有问题。但是,我需要在 Windows 服务中运行它。
$docx_filename = 'C:\temp\doc2pdf.docx'
$pdf_filename = 'C:\temp\doc2pdf1.pdf'
$word_app = New-Object -ComObject Word.Application
$document = $word_app.Documents.Open($docx_filename)
$document.SaveAs([ref] $pdf_filename, [ref] 17)
$document.Close()
$word_app.Quit()
使用以下命令调用脚本
powershell.exe -executionpolicy Bypass -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -File -File "docx2pdf.ps1" -docxFilename "docx2pdf.docx" -pdfFilename "docx2pdf.pdf"
使用 PSSet-Debug -Trace 2 会记录以下内容
DEBUG: 14+ >>>> $word_app = New-Object -ComObject Word.Application
DEBUG: ! SET $word_app = 'Microsoft.Office.Interop.Word.ApplicationClass'.
DEBUG: 16+ >>>> $document = $word_app.Documents.Open($docxFilename)
如何让它在 Windows 10 服务中工作?
谢谢
【问题讨论】:
标签: powershell windows-services