我在Stack Overflow网站上搜索了与关闭相关的问题 外表。有很多热门歌曲,但似乎都没有描述我的意思 试图做。
我正在尝试解决的问题是如何备份Outlook数据库 自动无人看管。 Outlook需要关闭(如果是的话) 在复制.pst文件之前运行)。
我在(www.howto-outlook.com/howto/closeoutlookscript.htm)找到了一个VBScript 这似乎是我需要的。但是从发起时我无法让它运行 Windows任务计划程序。
我在Windows 8 Sony笔记本电脑上运行。
我的VBScript应该在备份.pst文件之前关闭Outlook。 代码存储在CloseOutlookVerify.vbs。
中以下是来自CloseOutlookVerify.vbs的违规代码:
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Outlook.exe'")
For Each objProcess in colProcessList
Set objOutlook = CreateObject("Outlook.Application")
' The above line fails with ERR = 70 - Permission denied
objOutlook.Quit
Closed = 1
Next
因此,从命令提示符运行此脚本有何不同 与任务调度程序相比?如何在运行时使其正常工作 由任务调度程序?
仅供参考 - 我用C和Unix shell语言编写了我的生活编程,但是这个 是我在Windows环境中第一次接触VBS。
非常感谢您提供的任何专业知识。
答案 0 :(得分:1)
我认为这是因为没有设置impersonationLevel。试试这个:
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strSysName & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Outlook.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next