美好的一天, 我既不是经验丰富的 VBScript 也不是 PS 脚本专家。我的监控系统有一个用于打开支持票证的控制 VBScript,现在需要进行更改以适应发布到服务的 JSON 输出。 我首先尝试直接从 VBScript 内发布 JSON 字符串,但总是收到错误“msxml3.dll:无法建立与服务器的连接”,但我似乎无法修复该错误。因此,我测试了 PS 中的 JSON POST,它立即起作用了。 以我无限的智慧,我决定从 VBScript 中调用 PS 脚本,但这也引发了它自己的麻烦。我在这里提到的两个最大的蠕虫是 1) 试图正确调用,以及 2) 处理报价。
这是来自我的 VBS 内的 PS 调用...
strOut = "{""integrationName"":""WhatsUpGold"",""actionName"":""WhatsUpGold"",""sourceId"":""" & LogID & """,""payload"" :{""UID"":""" & LogID & """,""MD"":""SPNVMSA116"",""Agent_Class"":""WhatsUp Gold"",""Agent_Instance"":" "" & mon_name & """,""客户端"":""BCX"",""日期"":""" & ActMonStartTimeDate & """,""时间"":""" & ActMonStartTimeTime & " "",""ESMTool"":""WhatsUp Gold"",""严重性"":""" & 状态 & """,""状态"":""" & mon_state_override & """,""服务器"":""" & disp_name & """,""Instance_Detail"":""服务器"",""UserData"":""" & 负载 & """}}"
Context.LogMessage mon_state & " " & disp_name & " -ACTIVE " & mon_name & " 监控警报:" & strOut
Dim objShell,intReturnCode 设置 objShell = CreateObject("Wscript.Shell") intReturnCode = objShell.Run("powershell.exe -noexit set-ExecutionPolicy Unrestricted -c