标签: vbscript

使用VBScript如何检查后台处理程序服务是否已启动,如果没有启动它?

我想使用VBScript检查后台处理程序服务是否已启动,如果没有启动它,下面的代码检查服务状态,但我需要一些帮助来修改它,以便我可以检查它是否已启动.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery _
    ("Select * from Win32_Service")
For Each objService in colRunningServices 
    Wscript.Echo objService.DisplayName  & VbTab & objService.State
Next
Run Code Online (Sandbox Code Playgroud)

非常感谢史蒂文

vbscript service

3
推荐指数
1
解决办法
1万
查看次数

在VBScript中检查字符串是否包含非数字字符

我正在开发一个用VBScript编写的Windows应用程序,我需要检查一个字符串是否包含任何非数字字符,特别是az.我意识到我可以使用InStr()函数和一个检查az的循环但这看起来很荒谬.我对VBScript的经验很少,所以我真的不知道该去哪里.

处理这种情况的好方法是什么?

string vbscript search

3
推荐指数
1
解决办法
1万
查看次数

在Web开发中是否有"Client Side"VBScript这样的东西?

今天我和一位同事就客户端脚本进行了讨论.JavaScript是我使用的唯一客户端脚本语言(也是我所知道的唯一一种),但她似乎认为你也可以在客户端使用VBScript.这是真的?

javascript vbscript

3
推荐指数
1
解决办法
2084
查看次数

检测经典ASP中的字典对象

有谁知道如何识别传递给函数的对象(经典的asp/vbscript)实际上是一个字典对象与任何其他类型?

显然我可以这样做,isObject(myObj)但这并没有告诉我它是否是字典集合.

vbscript asp-classic

3
推荐指数
1
解决办法
1328
查看次数

使用VBScript在经典ASP中收集对象?

我有一个名为'Company'的类,它具有'CompanyName','CompanyCode'和'IsActive'等属性.这个类在VBScript中.我想在经典ASP中使用VBScript存储Company对象的集合.这是可能的,如果是的话,我该怎么做?

collections vbscript asp-classic

3
推荐指数
1
解决办法
2万
查看次数

如何从HTA中启动批处理文件

我有我正努力通过一个按钮来启动一个批处理文件,但是当我尝试启动批处理文件,它不运行基本HTA.当我按下按钮时,命令提示符窗口启动但不运行脚本.

这是代码的简单示例:

<HTML>
  <HEAD>
    <TITLE>Fix</TITLE>
  </HEAD>
  <BODY>
    <FORM>
      <INPUT TYPE="Run" NAME="Button" VALUE="Click">

      <SCRIPT FOR="Button" EVENT="onClick" LANGUAGE="VBScript">
        Set WshShell = CreateObject("WScript.Shell")
        WshShell.Run "cmd.exe '.\example.bat'"
      </SCRIPT>

    </FORM>
  </BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

如何从与HTA相同的工作目录(或子目录)中启动批处理文件?

谢谢

vbscript cmd batch-file hta

3
推荐指数
1
解决办法
2万
查看次数

用VBscript替换CSV文件中的数字而不替换所有文本

我正在研究这段代码

Dim strFirm,soNumber,strValues,arrStr,strCitrix,NewText,text

strFirm = "Gray"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("cloud.csv",1,True)

Do while not objTextFile.AtEndOfStream
    arrStr = Split(objTextFile.ReadLine, ",")
If arrStr(0) = strFirm Then
    soNumber = arrStr(1)
Exit Do
End If
Loop

objTextFile.Close

strCitrix = soNumber + 1

MsgBox "Cloud Client " & strFirm & " is now using " & strCitrix & " Citrix licenses."

NewText = Replace(soNumber, soNumber, strCitrix)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("cloud.csv",2,True)
objTextFile.Writeline NewText
objTextFile.Close
Run Code Online (Sandbox Code Playgroud)

但是当我运行代码时,替换会清除我文件中的所有文本,除了我正在编写的数字.

我想要它做的是保留所有其他文本,只更改一个指定的变量.

Client1,5
Client2,7 …
Run Code Online (Sandbox Code Playgroud)

vbscript text replace

3
推荐指数
1
解决办法
3403
查看次数

发送电子邮件时VBScript错误'80040211'

发送电子邮件时出错:"错误'80040211'"

这是我的代码的一个例子 -

Dim objMessage
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Super Service Comment - "

objMessage.From = "someone@s.com"
objMessage.To = "someone1@s.zendesk.com;someone2@s.com"
objMessage.TextBody = "Name...."

objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com" 'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'Type of authentication, NONE, Basic (Base64 encoded), NTLM
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "someone4@s.com" 'Your UserID on the SMTP server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******" 'Your password on the SMTP server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 'Server port (typically 25)  
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true …
Run Code Online (Sandbox Code Playgroud)

email vbscript cdo.message

3
推荐指数
1
解决办法
3万
查看次数

Request.QueryString和Request.ServerVariables("QUERY_STRING")不显示UNICODE

我添加日志记录功能,以一个经典的ASP应用程序时遇到困难得到的Request.QueryString和Request.ServerVariables当用户提交UNICODE查询正确显示.

例如 -

Response.write Request.QueryString
Run Code Online (Sandbox Code Playgroud)
strVar1=&strVar2=%E8%A1%8C%E9%9B%B2%E6%B5%81%E6%B0%B4&strVar3=blah1&strVar4=blah2


Response.write Request.ServerVariables("QUERY_STRING")
Run Code Online (Sandbox Code Playgroud)
strVar1=&strVar2=%E8%A1%8C%E9%9B%B2%E6%B5%81%E6%B0%B4&strVar3=blah1&strVar4=blah2


然而,如果我在Request.QueryString中指定一个UNICODE变量,它会正确打印:

Response.write Request.QueryString("strVar2")
Run Code Online (Sandbox Code Playgroud)
????


如何获取Request.QueryString或Request.ServerVariables("QUERY_STRING")以包含UNICODE?我在搜索和结果页面上都有以下内容,并且查询对数据库成功执行:

<%
Response.CodePage = 65001
Response.CharSet = "utf-8"
%>
Run Code Online (Sandbox Code Playgroud)

要回答bobince的问题,我想登录他们提交了哪些搜索字词和网页 - 如果有一个更好的方式来做到这一点,我所有的耳朵:

'Enable Logging: writes to MyDB.dbo.logging
'---------------------------------------------------------------------------------------------
Set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandType = adCmdText
cmd.ActiveConnection = objConn

strADName = UCase(Request.ServerVariables("AUTH_USER"))

Protocol = Request.ServerVariables("SERVER_PROTOCOL")
Protocol = Left(Protocol,InStr(Request.ServerVariables("SERVER_PROTOCOL"),"/")-1)

if Request.ServerVariables("SERVER_PORT") = "80" then
port = ""
else
port = ":" & Request.ServerVariables("SERVER_PORT")
end if

CurPageURL = lcase(Protocol) & "://" & Request.ServerVariables("SERVER_NAME") &_
          port & Request.ServerVariables("SCRIPT_NAME") & "?" & …
Run Code Online (Sandbox Code Playgroud)

unicode vbscript asp-classic

3
推荐指数
1
解决办法
3663
查看次数

通过Outlook中的VBScript规则调用Slack API

我正在尝试在运行VBScript的Outlook中运行一条规则,该规则调用Slack.com Web服务并使用特定消息更新我的Slack频道之一。当前状态-我只希望它发布静态消息。将来的状态,我将尝试使用RegEx从电子邮件中解析出某些数据并将其发布到我的闲暇频道。

通过弗兰肯斯坦在网上找到的一些脚本,这就是我所拥有的(但效果不佳),希望有人可以提供帮助...

    Function ProcessSend()
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.4.0")
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument")

    strEnvelope = "payload={""channel"": ""#edt-error"", ""text"": ""This is posted to #edt-error.""}"

    Call oXMLHTTP.Open("POST", "https://custom-slack-url-for-service-goes-here.com" & posFirm, False)
    Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    Call oXMLHTTP.Send(strEnvelope)

    Dim szResponse: szResponse = oXMLHTTP.responseText
    Call oXMLDoc.LoadXML(szResponse)

    If (oXMLDoc.parseError.ErrorCode <> 0) Then
        'call msgbox("ERROR")
        response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason
        'call msgbox(oXMLDoc.parseError.reason)
    Else
        response = oXMLDoc.getElementsByTagName("string")(0).ChildNodes(0).Text
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

regex vbscript outlook slack-api

3
推荐指数
1
解决办法
1157
查看次数