iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs
  • 585
分享到

如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs

2023-06-08 10:06:45 585人浏览 独家记忆
摘要

这篇文章给大家分享的是有关如何实现自动写入文件上传到指定服务器SoftwareMeterinGCLS.vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:' FileName: Software

这篇文章给大家分享的是有关如何实现自动写入文件上传到指定服务器SoftwareMeterinGCLS.vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

代码如下:


' FileName: SoftwareMeteringCLS.vbs
' ////////////////////////////////////////////////////////////////////
If (WScript.ScriptName = "SoftwareMeteringCLS.vbs") Then Call demo_SoftwareMeteringCLS()

' ====================================================================
Function getSoftwareList(sHost)
' Callable by *.wsf; will return list (safe array) of installed
' software on the sHost system (sHost is ComputerName or IP address).
'
' The assumption is that sHost is available and has WMI installed.

Set oSoftMeter = new SoftwareMeteringCLS
sProgsAry = oSoftMeter.getList(sHost)
Set oSpftMeter = Nothing
getSoftwareList = sProgsAry
End Function
' ====================== CLASS =======================================
Class SoftwareMeteringCLS
' Author: Branimir Petrovic
' Date: 6 Sept 2002
' Version: 1.0.3
'
' Revision History:
' 30 March 2002 V 1.0.0
'
' 08 April 2002 V 1.0.1
' Added error handling - if the target system is not present,
' or does not have WMI, getList(sHost) will return empty list.
'
' Added global function getSoftwareList(sHost) to be used
' from *.wsf scripts when caller script is jscript (since
' JScript can not instantiate VBS classes directly).
'
' 21 April 2002 V 1.0.2
' Replacing "[" with "(" and "]" with ")" in "DisplayName"
' Some strings like: [See Q311401 for more infORMation]
' can cause troubles, therefore replacement.
'
' 6 Sept 2002 V 1.0.3
' Win2K's SP3 for windows 2000 introduced slight (but silent)
' 'improvement' in a way reGIStry provder's EnumValues method
' deals with empty keys. EnumValues method called against
' keys without any values (except the Default, empty value)
' will now return Null value (previously array of size 0 was
' returned). Added (previously unneeded) type checking...
'
'
' Dependancies:
' WSH 5.6
'
' Methods:
' - getClassName()
' - getVersion()
' - getList(sHost) sHost parameter can be computer name or IP address
' Enumerates all subkeys in:
' "Software\Microsoft\Windows\CurrentVersion\Uninstall"
' Returns array of strings, each string item containing:
' "DisplayNameKeyValue[ --Version: DisplayVersionKeyValue]"
'
' If sHost parameter is empty string or non-string value,
' function returns list of installed software on this host.
' Otherwise it will connect to host pointed to by sHost string
' (provided sufficient level of permissions)
'
' - getHostString() Returns name of the system or IP address


' --- Private data members
Private HKLM ' Points to HKEY_LOCAL_MacHINE Hive
Private UNINSTALL_ROOT ' Software\Microsoft\Windows\CurrentVersion\Uninstall
Private SUPRESS_HOTFIX_ENTRIES ' By default is TRUE (set in Class_Initialize)
' (supressess listing of installed hotfixes)
Private CLASS_NAME
Private VERSION
Private REG_SZ
Private oReg
Private sComputerName


' --- Public
Public Function getClassName()
getClassName = CLASS_NAME
End Function

Public Function getVersion()
getVersion = VERSION
End Function

Public Function getList(sHost)
If TypeName(sHost)="String" AND sHost<>"" Then
sComputerName = sHost
Else
sComputerName = WScript.CreateObject("WScript.network").ComputerName
End If

On Error Resume Next
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}//" &_
sComputerName & "/root/default:StdRegProv")
If Err.Number<>0 Then
' Computer is not accessable or does not have WMI, return empty array
getList = Array()
Else
' Computer is on the network and does have working WMI,
' return the list (safe array) of installed software
getList = listInstalledProgs(oReg)
End If
On Error GoTo 0
End Function

Public Function getHostString()
getHostString = sComputerName
End Function


' --- Private helper routines
Private Sub Class_Initialize
' Initialize various values used by this class
HKLM = &H80000002 ' Hive: HKEY_LOCAL_MACHINE
UNINSTALL_ROOT = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
REG_SZ = 1
SUPRESS_HOTFIX_ENTRIES = true
CLASS_NAME = "SoftwareMeteringCLS"
VERSION = "1.0.3"
End Sub

Private Function listInstalledProgs(oReg)
' returns array of strings DisplayName & " " & DisplayVersion
Dim oRegX, nCnt, sSubKeysAry, sProgName
Dim sProgsAry(): ReDim sProgsAry(1)
sSubKeysAry = geTKEys(oReg, HKLM, UNINSTALL_ROOT)

If SUPRESS_HOTFIX_ENTRIES Then
' Supress looking into all hot fix related sub keys (like Q252795, etc...)
Set oRegX = new RegExp
oRegX.Pattern = "^Q\d+$" ' will detect patterns like: Q252795
oRegX.IgnoreCase = true

For nCnt = 0 To UBound(sSubKeysAry)
If NOT oRegX.Test(sSubKeysAry(nCnt)) Then
sProgName = getProgNameAndVersion(oReg, HKLM, _
UNINSTALL_ROOT & "\" & sSubKeysAry(nCnt))

If NOT (IsEmpty(sProgName) OR sProgName="") Then
If NOT IsEmpty(sProgsAry(UBound(sProgsAry) - 1)) Then
ReDim Preserve sProgsAry(UBound(sProgsAry)+1)
End If
sProgsAry(UBound(sProgsAry)-1) = sProgName
End If
End If
Next
Else
' List all sub keys including hotfix related ones (like Q252795, etc...)
For nCnt = 0 To UBound(sSubKeysAry)
sProgName = getProgNameAndVersion(oReg, HKLM, _
UNINSTALL_ROOT & "\" & sSubKeysAry(nCnt))

If NOT (IsEmpty(sProgName) OR sProgName="") Then
If NOT IsEmpty(sProgsAry(UBound(sProgsAry) - 1)) Then
ReDim Preserve sProgsAry(UBound(sProgsAry)+1)
End If
sProgsAry(UBound(sProgsAry)-1) = sProgName
End If
Next
End If

listInstalledProgs = sProgsAry
End Function

Private Function getKeys(oReg, HIVE, sKeyRoot)
' Returns array of strings of subkey names
Dim vKeysAry
Call oReg.EnumKey(HIVE, sKeyRoot, vKeysAry)
getKeys = vKeysAry ' >>>
End Function

Private Function getProgNameAndVersion(oReg, HIVE, sKeyRoot)
' If both values "DisplayName" and "DisplayVersion" exist in sKeyRoot, return:
' "DisplayNameKeyValue --Version: DisplayVersionKeyValue"
'
' If only "DisplayName" exists, return:
' "DisplayNameKeyValue"
'
' Otherwise EMPTY is returned

Dim sKeyValuesAry, iKeyTypesAry, nCnt, sValue, sDisplayName, sDisplayVersion
oReg.EnumValues HIVE, sKeyRoot, sKeyValuesAry, iKeyTypesAry 'fill the arrays

' 6 Sept 2002
' SP3 for Win2K altered behavior of registry provider's EnumValues method!
' EnumValues method after SP3 does not return empty array any more for all
' those registry keys that have only empty Default value.
' Therefore sKeyValuesAry must be tested to see if it is an array or not.
If NOT IsArray(sKeyValuesAry) Then
Exit Function ' ' >>>
End If

For nCnt = 0 To UBound(sKeyValuesAry)
If InStr(1, sKeyValuesAry(nCnt), "DisplayName", vbTextCompare) Then
If iKeyTypesAry(nCnt) = REG_SZ Then
oReg.GetStringValue HIVE, sKeyRoot, sKeyValuesAry(nCnt), sValue
If sValue<>"" Then
sDisplayName = sValue
sDisplayName = Replace(sDisplayName, "[", "(")
sDisplayName = Replace(sDisplayName, "]", ")")
End If
End If
ElseIf InStr(1, sKeyValuesAry(nCnt), "DisplayVersion", vbTextCompare) Then
If iKeyTypesAry(nCnt) = REG_SZ Then
oReg.GetStringValue HIVE, sKeyRoot, sKeyValuesAry(nCnt), sValue
If sValue<>"" Then sDisplayVersion = sValue
End If
End If

If (sDisplayName<>"") AND (sDisplayVersion<>"") Then
getProgNameAndVersion = sDisplayName & " --Version: " & sDisplayVersion
Exit Function ' >>>
End If
Next

If sDisplayName<>"" Then
getProgNameAndVersion = sDisplayName
Exit Function ' >>>
End If
End Function

End Class
' ====================== END OF CLASS ================================

Function demo_SoftwareMeteringCLS()
Dim oSoftMeter, sProgsAry, sComputer

'sComputer = "W-BRANIMIR-666"
'sComputer = "W-Branimir-079"
sComputer = "" ' query local host

sProgsAry = getSoftwareList(sComputer)
Call WScript.Echo(Join(sProgsAry, vbCrLf))
End Function

感谢各位的阅读!关于“如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs

本文链接: https://www.lsjlt.com/news/253725.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs
    这篇文章给大家分享的是有关如何实现自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:' FileName: Software...
    99+
    2023-06-08
  • java如何上传文件到指定服务器
    在 Java 中可以使用 Apache HttpClient 或者 HttpURLConnection 来实现文件上传到指定服务器,...
    99+
    2024-04-09
    java 服务器
  • java实现文件上传到服务器
    本文实例为大家分享了java实现文件上传到服务器的具体代码,供大家参考,具体内容如下 1、运行jar包,发送post请求 public static void main(String...
    99+
    2024-04-02
  • Node.js如何实现上传本地文件到服务器
    这篇文章将为大家详细讲解有关Node.js如何实现上传本地文件到服务器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。现在存在的问题每次打包完, 都要打开 FileZill...
    99+
    2024-04-02
  • Python实现自动上传文件到百度网盘
    目录1.准备2.授权bypy访问百度网盘3.开始使用bypy4.文件上传功能5.文件同步功能要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,...
    99+
    2023-05-17
    Python上传文件到百度网盘 Python上传文件到网盘 Python上传文件
  • Java实现文件上传到ftp服务器
    一、ftp简介 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和...
    99+
    2023-09-02
    服务器 java 网络
  • C#把文件上传到服务器中的指定地址
    一、建立连接 public string connectFTP(string vPath, string vUID, string vPassword) ...
    99+
    2024-04-02
  • vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
    文章目录 ⭐前言💖 技术栈选择 ⭐前端页面搭建💖 调整请求content-type传递formData ⭐后端接口实现💖 swagg...
    99+
    2023-10-23
    fastapi 服务器 运维 原力计划
  • 如何上传文件到Linux云服务器
    要将文件上传到Linux云服务器,您可以使用以下几种方法:1. 使用SSH命令行上传:使用scp命令可以通过SSH连接将文件从本地计...
    99+
    2023-08-22
    Linux云服务器 云服务器
  • git如何上传文件到gitlab服务器
    在进行git操作时,上传文件是一个很常见的需求。GitLab是一个非常常用的代码托管平台,本文将介绍如何将文件上传到GitLab。创建一个GitLab仓库首先,你需要在GitLab上创建一个仓库。登录GitLab,进入你的账号,点击右上角的...
    99+
    2023-10-22
  • 如何把文件上传到云服务器
    选择云服务提供商:选择一个可用的云服务提供商是非常重要的。这取决于您的文件类型和上传文件的大小。有些云服务提供商提供可扩展性,可以帮助您扩展到其他数据存储,例如外部硬盘驱动器或网络存储。 安装云服务器:一旦您选择了云服务提供商,您需要下载...
    99+
    2023-10-27
    文件上传 服务器
  • 怎么用BAT脚本实现自动上传文件到ftp服务器的功能
    这篇文章主要讲解了“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”吧!代码如下:@E...
    99+
    2023-06-08
  • 如何上传文件到腾讯云服务器上
    1. 登录腾讯云控制台 首先,打开浏览器并访问腾讯云官方网站。在网站上方的导航栏中,找到并点击"控制台"按钮。输入您的账号和密码,然后点击"登录"按钮。 2. 进入云服务器控制台 登录成功后,您将被重定向到腾讯云控制台的首页。在控制台首页...
    99+
    2023-10-28
    腾讯 上传文件 器上
  • C#怎么把文件上传到服务器中的指定地址
    这篇文章主要介绍了C#怎么把文件上传到服务器中的指定地址的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么把文件上传到服务器中的指定地址文章都会有所收获,下面我们一起来看看吧。一、建立连接 &nb...
    99+
    2023-06-30
  • 如何将文件上传到linux云服务器
    上传文件到linux云服务器的方法:下载并安装开源软件FileZilla。安装成功后,打开软件,在界面对应的输入框填上云服务器外网IP、FTP用户账号、FTP用户账号的密码、FTP监听的端口号,再点击“快速连接”。连接成功后,可以用鼠标选中...
    99+
    2024-04-02
  • 阿里云:如何上传文件到服务器
    简介 阿里云是中国领先的云计算服务提供商之一,提供了丰富的云产品和服务,其中包括云服务器(ECS)等。在使用阿里云的云服务器时,我们需要将文件上传到服务器上,以便进行后续的操作和管理。本文将介绍如何在阿里云上上传文件到服务器。步骤一:登录阿...
    99+
    2024-01-30
    阿里 上传文件 服务器
  • 如何把文件上传到香港服务器
    使用计算机远程连接功能把文件映射到服务器首先,在windows系统上打开“远程连接桌面”;进入“远程连接桌面”>“本地连接”>“详细信息”;在详细信息选项中,选择需要上传文件所在的磁盘,勾选;最后,点击连接,输入香港服务器代理商提高的用户名...
    99+
    2024-04-02
  • Selenium浏览器自动化如何上传文件
    目录1. input 元素上传文件2. input 元素隐藏3. 文件选择对话框4. 使用 pywinauto 上传文件5. pyautogui键盘6. 并发问题Selenium 封...
    99+
    2024-04-02
  • 如何用Scala将指定格式的数据写入到文件
    本篇内容主要讲解“如何用Scala将指定格式的数据写入到文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Scala将指定格式的数据写入到文件”吧!新建FileOps对象:package ...
    99+
    2023-06-02
  • JavaKindEditor粘贴图片自动上传到服务器功能实现
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umedit...
    99+
    2023-05-15
    KindEditor粘贴自动上传服务器 KindEditor粘贴自动上传
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作