Session 从具有管理员权限的批处理中运行vbs脚本不会';行不通
我将从具有管理员权限(Windows 7)的批处理中执行vb脚本(脚本1)。Session 从具有管理员权限的批处理中运行vbs脚本不会';行不通,session,vbscript,Session,Vbscript,我将从具有管理员权限(Windows 7)的批处理中执行vb脚本(脚本1)。 当我在没有管理员权限的情况下执行VBS脚本时,它可以正常工作,但在拥有管理员权限的情况下,什么也不会发生 我想到了一个用户会话“问题”,但当我用qprocess或Windows任务管理器检查会话时(outlook和脚本)都在会话1中运行 但它必须与会话有关,因为当我使用第二个脚本(script2)测试它时,当我从“正常”cmd启动vbs时,会得到一个“jap”,当cmd具有管理员权限时,会得到一个“nope” 有人知道
当我在没有管理员权限的情况下执行VBS脚本时,它可以正常工作,但在拥有管理员权限的情况下,什么也不会发生 我想到了一个用户会话“问题”,但当我用
qprocess
或Windows任务管理器检查会话时(outlook和脚本)都在会话1中运行
但它必须与会话有关,因为当我使用第二个脚本(script2)测试它时,当我从“正常”cmd启动vbs时,会得到一个“jap”,当cmd具有管理员权限时,会得到一个“nope”
有人知道这里的问题是什么吗
脚本1:
On Error Resume Next
Dim oOL
Set oOL = GetObject(, "Outlook.Application")
Dim olkIns
If oOL Is Nothing Then
'Outlook is not running
Else
'Outlook running
oOL.Application.ActiveExplorer.Activate
WScript.Sleep 1000
Shell.AppActivate("Outlook")
Do while oOL.Inspectors.Count <> 0
For each olkIns in oOl.Inspectors
olkIns.Close olSave
Next
Loop
oOL.Session.Logoff
oOL.Quit
End If
Set oOL = Nothing
这可能与不使用UAC运行的outlook.exe和使用UAC运行的cmd的安全令牌和完整性级别有关。如果您没有获取对象而是创建了对象,您是否尝试过它是否有效?您当前的用户是否具有管理员权限,或者您是否拥有具有管理员权限的第二个用户帐户?@AnsgarWiechers是当前用户-否“runas”-仅通过UAC获取管理员权限。@Syberdoor是的,我还使用“CreateObject”对其进行了测试-未成功。如果没有管理进程的管理员权限,则无法附加进程/对象。我怀疑这是出于安全原因,以避免冲突升级。
On Error Resume Next
Dim oOL
Set oOL = GetObject(, "Outlook.Application")
Dim olkIns
If oOL Is Nothing Then
MsgBox "nope"
Else
MsgBox "jap"
End If
Set oOL = Nothing