Rcmd.vbs [Remote Cmd with wmi]远程脚本_vbs

复制代码 代码如下:

On Error Resume Next
Set outstreem=Wscript.stdout
If (LCase(Right(Wscript.fullname,11))="Wscript.exe") Then
Set objShell=Wscript.CreateObject("Wscript.shell")
objShell.Run("cmd.exe /k cscript //nologo "&Chr(34)&Wscript.ScriptFullName&Chr(34))
Wscript.Quit
End If
If Wscript.arguments.Count<4 Then
usage()
Wscript.echo "Not enough Parameters."
Wscript.Quit
End If

ip=Wscript.arguments(0)
username=Wscript.arguments(1)
password=Wscript.arguments(2)
CmdStr=Wscript.arguments(3)
EchoStr=Wscript.arguments(4)
foldername="c:\\windows\\temp\\"

wsh.echo "Conneting "&ip&" ...."
Set objlocator=CreateObject("wbemscripting.swbemlocator")
Set objswbemservices=objlocator.connectserver(ip,"root/cimv2",username,password)
showerror(err.number)
Set Win_Process=objswbemservices.Get("Win32_ProcessStartup")
Set Hide_Windows=Win_Process.SpawnInstance_
Hide_Windows.ShowWindow=12
Set Rcmd=objswbemservices.Get("Win32_Process")
Set colFiles = objswbemservices.ExecQuery _
("Select * from CIM_Datafile Where Name = '"&foldername&"read.vbs'")
If colFiles.Count = 0 Then
wsh.echo "Not found read.vbs! Create Now!"
Create_read()
End If

If EchoStr = "0" Then
msg=Rcmd.create("cmd /c "&CmdStr,Null,Hide_Windows,intProcessID)
Else
msg=Rcmd.create("cmd /c cscript %windir%\temp\read.vbs """&CmdStr&"""",Null,Hide_Windows,intProcessID)
End If

If msg = 0 Then
wsh.echo "Command success..."
Else
showerror(Err.Number)
End If

wsh.echo "Please Wait 3 Second ...."
wsh.sleep(3000)
Set StdOut = Wscript.StdOut
Set oReg=objlocator.connectserver(ip,"root/default",username,password).Get("stdregprov")
oReg.GetMultiStringValue &H80000002,"SOFTWARE\Clients","cmd" ,arrValues
wsh.echo String(79,"*")
wsh.echo cmdstr&Chr(13)&Chr(10)
'wsh.echo arrvalues
For Each strValue In arrValues
StdOut.WriteLine strValue
Next
oReg.DeleteValue &H80000002,"SOFTWARE\Clients","cmd"

Sub Create_read()
RunYN =Rcmd.create("cmd /c echo set ws=WScript.CreateObject(^""WScript.Shell^"")> %windir%\temp\read.vbs"_
&"&&echo str=ws.Exec(^""cmd /c ^""^&wscript.arguments(0)).StdOut.ReadAll:set ws=nothing>> %windir%\temp\read.vbs"_
&"&&echo Set oReg=GetObject(^""winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv^"")>> %windir%\temp\read.vbs"_
&"&&echo oReg.SetMultiStringValue ^&H80000002,^""SOFTWARE\Clients^"",^""cmd^"",Array(str) >> %windir%\temp\read.vbs",Null,Hide_Windows,intProcessID)
If RunYN = 0 Then
wsh.echo "read.vbs Created!!!"
Else
showerror(Err.Number)
End If

End Sub

Function showerroronly(errornumber)
If errornumber Then
wsh.echo "Error 0x"&CStr(Hex(Err.Number))&" ."
If Err.Description <> "" Then
wsh.echo "Error Description: "&Err.Description&"."
End If
Wscript.Quit
Else
outstreem.Write "."
End If
End Function

Sub usage()
wsh.echo string(79,"*")
wsh.echo "Rcmd v1.01 by NetPatch"
wsh.echo "Usage:"
wsh.echo "cscript "&wscript.scriptfullname&" targetIP username password Command"
wsh.echo "cscript "&wscript.scriptfullname&" targetIP username password Command 0 //No echo"
wsh.echo string(79,"*")&vbcrlf
end Sub

时间: 2024-12-02 19:27:56

Rcmd.vbs [Remote Cmd with wmi]远程脚本_vbs的相关文章

用vbs实现修改dns的网关脚本_vbs

复制代码 代码如下: Const T_GATEWAY = "1.1.1.1" '网关 Const T_NEWDNS1 = "2.2.2.2" 'DNS1 Const T_NEWDNS2 = "3.3.3.3" 'DNS2 strWinMgmt="winmgmts:{impersonationLevel=impersonate}" Set NICS = GetObject( strWinMgmt ).InstancesOf(&q

用vbs实现本地添加用户的脚本_vbs

Dim WshShell set WshShell = CreateObject("wscript.Shell") WshShell.Run "cmd /k" for i = 1 to 3 WScript.Sleep 500 WshShell.SendKeys "net user admin" & i & " abcd@123 /add" WshShell.SendKeys "{ENTER}"

用vbs实现注册表开关的脚本_vbs

 Dim WSHShell,r,M,v,t,g,i On Error Resume Next Set WSHShell=WScript.CreateObject("WScript.Shell") v="HKCU\Software\Microsoft\Windows\CurrentVersion\ Policies\System\DisableRegistryTools" i="REG_DWORD" t="注册表开关" r=WS

vbs实现压缩文件夹的脚本_vbs

strComputer = "." Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colFolders = objWMIService.ExecQuery _     ("Select * fro

remote script文档(转载自微软)(一)_远程脚本

文档: 远程执行服务器脚本 复杂的 Web 应用程序既调用客户脚本又调用服务器脚本.客户脚本经常用于对应用程序的用户接口进行编程──例如,为了动态改变 Web 页文本,对用户动作,比如双击作出反应,并执行诸如验证这样的面向客户的任务.客户脚本在浏览器中局部执行,这样就向用户提供了一种生动的.反应迅速的接口. 对比来说,服务器脚本是用来对某个应用程序的末段编程的.这经常引起对某个数据库的存取动作,或者执行中间层业务逻辑.服务器脚本也用于创建较大范围的应用程序:也就是可能通过多种不同类型的浏览器(每

remote script文档(转载自微软)(五)_远程脚本

文档: 调用 Remote Scripting 方法同步 在对某个客户页和某个服务器页上的 remote scripting 进行配置后,您就可以从自己的客户脚本调用该服务器页的方法了.缺省的情况是,当用户调用某个服务器方法时,它被同步执行──您的客户脚本直到服务器方法执行完毕并返回结果后才能停止运行.一般说来,当您在自己的客户脚本中需要服务器方法结果时,则需同步调用服务器方法. 注意 您也可以异步调用服务器方法.有关详细信息,请参阅异步调用 Remote Scripting 方法. 当您调用某

remote script文档(转载自微软)(六)_远程脚本

文档: 调用 Remote Scripting 方法异步 Remote scripting 向您提供了异步调用服务器方法的选择 ──当执行服务器方法时,用户的客户脚本继续运行.异步调用 remote scripting 方法使得您可以避免应用程序用户接口速度的减慢,因为您可以在执行服务器脚本的同时继续工作. 注意 如果您的应用程序需要,那么也可以同步调用服务器方法.有关详细信息,请参阅同步调用 Remote Scripting 方法. 异步调用某个 remote script 类似于同步调用.不

不错的remote script文档(转载自微软)(三)_远程脚本

文档: 使 Remote Scripting 在服务器页中有效 除了对客户页进行配置以便于调用远程脚本外,您还必须对自己的服务器页进行配置,以便于对它们进行接收.其做法包括下面这些步骤:  包含 remote scripting 服务器库,并对其进行初始化. 编写客户页能调用的函数或者例程. 将自己的函数和例程显露为方法.  缺省的情况是,客户脚本所调用的某个 ASP 页并不显示在浏览器中──而是简单地在服务器上执行并将结果送到客户端.因此,作为规则,您无需在 ASP 页中包括进任何 HTML 

remote script文档[转载自微软](二)_远程脚本

文档: 使 Remote Scripting 在客户页中有效 在您能使用 remote scripting 来调用服务器脚本之前,必须将 remote scripting 能力添加到用户的客户页中.使用来自于客户脚本的 remote scripting 所需的例程包含在 Rs.htm 文件中.用户必须将该文件包含到自己的客户页中.另外,用户必须调用一个方法来启动 remote scripting applet. 为了使得 remote scripting 有效  创建一个空的 javascrip