标签: vbscript

知道用户是否具有VBScript管理权限的最佳方法

我需要检查执行脚本的用户在计算机上是否具有管理特权。

我指定了执行脚本的用户,因为该脚本可能已由与登录用户不同的用户执行,而类似于“ Runas”。

@哈维尔:两种解决方案都可以在装有英文版Windows的PC上运行,但如果安装的语言不同则不能。这是因为Administrators组不存在,所以名称有所不同,例如西班牙语。我需要解决方案才能在所有配置中工作。

vbscript privileges

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

ASP经典-XML Dom

我有一个经典的ASP网站(VBSCRIPT)上无法完成的任务,需要循环解析以下信息。

<xml>
  <product ref="xxx">
    <xxx/>
    <xxx/>
    <xxx/>
    <images>
      <image ref="JCCCCCC" />
      <image ref="JCCCCCD" />
    </images>
  </product>
  <product ref="xxx">
    <xxx/>
    <xxx/>
    <xxx/>
    <images>
      <image ref="JCCCCCC" />
      <image ref="JCCCCCD" />
    </images>
  </product>
</xml>
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取产品参考,然后获取图像(第四个主节点向下)

我已经对此感到迷恋了一段时间,并且在两年多的时间里没有使用ASP之后一直处于大脑阻塞的状态。

<%
 Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 Set objLst = Server.CreateObject("Microsoft.XMLDOM")
 Set objHdl = Server.CreateObject("Microsoft.XMLDOM")

 objXML.async = False
 objXML.Load (Server.MapPath("\") & "\xmlupdate\product.xml")

 If objXML.parseError.errorCode <> 0 Then
     'handle the error
 End If

 Set objLst = objXML.getElementsByTagName("Product")
 SizeofObject = objLst.length-1
 response.Write(SizeofObject&"<br><br>")

 For i = 0 To (SizeofObject-1)

    Set objHnd = …
Run Code Online (Sandbox Code Playgroud)

xml vbscript asp-classic

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

使用VBScript遍历XML文件中的所有节点

我编写了一个VBScript,它应该遍历XML文件中的所有节点,而不管树的深度如何.除了不显示深度为2级或更高级别的节点的节点名称之外,它的效果很好.我需要节点名称和值,以便我有名称/值对供其他程序进一步处理.任何人都可以帮助我显示丢失的节点名称.

以下是我的代码:

<html>
<head>
</head>
<body>

<script type="text/vbscript">
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("test.xml")
Dim objDocElem, strNode, strSubNode, xmlnn, xmlnv, xmlnc, xmldd, xmlfd, xmlfv

Set n_firstchild = xmldoc.documentElement.firstChild
Set p_node = n_firstchild.parentNode
Set pn_attribs = p_node.attributes
For Each pnAttr in pn_attribs
   xmlfd = xmlfd & pnAttr.name & chr(9)
   xmlfv = xmlfv & pnAttr.value & chr(9)
Next 

Set objDocElem=xmlDoc.documentElement

Set y = objDocElem.childNodes
i=0
Do While i < y.length 
If y(i).nodeType <> 3 Then
  If Isnull(y(i).childNodes(0).nodeValue) Then
     xmlnv = …
Run Code Online (Sandbox Code Playgroud)

xml vbscript msxml xmldom

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

使用VBScript清除剪贴板

如何在Win32上使用VBScript清除剪贴板?

windows vbscript clipboard

5
推荐指数
1
解决办法
6570
查看次数

更改文件夹的所有者和权限

我有下面的脚本,它工作正常,但我如何设置它以保持安全设置并向安全组添加额外的"人"...

...并且可以cacls更改文件夹的"所有者"?

我厌倦/e了编辑而不是替换,但由于某种原因它不喜欢它?

Set WshShell = CreateObject("WScript.Shell")
strFolder    = "D:\test"

setPerms     = "%COMSPEC% /c echo Y| C:\windows\system32\cacls.exe """ & _
                strFolder & """ /G mydomain\myusername:F & pause" 'added pause to see what the outcome is

WshShell.run setPerms
Run Code Online (Sandbox Code Playgroud)

vbscript command-line cacls

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

如何使用vbscript检查服务状态?

无论如何使用vbscript检查服务的状态?我想为每个可能的服务状态提供一个功能: LINK 任何帮助都会很棒.我写了一个函数来检查服务是否停止:

Public Function IsServiceStop(ByVal serviceName)
    On Error Resume Next
    Dim objServices, service
    Set oWmiService = GetObject("winmgmts:\\.\root\cimv2")
    Set objServices = oWmiService.ExecQuery("Select * from Win32_Service where Name='" & serviceName & "'")
    For Each service In objServices
        IsServiceStop = (service.Started = False)
        Exit Function
    Next
    IsServiceStop = True
    On Error Goto 0
End Function
Run Code Online (Sandbox Code Playgroud)

vbscript service wmi status wmi-query

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

将UTF-8字符串转换为ISO-8859-1

我的经典ASP应用程序从它的数据库中检索UTF-8字符串,但我需要将其转换为ISO-8859-1.我无法更改HTML页面编码;

我真的需要只转换获取的字符串.我该怎么做?

string vbscript character-encoding asp-classic

5
推荐指数
1
解决办法
8483
查看次数

5
推荐指数
1
解决办法
330
查看次数

schtasks 参数禁用“用户登录时执行”

我正在尝试在以管理员身份执行的 VBScript 中设置计划任务。正如我所看到的,该脚本设置任务没有问题,但它不会执行,因为它是使用参数创建的run only when user is logged on

代码如下:

Set objShell=Wscript.CreateObject("Wscript.Shell")
command= windir&"\system32\schtasks.exe /create /sc minute /mo "&minutes&" /tn "&APPNAME&" /f /tr ""C:\Windows\System32\wscript.exe '"&getAplicationPath&"\"&wscript.ScriptName&"' cron "
objShell.Run command,0, false
Run Code Online (Sandbox Code Playgroud)

我无法在 msdn.microsoft.com 或 Google 搜索中找到必须设置以禁用该选项的参数。

vbscript windows-task-scheduler

4
推荐指数
1
解决办法
7298
查看次数

多次 Dim 变量是否有害?

这似乎是一个非常基本的问题,但我仍然找不到答案。

在 VBScript 中,使用 Dim 语句多次声明相同的标量变量有什么害处吗?

我正在从事一些相关项目并开发一些我想重用的代码片段。但是,我有点担心使用两次使用相同变量名的代码是否存在问题,如下所示:

Dim i
for i = 1 to Count
    '* doin' somethin' here
next

Dim i
for i = 1 to UnrelatedOtherCount
    '* doin' somethin' different yo
next
Run Code Online (Sandbox Code Playgroud)

它不仅仅是迭代循环变量;我可能在脚本中有多个地方使用了正则表达式。如果我的脚本使用了两段重复使用的代码,并且每一段都使用一个“patternString”变量并首先声明变量:

'* first section of code from the folder
Dim objPersonRegex, patternString
Set objPersonRegex = new RegExp
...

'* a completely different section of code
Dim objBuildingRegex, patternString
Set objBuildingRegex = new RegExp
Run Code Online (Sandbox Code Playgroud)

我的直觉是,这不应该是一个问题,Dim 只是创建一个给定名称的变量(如果它尚不存在),如果存在,则继续,因为它被告知要做的事情已经完成了。但事实真的是这样吗?如果重要的话,这些是在 Windows Script Host 上运行的脚本。

(为了澄清我所担心的事情,我根本担心变量的值被破坏。如果我需要保留变量的值,我会将其保存在另一个变量中,一个 …

vbscript wsh

4
推荐指数
1
解决办法
1776
查看次数